Azure 虚拟机规模集和附加数据磁盘
为了扩展可用存储,Azure 虚拟机规模集支持包含附加数据磁盘的 VM 实例。 可以在创建规模集时附加数据磁盘,也可以将数据磁盘附加到现有规模集。
在规模集中创建和管理磁盘
有关如何创建包含附加数据磁盘的规模集、准备和格式化或添加和删除数据磁盘的详细信息,请参阅以下教程之一:
本文的余下内容概述具体的用例,例如,需要数据磁盘的 Service Fabric 群集,或者将包含内容的现有数据磁盘附加到规模集。
使用附加的数据磁盘创建 Service Fabric 群集
在 Azure 中运行的 Service Fabric 群集中的每个节点类型都受虚拟机规模集的支持。 可以使用 Azure 资源管理器模板将数据磁盘附加到组成 Service Fabric 群集的规模集。 可以使用现有模板作为起点。 在模板中包括 Microsoft.Compute/virtualMachineScaleSets 资源的 storageProfile 中的 dataDisks 节,然后部署模板。 以下示例附加一个 128 GB 的数据磁盘:
"dataDisks": [
{
"diskSizeGB": 128,
"lun": 0,
"createOption": "Empty"
}
]
可以在部署群集时自动对数据磁盘执行分区、格式化和装载操作。 向规模集的 virtualMachineProfile 的 extensionProfile 添加自定义脚本扩展。
若要自动准备 Windows 群集中的数据磁盘,请添加以下代码:
{
"name": "customScript",
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.8",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.ps1"
],
"commandToExecute": "powershell -ExecutionPolicy Unrestricted -File prepare_vm_disks.ps1"
}
}
}
若要自动准备 Linux 群集中的数据磁盘,请添加以下代码:
{
"name": "lapextension",
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.0",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.sh"
],
"commandToExecute": "bash prepare_vm_disks.sh"
}
}
}
将预先填充的数据磁盘添加到现有规模集
规模集模型中指定的数据磁盘始终为空。 但是,可以将现有数据磁盘附加到规模集中的特定 VM。 如果想要在规模集中的所有 VM 上传播数据,可以复制数据磁盘并将其附加到规模集中的每个 VM 上,或者创建包含数据的自定义映像,并通过此自定义映像预配规模集,或者也可以使用 Azure 文件或类似的数据存储产品/服务。
附加说明
Microsoft.Compute API 2016-04-30-preview 或更高版本中提供了对 Azure 托管磁盘和规模集附加数据磁盘的支持。
Azure 门户对规模集中附加数据磁盘的支持是受限的。 可以根据需要使用 Azure 模板、CLI、PowerShell、SDK 和 REST API 管理附加磁盘。