Öğretici: Azure PowerShell ile diskleri yönetme
Azure sanal makineleri (VM'ler), işletim sistemlerini (işletim sistemi), uygulamaları ve verileri depolamak için diskleri kullanır. Vm oluşturduğunuzda, beklenen iş yükü için uygun bir disk boyutu ve yapılandırması seçmeniz önemlidir.
Bu öğretici, VM disklerinin dağıtımını ve yönetimini kapsar. Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Veri diski oluşturma, ekleme ve başlatma
- Diskin durumunu doğrulama
- Disk başlatma
- Diski genişletme ve yükseltme
- Diski ayırma ve silme
Önkoşullar
Etkin aboneliği olan bir Azure hesabınız olmalıdır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure Cloud Shell
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell'i başlatmak için:
Seçenek | Örnek/Bağlantı |
---|---|
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. | |
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. | |
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. |
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.
Kodu veya komutu çalıştırmak için Enter'ı seçin.
VM oluşturma
Bu öğreticideki alıştırmalar bir VM gerektirir. Oluşturmak için bu bölümdeki adımları izleyin.
Başlamadan önce, örnek kodun $azRegion
ilk satırında bulunan değişkeni bulun ve değeri istediğiniz bölgeyi yansıtacak şekilde güncelleştirin. Örneğin, Orta ABD bölgesini belirtmek için kullanın$azRegion = "Central US"
. Ardından, yeni bir kaynak grubu içinde vm dağıtmak için kodu kullanın. VM'nin yerel yönetici hesabı için kullanıcı adı ve parola değerleri istenir.
$azRegion = "[Your Region]"
$azResourceGroup = "myDemoResourceGroup"
$azVMName = "myDemoVM"
$azDataDiskName = "myDemoDataDisk"
New-AzVm `
-Location $azRegion `
-ResourceGroupName $azResourceGroup `
-Name $azVMName `
-Size "Standard_D2s_v3" `
-VirtualNetworkName "myDemoVnet" `
-SubnetName "myDemoSubnet" `
-SecurityGroupName "myDemoNetworkSecurityGroup" `
-PublicIpAddressName "myDemoPublicIpAddress"
Çıkış, VM'nin başarılı bir şekilde oluşturulduğuna onay verir.
ResourceGroupName : myDemoResourceGroup
Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoTestVM
VmId : [{GUID}]
Name : myDemoVM
Type : Microsoft.Compute/virtualMachines
Location : centralus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : mydemovm-abc123.Central US.cloudapp.azure.com
VM sağlanır ve iki disk otomatik olarak oluşturulur ve eklenir.
- Sanal makinenin işletim sistemini barındıran bir işletim sistemi diski.
- Öncelikli olarak geçici veri işleme gibi işlemler için kullanılan geçici disk.
Veri diski ekleme
Mümkün olduğunda uygulama ve kullanıcı verilerini işletim sistemiyle ilgili verilerden ayırmanızı öneririz. Vm'nizde kullanıcı veya uygulama verilerini depolamanız gerekiyorsa genellikle ek veri diskleri oluşturup eklersiniz.
VM'de veri diski oluşturmak, eklemek ve başlatmak için bu bölümdeki adımları izleyin.
Veri diskini oluşturma
Bu bölüm, veri diski oluşturma işleminde size yol gösterir.
Bir veri diski oluşturulabilmesi için önce bir disk nesnesi oluşturmanız gerekir. Aşağıdaki kod örneği, bir disk nesnesi yapılandırmak için New-AzDiskConfig cmdlet'ini kullanır.
$diskConfig = New-AzDiskConfig ` -Location $azRegion ` -CreateOption Empty ` -DiskSizeGB 128 ` -SkuName "Standard_LRS"
Disk nesnesi oluşturulduktan sonra New-AzDisk cmdlet'ini kullanarak bir veri diski sağlayın.
$dataDisk = New-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskName ` -Disk $diskConfig
Diskin oluşturulduğunu doğrulamak için Get-AzDisk cmdlet'ini kullanabilirsiniz.
Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskName
Bu örnekte çıkış, diskin oluşturulduğunu onaylar.
DiskState
veManagedBy
özellik değerleri, diskin henüz bağlı olmadığını onaylar.ResourceGroupName : myDemoResourceGroup ManagedBy : ManagedByExtended : {} OsType : DiskSizeGB : 128 DiskSizeBytes : 137438953472 ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Unattached Name : myDemoDataDisk
Veri diskini ekleme
VM'nin erişebilmesi için bir veri diski VM'ye eklenmelidir. VM için bir başvuru oluşturmak, diski bağlamak ve VM'nin yapılandırmasını güncelleştirmek için bu bölümdeki adımları tamamlayın.
Veri diskini ekleyebileceğiniz VM'yi alın. Aşağıdaki örnek kod, VM'ye başvuru oluşturmak için Get-AzVM cmdlet'ini kullanır.
$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Ardından Add-AzVMDataDisk cmdlet'iyle veri diskini VM'nin yapılandırmasına ekleyin.
$vm = Add-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName ` -CreateOption Attach ` -ManagedDiskId $dataDisk.Id ` -Lun 1
Son olarak, VM'nin yapılandırmasını Update-AzVM cmdlet'iyle güncelleştirin.
Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vm
Kısa bir duraklamadan sonra çıkış başarılı bir eki onaylar.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Veri diskini başlatma
Vm'ye bir veri diski eklendikten sonra işletim sisteminin diski kullanacak şekilde yapılandırılması gerekir. Aşağıdaki bölümde, uzak VM'ye bağlanma ve eklenen ilk diski yapılandırma hakkında yönergeler sağlanmaktadır.
Azure Portal’ında oturum açın.
Veri diskini eklediğiniz VM'yi bulun. Uzak Masaüstü Protokolü (RDP) bağlantısı oluşturun ve yerel yönetici olarak oturum açın.
Uzak VM'ye rdp bağlantısı kurduktan sonra Windows Başlat menüsünü seçin. Arama kutusuna PowerShell yazın ve Bir PowerShell penceresi açmak için Windows PowerShell'i seçin.
PowerShell'i aç penceresinde aşağıdaki betiği çalıştırın.
Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "myDemoDataDisk" -Confirm:$false
Çıkış, başarılı bir başlatmayı onaylar.
DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining Size ----------- --------------- ---------- --------- ------------ ----------------- ------------- ---- F myDemoDataDisk NTFS Fixed Healthy OK 127.89 GB 128 GB
Diski genişletme
Vm'nizde kullanılabilir disk alanı az olduğunda ek depolama kapasitesi sağlamak için Azure disklerini genişletebilirsiniz.
Bazı senaryolarda verilerin işletim sistemi diskinde depolanması gerekir. Örneğin, işletim sistemi sürücüsüne bileşen yükleyen eski uygulamaları desteklemeniz gerekebilir. Daha büyük bir işletim sistemi sürücüsüne sahip şirket içi fiziksel bilgisayarı veya VM'yi de geçirmeniz gerekebilir. Bu gibi durumlarda, vm'nin işletim sistemi disklerinin genişletilmesi gerekebilir.
Mevcut diski küçültme desteklenmez ve veri kaybına neden olabilir.
Diskin boyutunu güncelleştirme
İşletim sistemi diskini veya veri diskini yeniden boyutlandırmak için aşağıdaki adımları izleyin.
Cmdlet'iyle yeniden boyutlandırabileceğiniz diski içeren VM'yi
Get-AzVM
seçin.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Bir VM'nin diskini yeniden boyutlandırabilmeniz için önce VM'yi durdurmanız gerekir. VM'yi
Stop-AzVM
durdurmak için cmdlet'ini kullanın. Sizden onay istenir.Önemli
VM kapatma işlemini başlatmadan önce, kaybolabilecek önemli kaynak veya veri olmadığını her zaman onaylayın.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla durdurulduğunu onaylar.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :
VM durdurulduktan sonra, cmdlet'iyle VM'ye bağlı işletim sistemine veya veri diskine
Get-AzDisk
başvuru alın.Aşağıdaki örnek VM'nin işletim sistemi diskini seçer.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.Name
Aşağıdaki örnek VM'nin ilk veri diskini seçer.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].Name
Artık diske bir başvurunuz olduğuna göre, diskin boyutunu 250 GiB olarak ayarlayın.
Önemli
Yeni boyut mevcut disk boyutundan büyük olmalıdır. İzin verilen maksimum işletim sistemi diskleri için 4.095 GiB'dir.
$disk.DiskSizeGB = 250
Ardından, disk görüntüsünü cmdlet'iyle güncelleştirin
Update-AzDisk
.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.Name
Disk görüntüsü güncelleştirilir ve çıkış diskin yeni boyutunu onaylar.
ResourceGroupName : myDemoResourceGroup ManagedBy : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoVM Sku : Microsoft.Azure.Management.Compute.Models.DiskSku TimeCreated : 9/135/2021 6:41:10 PM CreationData : Microsoft.Azure.Management.Compute.Models.CreationData DiskSizeGB : 250 DiskSizeBytes : 268435456000 UniqueId : {GUID} ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Reserved Encryption : Microsoft.Azure.Management.Compute.Models.Encryption Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/disks/myDemoDataDisk Name : myDemoDataDisk Type : Microsoft.Compute/disks Location : centralus
Son olarak, cmdlet'iyle VM'yi
Start-AzVM
yeniden başlatın.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla başlatıldığını onaylar.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
İşletim sistemindeki disk birimini genişletme
Yeni disk boyutundan yararlanabilmeniz için önce işletim sistemi içindeki birimi genişletmeniz gerekir. Disk birimini genişletmek ve yeni disk boyutundan yararlanmak için aşağıdaki adımları izleyin.
Azure Portal’ında oturum açın.
Veri diskini eklediğiniz VM'yi bulun. Uzak Masaüstü Protokolü (RDP) bağlantısı oluşturun ve oturum açın. Artık bir yönetim hesabına erişiminiz yoksa, Get-Credential cmdlet'iyle belirtilen kullanıcı adı ve parola için bir kimlik bilgisi nesnesi oluşturun.
Uzak VM'ye rdp bağlantısı kurduktan sonra Windows Başlat menüsünü seçin. Arama kutusuna PowerShell yazın ve Bir PowerShell penceresi açmak için Windows PowerShell'i seçin.
PowerShell'i açın ve aşağıdaki betiği çalıştırın. Değişkenin
-DriveLetter
değerini uygun şekilde değiştirin. Örneğin, F: sürücüsündeki bölümü yeniden boyutlandırmak için kullanın$driveLetter = "F"
.$driveLetter = "[Drive Letter]" $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) Resize-Partition ` -DriveLetter $driveLetter ` -Size $size.SizeMax
RDP penceresini simge durumuna küçültün ve Azure Cloud Shell'e geri dönün. Diskin
Get-AzDisk
başarıyla yeniden boyutlandırıldığını doğrulamak için cmdlet'ini kullanın.Get-AzDisk ` -ResourceGroupName $azResourceGroup | Out-Host -Paging
Diski yükseltme
Kuruluşunuzun iş yüklerindeki değişikliklere yanıt vermenin çeşitli yolları vardır. Örneğin, artan talebi işlemek için standart bir HDD'yi premium SSD'ye yükseltmeyi seçebilirsiniz.
Yönetilen diski standarttan premium diske yükseltmek için bu bölümdeki adımları izleyin.
Cmdlet'iyle yükselteceğimiz diski içeren VM'yi
Get-AzVM
seçin.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Bir VM'nin diskini yükseltebilmeniz için önce VM'yi durdurmanız gerekir. VM'yi
Stop-AzVM
durdurmak için cmdlet'ini kullanın. Sizden onay istenir.Önemli
VM kapatma işlemini başlatmadan önce, kaybolabilecek önemli kaynak veya veri olmadığını her zaman onaylayın.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla durdurulduğunu onaylar.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :
VM durdurulduktan sonra, cmdlet'iyle VM'ye bağlı işletim sistemine veya veri diskine
Get-AzDisk
başvuru alın.Aşağıdaki örnek VM'nin işletim sistemi diskini seçer.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.Name
Aşağıdaki örnek VM'nin ilk veri diskini seçer.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].Name
Artık diske bir başvurunuz olduğuna göre, diskin SKU'sunu Premium_LRS olarak ayarlayın.
$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
Ardından, disk görüntüsünü cmdlet'iyle güncelleştirin
Update-AzDisk
.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.Name
Disk görüntüsü güncelleştirilir. Diskin SKU'sunun yükseltildiğini doğrulamak için aşağıdaki örnek kodu kullanın.
$disk.Sku.Name
Çıkış, diskin yeni SKU'sunu onaylar.
Premium_LRS
Son olarak, cmdlet'iyle VM'yi
Start-AzVM
yeniden başlatın.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla başlatıldığını onaylar.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
Veri diski çıkarma
Veri disklerini farklı bir VM'ye eklemek istediğinizde veya artık gerekli olmadığında VM'den ayırabilirsiniz. Varsayılan olarak, ayrılmamış diskler yanlışlıkla veri kaybını önlemek için silinmez. Ayrılmış bir disk silinene kadar depolama ücreti ödemeye devam eder.
İlk olarak, diskin cmdlet'iyle eklendiği VM'yi
Get-AzVM
seçin.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Ardından, diski cmdlet'iyle VM'den ayırın
Remove-AzVMDataDisk
.Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName
Veri diskini kaldırmak için cmdlet ile
Update-AzVM
VM'nin durumunu güncelleştirin.Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vm
Kısa bir duraklatma sonrasında çıkış, VM'nin başarıyla güncelleştirildiğini onaylar.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Veri disklerini silme
Bir VM'yi sildiğinizde, VM'ye bağlı veri diskleri sağlanmış olarak kalır ve silinene kadar ücret uygulanmaya devam eder. Bu varsayılan davranış, yanlışlıkla silme işleminden kaynaklanan veri kaybını önlemeye yardımcı olur.
Eklenmemiş diskleri silmek için aşağıdaki örnek PowerShell betiğini kullanabilirsiniz. Anahtar cmdlet'iyle kullanıldığından disklerin alınması myDemoResourceGroup -ResourceGroupName
ile Get-AzDisk
sınırlıdır.
# Get all disks in resource group $azResourceGroup
$allDisks = Get-AzDisk -ResourceGroupName $azResourceGroup
# Determine the number of disks in the collection
if($allDisks.Count -ne 0) {
Write-Host "Found $($allDisks.Count) disks."
# Iterate through the collection
foreach ($disk in $allDisks) {
# Use the disk's "ManagedBy" property to determine if it is unattached
if($disk.ManagedBy -eq $null) {
# Confirm that the disk can be deleted
Write-Host "Deleting unattached disk $($disk.Name)."
$confirm = Read-Host "Continue? (Y/N)"
if ($confirm.ToUpper() -ne 'Y') { break }
else {
# Delete the disk
$disk | Remove-AzDisk -Force
Write-Host "Unattached disk $($disk.Name) deleted."
}
}
}
}
Eklenmemiş veri diski çıkışta gösterildiği gibi silinir.
Name : abcd1234-ab12-cd34-ef56-abcdef123456
StartTime : 9/13/2021 10:14:05 AM
EndTime : 9/13/2021 10:14:35 AM
Status : Succeeded
Error :
Kaynakları temizleme
Artık gerekli olmadığında kaynak grubunu, VM'yi ve tüm ilgili kaynakları silin. Bu öğreticinin önceki bölümlerinde oluşturulan kaynak grubunu silmek için aşağıdaki örnek PowerShell betiğini kullanabilirsiniz.
Dikkat
Kaynak grubunu silerken dikkatli olun. Önemli verilerin kaybını önlemek için, silinmeden önce kaynak grubunda önemli kaynak veya veri bulunmadığını her zaman onaylayın.
Remove-AzResourceGroup -Name $azResourceGroup
Sizden onay istenir. Kısa bir duraklatma sonrasında True
yanıt, myDemoResourceGroup'un başarıyla silindiğini onaylar.
Confirm
Are you sure you want to remove resource group 'myDemoResourceGroup'
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
True
Sonraki adımlar
Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:
- Veri diski oluşturma, ekleme ve başlatma
- Diskin durumunu doğrulama
- Disk başlatma
- Diski genişletme ve yükseltme
- Diski ayırma ve silme
VM yapılandırmasını otomatikleştirmeyi öğrenmek için sonraki öğreticiye geçin.