;?>

Feed Rss

Yönetilen Diskleri kullanan VM’ler için OS Disk Değiştirme

05.21.2018, Bulut Bilisim, Makale, by , .
Okuma Süresi: 2 dakika

Microsoft Azure ‘da uzun süredir beklediğimiz bir yenilik daha kullanıma sunuldu. Bu yeni özellik Managed Disk yani Türkçesi ile Yönetilen Diskleri kullanan VM’ler için OS Disk (İşletim Sistemi) değişim yeteneğinin kullanılabilir olması hakkında. İsterseniz kısaca Managed Disk ( Yönetilen Disk) neydi bir hatırlayalım, eskiden VM’lere ait disklerinin saklanması için storage accountlar oluşturulur ve bu account’unda maksimum bir IOPS değeri olurdu. Yeni sanal makine oluşturduğumuzda ya da var olan sanal makinelere yeni diski bir storage account içerisinde sakladığımızda performans sorunları olabilirdi. İşte disk yönetiminin kolaylaştırıldığı ve yönetimin bizim yerimize yapıldığı teknoloji olarak özetleyebiliriz. Şimdiye kadar İşletim sisteminin değişim yeteneği yönetilmeyen diskler için mevcuttu artık Yönetilen Diskleri kullanan VM’ler içinde mevcut.

Bu özellik sayesinde, OS Diski’nin önceki bir yedeğini geri yüklemek veya VM’yi silmeye gerek kalmadan VM’in sorununu gidermek için OS Diski’ni değiştirmek çok kolay hale geliyor. Bu yetenekten yararlanmak için VM’in durdurulmuş durumda olması gerekmekte. VM durdurulduktan sonra, mevcut Yönetilen İşletim Sistemi Diski’nin kaynak kimliği – resource ID, yeni Yönetilen İşletim Sistemi Diski’nin kaynak kimliğiyle değiştirilebilmekte. Bir başka dikkat edilmesi gereken konu değiştirilecek yeni diskin adının belirtilmesi gerekiyor. Son bir konuyu daha belirtmekte fayda var, İşletim Sisteminin İşletim Sistemi türü değiştirilemiyor yani Windows olan bir OS Diskini Linux olan bir OS Diski ile değiştirilemediğini unutmayın.

Bu yeteneğin nasıl kullanacağını gösteren komutlar ise şu şekilde;

Azure CLI

Gerekli olan Azure CLI sürümü 2.0.25 olmalıdır

az vm update –g osrg -n vm2 –os-disk /subscriptions/<sub-id>/resourceGroups/osrg/providers/Microsoft.Compute/disks/osbackup

PowerShell

$vm = Get-AzureRmVM -ResourceGroupName osrg -Name vm2

$disk = Get-AzureRmDisk -ResourceGroupName osrg -Name osbackup

Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name

Update-AzureRmVM -ResourceGroupName osrg -VM $vm

Java SDK

VirtualMachine virtualMachine = azure.virtualMachines().getById(“<vm_id>”);

virtualMachine

.inner()

.storageProfile()

.osDisk()

.withName(“<disk-name>”)

.managedDisk()

.withId(“<disk_resource_id>”);

virtualMachine.update()

.apply();

GO SDK

func UpdateVM(ctx context.Context, vmName string, diskId string, diskName string) (vm compute.VirtualMachine, err error) {

vm, err = GetVM(ctx, vmName)

if err != nil {

return

}

vm.VirtualMachineProperties.StorageProfile.OSDisk.Name = diskName

vm.VirtualMachineProperties.StorageProfile.ManagedDisk.Id = diskId

vmClient := getVMClient()

future, err := vmClient.CreateOrUpdate(ctx, helpers.ResourceGroupName(), vmName, vm)

if err != nil {

return vm, fmt.Errorf(“cannot update vm: %v”, err)

}

err = future.WaitForCompletion(ctx, vmClient.Client)

if err != nil {

return vm, fmt.Errorf(“cannot get the vm create or update future response: %v”, err)

}

return future.Result(vmClient)

}

Bu yeni yetenek ile sanal makineye ait OS Disk’in nasıl değiştirilebeceğini gördük. Umarım sizler için yararlı bir yazı olur.

Bir başka Azure yazısında görüşmek üzere.

Ka®a

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir