如需为代理提供更多磁盘空间,托管 DevOps 池支持将空数据磁盘附加到托管 DevOps 池中的代理。 通过附加数据磁盘可以获取更多的存储空间,这样就无需将 VM 大小移至具有更多内置存储的 VM 大小,此类大小通常价格更高,会潜在地提高成本支出。
附加空数据磁盘
在“存储”选项卡上创建池时配置存储设置。默认设置不是空数据磁盘。
如果要为现有池配置其他存储,请转到 Azure 门户中的池,如以下步骤中所述。
- 登录到 Azure 门户。
- 搜索托管 DevOps 池,并从可用选项中选择它。
- 从列表中选择托管 DevOps 池。
- 转到设置>存储,为池配置空数据磁盘设置。
为磁盘配置以下属性,然后选择“应用”(或者,在要创建池时选择“下一步”),以保存更改。 可以为托管 DevOps 池添加单个空数据磁盘配置,并且所有代理实例都将附加一个与指定的配置匹配的空数据磁盘。
选择“删除”以删除现有池的数据磁盘配置。
在属性部分的 ARM 模板中dataDisksstorageProfile配置了其他磁盘存储。 在以下示例中,配置了 10 GB Standard_LRS 的磁盘,其中包含驱动器号 Q ,并且没有缓存。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-01-21",
"location": "eastus",
"properties": {
...
"fabricProfile": {
...
"storageProfile": {
"osDiskStorageAccountType": "Standard",
"dataDisks": [
{
"diskSizeGiB": 10,
"caching": "None",
"storageType": "Standard_LRS",
"driveLetter": "Q"
}
]
}
}
}
}
]
}
若要删除现有池的数据磁盘配置,请为 dataDisks 指定空列表:"dataDisks": []。
已使用 dataDisks 参数 storageProfile 部分中的 fabric-profile 属性配置其他磁盘存储。
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
在以下示例中,配置了 10 GB Standard_LRS 磁盘,其中驱动器号为 Q,并且没有缓存。
以下示例显示了 storageProfile 文件的 节。
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {...},
"storageProfile": {
"osDiskStorageAccountType": "Standard",
"dataDisks": [
{
"diskSizeGiB": 10,
"caching": "None",
"storageType": "Standard_LRS",
"driveLetter": "Q"
}
]
}
}
}
若要删除现有池的数据磁盘配置,请为 dataDisks 指定空列表:"dataDisks": []。
在属性 dataDisks 部分的 Bicep 模板中 storageProfile配置了其他磁盘存储。 在以下示例中,配置了 10 GB Standard_LRS 的磁盘,其中包含驱动器号 Q ,并且没有缓存。
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-01-21' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
fabricProfile: {
...
storageProfile: {
osDiskStorageAccountType: 'Standard'
dataDisks: [
{
diskSizeGiB: 10
caching: 'None'
storageAccountType:'Standard_LRS'
driveLetter: 'Q'
}
]
}
}
}
}
若要删除现有池的数据磁盘配置,请为 dataDisks 指定空列表:dataDisks: []。
为附加的数据磁盘配置以下属性。
| 属性 |
说明 |
| 大小 (GiB) |
指定数据磁盘的大小。 最大大小取决于存储类型。 有关详细信息,请参阅磁盘类型比较。 |
| 缓存类型 |
指定磁盘的缓存类型。 选择:Default、None、ReadOnly 或 ReadWrite。 支持缓存的数据磁盘的默认值为 ReadOnly。 有关详细信息,请参阅虚拟机和磁盘性能。 |
| 存储类型 |
从以下存储类型中进行选择:Standard_LRS(默认值)、Premium_LRS、StandardSSD_LRS、Premium_ZRS、StandardSSD_ZRS。 有关这些类型的详细信息,请参阅 SKU 类型和 Azure 托管磁盘类型。 |
| 驱动器号 |
如果池中有任何 Windows 代理映像,请选择磁盘的驱动器号。 如果未指定驱动器号,则 F 用于具有临时磁盘的 VM 大小;否则,使用 E。 驱动器号必须是单个字母, 但 A、 C、 D 或 E 除外。如果使用的是没有临时磁盘的 VM 大小,并且希望 E 作为驱动器号,请将 驱动器号 留空以获取 E 的默认值。如果使用 ARM 模板或 Azure CLI 脚本配置存储,则如果不希望使用驱动器号,请省略驱动器号参数。 |
使用代理工作目录的数据磁盘
若要将代理配置为使用数据磁盘上的工作目录,请在 WorkFolder 需求中指定数据磁盘中的文件夹。
在以下示例中,Windows 代理上的代理工作目录配置为使用已分配有驱动器号 F 的附加数据磁盘上的文件夹。
pool:
name: fabrikam-managed-pool # Name of Managed DevOps Pool
demands:
- WorkFolder -equals f:\custom-work-folder # Windows agent example
对于 Linux 代理,数据磁盘作为 /mnt/storage/sdc 装载。 以下示例将代理工作目录配置为数据磁盘上名为 custom-work-folder 的文件夹。
pool:
name: fabrikam-managed-pool # Name of Managed DevOps Pool
demands:
- WorkFolder -equals /mnt/storage/sdc/custom-work-folder
有关如何配置代理工作目录的详细信息,请参阅需求 - WorkFolder。
另请参阅