默认情况下,Azure Service Fabric 节点类型使用基础虚拟机规模集中每个虚拟机(VM)上的临时磁盘进行数据存储。 但是,由于临时磁盘不持久,临时磁盘的大小绑定到给定的 VM SKU,因此在某些情况下,这可能过于严格。
本文提供了有关如何使用 Service Fabric 的本机支持配置和使用托管数据磁盘作为默认数据路径的步骤。 Service Fabric 会在创建节点类型时自动配置托管数据磁盘,并处理 VM 或虚拟机规模集重新映像的情况。
先决条件
- 托管数据磁盘所需的最小磁盘大小为 50 GB。
- 数据磁盘驱动器号应设置为按字典顺序大于虚拟机规模集 SKU 中当前存在的所有驱动器。
- 每个 VM 仅支持一个托管数据磁盘。 对于涉及 1 个以上的数据磁盘的方案,用户需要自行管理数据磁盘。
将虚拟机规模集配置为在 Service Fabric 中使用托管数据磁盘
若要在节点类型上使用托管数据磁盘,请使用以下内容配置基础虚拟机规模集资源:
- 在虚拟机规模集模板的数据磁盘部分添加托管磁盘。
- 使用以下设置更新虚拟机规模集的 Service Fabric 扩展:
- 对于 Windows:useManagedDataDisk:true 和 dataPath:“K:\\SvcFab”。 请注意,驱动器 K 只是表示形式。 您可以使用比虚拟机规模集 SKU 中所有现有驱动器号按字典顺序更大的驱动器号。
- 对于 Linux:不支持。
下面是 Service Fabric 扩展的 Azure 资源管理器模板:
{
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [
{
"name": "[concat(parameters('vmNodeType1Name'),'_ServiceFabricNode')]",
"properties": {
"type": "ServiceFabricNode",
"autoUpgradeMinorVersion": false,
"publisher": "Microsoft.Azure.ServiceFabric",
"settings": {
"clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
"nodeTypeRef": "[parameters('vmNodeType1Name')]",
"dataPath": "K:\\\\SvcFab",
"useManagedDataDisk": true,
"durabilityLevel": "Bronze",
"certificate": {
"thumbprint": "[parameters('certificateThumbprint')]",
"x509StoreName": "[parameters('certificateStoreValue')]"
},
"systemLogUploadSettings": {
"Enabled": true
},
},
"typeHandlerVersion": "1.1"
}
},
]
},
"storageProfile":
{
"datadisks": [
{
"lun": "1",
"createOption": "empty",
"diskSizeGB": "100",
"managedDisk": { "storageAccountType": "Standard_LRS" }
}
]
}
}
}
迁移到使用托管数据磁盘以支持 Service Fabric 节点类型
对于所有迁移方案,需要添加具有托管数据磁盘的新节点类型。 无法将现有节点类型转换为使用托管数据磁盘。
- 添加配置为使用前面指定的托管数据磁盘的新节点类型。
- 将任何必需的工作负载迁移到新的节点类型。
- 禁用并删除群集中的旧节点类型。