默认情况下,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:useManagedDataDisk:true 和 dataPath: '/mnt/sfroot'。
下面是 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 节点类型
对于所有迁移方案,需要添加具有托管数据磁盘的新节点类型。 无法将现有节点类型转换为使用托管数据磁盘。
- 添加配置为使用前面指定的托管数据磁盘的新节点类型。
- 将任何所需工作负荷迁移到新节点类型。
- 在群集中禁用并删除旧节点类型。