Set di scalabilità di macchine virtuali di Azure e dischi di dati collegati

I set di scalabilità di macchine virtuali di Azure supportano ora macchine virtuali con dischi di dati collegati. I dischi di dati possono essere definiti nel profilo di archiviazione per i set di scalabilità creati con Azure Managed Disks. In precedenza, le uniche opzioni di archivi collegati direttamente disponibili con le macchine virtuali nei set di scalabilità erano le unità del sistema operativo e le unità temporanee.

Nota

Quando si crea un set di scalabilità con dischi di dati collegati definiti dall'utente, per usare i dischi è comunque necessario montarli e formattarli all'interno di una macchina virtuale, come per le macchine virtuali di Azure autonome. Un modo pratico per eseguire questa operazione consiste nell'usare un'estensione di script personalizzata che chiama uno script standard per creare partizioni e formattare tutti i dischi di dati in una macchina virtuale.

Creare un set di scalabilità con dischi di dati collegati

Un modo semplice per creare un set di scalabilità con dischi collegati consiste nell'usare il comando vmss create dell'interfaccia della riga di comando di Azure. L'esempio seguente crea un gruppo di risorse di Azure e un set di scalabilità di 10 macchine virtuali Ubuntu, ognuna con 2 dischi di dati collegati rispettivamente da 50 GB e 100 GB.

az group create -l southcentralus -n dsktest
az vmss create -g dsktest -n dskvmss --image ubuntults --instance-count 10 --data-disk-sizes-gb 50 100

Si noti che il comando vmss create imposta alcuni valori di configurazione predefiniti se non vengono specificati dall'utente. Per visualizzare le opzioni che possono essere sostituite provare:

az vmss create --help

Un altro modo per creare un set di scalabilità con dischi di dati collegati è definire un set di scalabilità in un modello di Azure Resource Manager, includere una sezione dataDisks in storageProfile e distribuire il modello. L'esempio precedente con dischi da 50 GB e 100 GB sarà definito nel modo seguente nel modello:

"dataDisks": [
    {
    "lun": 1,
    "createOption": "Empty",
    "caching": "ReadOnly",
    "diskSizeGB": 50
    },
    {
    "lun": 2,
    "createOption": "Empty",
    "caching": "ReadOnly",
    "diskSizeGB": 100
    }
]

Un esempio completo e pronto per la distribuzione di un modello di set di scalabilità con un disco collegato è disponibile qui: https://github.com/chagarw/MDPP/tree/master/101-vmss-os-data.

Aggiungere un disco dati a un set di scalabilità esistente

Nota

È possibile collegare i dischi dati solo a un set di scalabilità creato con Azure Managed Disks.

È possibile aggiungere un disco dati a un set di scalabilità di macchine virtuali usando il comando az vmss disk attach dell'interfaccia della riga di comando di Azure. Specificare un lun che non sia già in uso. L'esempio di interfaccia della riga di comando seguente aggiunge un'unità da 50 GB a lun 3:

az vmss disk attach -g dsktest -n dskvmss --size-gb 50 --lun 3

L'esempio di PowerShell seguente aggiunge un'unità da 50 GB a lun 3:

$vmss = Get-AzureRmVmss -ResourceGroupName myvmssrg -VMScaleSetName myvmss
$vmss = Add-AzureRmVmssDataDisk -VirtualMachineScaleSet $vmss -Lun 3 -Caching 'ReadWrite' -CreateOption Empty -DiskSizeGB 50 -StorageAccountType StandardLRS
Update-AzureRmVmss -ResourceGroupName myvmssrg -Name myvmss -VirtualMachineScaleSet $vmss
Nota

Le diverse dimensioni delle macchine virtuali hanno limiti differenti per quanto riguarda il numero di unità collegate supportate. Verificare le dimensioni delle macchine virtuali prima di aggiungere un nuovo disco.

È anche possibile aggiungere un disco aggiungendo una nuova voce alla proprietà dataDisks dell'elemento storageProfile della definizione di un set di scalabilità e applicando la modifica. Per testare questa configurazione, trovare una definizione di set di scalabilità esistente in Esplora risorse di Azure. Selezionare Modifica e aggiungere un nuovo disco all'elenco dei dischi di dati. Ad esempio usando l'esempio precedente:

"dataDisks": [
    {
    "lun": 1,
    "createOption": "Empty",
    "caching": "ReadOnly",
    "diskSizeGB": 50
    },
    {
    "lun": 2,
    "createOption": "Empty",
    "caching": "ReadOnly",
    "diskSizeGB": 100
    },
    {
    "lun": 3,
    "createOption": "Empty",
    "caching": "ReadOnly",
    "diskSizeGB": 20
    }          
]

Selezionare quindi PUT per applicare le modifiche al set di scalabilità. Questo esempio funziona se si usano macchine virtuali con dimensioni che supportano più di due dischi di dati collegati.

Nota

Quando si apporta una modifica a una definizione di set di scalabilità, ad esempio l'aggiunta o la rimozione di un disco di dati, la modifica si applica a tutte le nuove macchine virtuali, mentre si applica a quelle esistenti solo se la proprietà upgradePolicy è impostata su "Automatic". Se è impostata su "Manual", è necessario applicare manualmente il nuovo modello alle macchine virtuali esistenti. È possibile eseguire questa operazione nel portale, usando il comando AzureRmVmssInstance di PowerShell o il comando az vmss update-instances dell'interfaccia della riga di comando.

Rimuovere un disco dati da un set di scalabilità

È possibile rimuovere un disco dati da un set di scalabilità di macchine virtuali usando il comando az vmss disk detach dell'interfaccia della riga di comando di Azure. Ad esempio il comando seguente rimuove il disco definito in lun 2:

az vmss disk detach -g dsktest -n dskvmss --lun 2

Allo stesso modo è anche possibile rimuovere un disco da un set di scalabilità rimuovendo una voce dalla proprietà dataDisks dell'elemento storageProfile e applicando la modifica.

Note aggiuntive

Il supporto per Azure Managed Disks e i set di scalabilità con dischi di dati collegati è disponibile nella versione 2016-04-30-preview o successiva dell'API Microsoft.Compute.

Nell'implementazione iniziale del supporto di dischi collegati per set di scalabilità, non è possibile collegare o scollegare dischi di dati a/da singole macchine virtuali in un set di scalabilità.

Il supporto del portale di Azure per i dischi di dati collegati nei set di scalabilità è inizialmente limitato. A seconda dei requisiti è possibile usare modelli di Azure, interfaccia della riga di comando, PowerShell, SDK e API REST per gestire i dischi collegati.