Windows Azure – Create & Attach DataDisk an VM via PowerShell
Hallo @all,
heute folgt das nächste Skript. Ich habe einen SQL Server 2012 im Einsatz und ich möchte automatisch Festplattenplatz vergrößern. Daher erstelle ich eine neue DataDisk und hänge diese an die virtuelle Maschine. Das Schöne ist, die VM muss nicht heruntergefahren werden.
Eine virtuelle Machine kann in Azure IaaS je nach VM Size eine Anzahl an LUNs verwenden. Bei VMSize: Medium sind es 4 LUNs. Die LUN-Größe kann zw. 1 GB bis 1 TB betragen.
- LUN 0 Data Disk
- LUN 1 Data Disk
- LUN 2 Data Disk
- LUN 3 Data Disk
Für die folgenden Schritt verwende ich die Windows Azure PowerShell CmdLets.
Was ist jetzt der IST-Zustand?
$vm = Get-azureVM -Name "phsql01" -ServiceName "phdc01"
Get-AzureDataDisk -VM $vm
Die VM hat LUN 0 und LUN 1 im Einsatz
Ich möchte nun automatisiert 2 Data Disks erstellen und an die VM anhängen. Hierfür habe ich ein Skript erstellt das die Disk automatisiert erstellt und änhängt:
# add Data Disk to VM
#=======================
$serviceName = $args[0]
$serviceName = "phdc01"
$vmName = $args[1]
$vmName = "phsql01"
# import Azure cmdlets
import-module Azure
$vm = Get-AzureVM -Name $vmName -ServiceName $serviceName
# get Disk Location from VM
$MediaLocation = Get-AzureDataDisk -VM $vm -Lun 0 | Select MediaLink
$MediaLocation = $MediaLocation.MediaLink.OriginalString
$MediaLocation = $MediaLocation.substring(0,$MediaLocation.LastIndexOf("/")+1)
foreach ($i in 2..3)
{
$filename = $MediaLocation + $serviceName +"-"+
$vmName +"-"+ "DataDiskAtLun" + "-"+ $i +".vhd"
$diskLabel = "DiskAtLun"+$i
Get-AzureVM -ServiceName $serviceName -Name $vmName |
Add-AzureDataDisk -CreateNew -DiskSizeInGB 10 -DiskLabel $diskLabel -LUN $i
-MediaLocation $filename | Update-AzureVM
}
Wichtig ist hierbei, nachdem man die AzureVM ändert muss danach immer ein Update-AzureVM ausgeführt werden um den Deploymentprozess zu starten. Solange Update-AzureVM nicht ausgeführt wird bleibt die VM im alten Zustand.
Check mittels PowerShell:
$vm = Get-azureVM -Name "phsql01" -ServiceName "phdc01"
Get-AzureDataDisk -VM $vm
Zu guter letzt noch ein Blick in den Disk Manager von der VM: 2 neue Festplatten mit je 10 GB stehen zur Verfügung.
Liebe Grüße
Patrick
Comments
- Anonymous
June 02, 2016
Heute Nacht bin ich dann auch hier wieder angelangt. ;-)es grüßt der Andreas