0

Merhaba,

Önceki makalelerimde taşıma ile ilgili bilgiler vermiş taşıma işlemlerinin nasıl yapılacağını göstermiştim. Bu makalemde de managed disklerin Subscription’lar arasında nasıl taşınacağından bahsedeceğim.

Bildiğiniz gibi Managed Diskler taşınamayan kaynaklar arasında gösteriliyor. Peki sanal makineyi taşımamız gerekiyorsa ve sanal makine Managed Disk’e sahipse ne yapmamız gerekiyor? Bu sorunun cevabı basit değil J Çünkü portal üzerinden Move seçeneğini kullanarak bunu yapmamız mümkün değil.

Bunun için PowerShell üzerinde aşağıdaki scripti çalıştırmamız gerekir. Bu script yardımı ile Managed Disk’in bir kopyasını hedef subscription’a taşımış olursunuz. Daha sonrasında bu kopya kullanılarak VM’oluşturup taşıma işlemini gerçekleştirmiş olursunuz.

Script’e ilişkin komut açıklamalarını her bir komutun üzerine yazdım.

#Managed Diskin bulunuduğu kaynak subscription Id’si.

$sourceSubscriptionId=’yourSourceSubscriptionId’

# Managed Diskin bulunuduğu kaynak resource group ismi.

$sourceResourceGroupName=’mySourceResourceGroupName’

#Taşınacak managed disk’in ismi.

$managedDiskName=’myDiskName’

#Managed diskin bulunduğu subscription context’ini get edelim.

Select-AzureRmSubscription -SubscriptionId $sourceSubscriptionId

#Managed diski get edelim.

$managedDisk= Get-AzureRMDisk -ResourceGroupName $sourceResourceGroupName -DiskName $managedDiskName

#Managed diskin taşınacağı hedef subscription Id’si. (Eğer managed disk aynı subscription içerisinde farklı resource group’a taşınacak ise bu adım atlanabilir.)

$targetSubscriptionId=’yourTargetSubscriptionId’

#Managed diskin kopyalanacağı hedef resource group ismi.

$targetResourceGroupName=’myTargetResourceGroupName’

#Hedef subscription’I get edelim. (Eğer işlemler aynı subscription’da yapılacak ise bu adım atlanabilir)

Select-AzureRmSubscription -SubscriptionId $targetSubscriptionId

#Managed disk’i kullanıp hedef subscription için konfigürasyon kopyası oluşturalım.

$diskConfig = New-AzureRmDiskConfig -SourceResourceId $managedDisk.Id -Location $managedDisk.Location -CreateOption Copy

#Hedef subscription ve resource group içerisinde managed disk kopyasını oluşturalım.

New-AzureRmDisk -Disk $diskConfig -DiskName $managedDiskName -ResourceGroupName $targetResourceGroupName

Bu işlemlerin ardından managed diskin bir kopyası istenilen subscription ve resource group içerisinde oluşturulacaktır. Bu işlemlerin ardından yapılması gereken iş Managed Disk üzerinden yeni bir VM oluşturma işlemidir.

Bunun için Azure portal üzerinden aşağıdaki şekilde olduğu gibi Managed Disk bölümüne gelerek ve Create VM seçeneğini seçerek gerekli parametreleri vermek yeterli olacaktır.

Resim – 1

Eğer bunun yerine powershell’i kullanmak isterseniz, var olan bir Managed Disk üzerinden VM oluşturma işlemini aşağıdaki script yardımı ile kolaylıkla yapabilir siniz. Komutlar ile ilgili açıklamayı script içerisinde yaptım.

#Subscription ID’si.

$subscriptionId = ‘SubscriptionId’

#Resource group ismi.

$resourceGroupName =’ResourceGroup İsmi’

#Managed Disk ismi

$diskName = ‘Managed Disk ismi’

#Managed disk lokasyonu. (VM ile aynı yerde olmak zorunda)

$location = ‘westeurope’

#VM’in bulunacağı Vnet ismi

$virtualNetworkName = ‘VirtualNetwork İsmi’

#VM’in ismi

$virtualMachineName = ‘VM İsmi’

#VM’in size’ı

#Lokasyonda bununan size bilgisini get etmek için ; Get-AzureRmVMSize -Location westus

$virtualMachineSize = ‘Standard_DS3′

#Managed diskin bulunduğu subscription context’i.

Select-AzureRmSubscription -SubscriptionId $SubscriptionId

#Resource group ismi ve disk ismini kullanarak managed disk’i get etme işlemi.

$disk =  Get-AzureRmDisk -ResourceGroupName $resourceGroupName -DiskName $diskName

#Vm konfigürasyonunu set etme işlemi.

$VirtualMachine = New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize

#OS disk için disk bilgisini,işletim sistemini ve VM konfigürasyonunu set etme.

$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -ManagedDiskId $disk.Id -CreateOption Attach -Windows

#Vm için public Ip adresini set etme.

$publicIp = New-AzureRmPublicIpAddress -Name ($VirtualMachineName.ToLower()+’_ip’) -ResourceGroupName $resourceGroupName -Location $location -AllocationMethod Dynamic

#VM’in bulunacağı vnet’i get etme işlemi.

$vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupName

# Vnet’in ilk subnetine bağlı nic oluşturma

$nic = New-AzureRmNetworkInterface -Name ($VirtualMachineName.ToLower()+’_nic’) -ResourceGroupName $resourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIp.Id

#Nic’i VM’e attach etme.

$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $nic.Id

#Managed disk ile VM’i oluşturma.

New-AzureRmVM -VM $VirtualMachine -ResourceGroupName $resourceGroupName -Location $location

Hepsi bu kadar J Bu şekilde managed disk’lerin bir subscription içerisinde yada subscription’lar arasında taşıma işlemlerini, daha doğru tabirle kopyalama işlemlerini yapabilirsiniz.

Bir sonraki makalede görüşmek üzere.

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-us/azure/virtual-machines/scripts/virtual-machines-windows-powershell-sample-copy-managed-disks-to-same-or-different-subscription

https://docs.microsoft.com/en-us/azure/virtual-machines/scripts/virtual-machines-windows-powershell-sample-create-vm-from-managed-os-disks

Fırat

TAGs: Azure ARM, Azure Resource Manager Move Process, Azure ARM Move, Move Azure Resource to another subscription,Azure resource copy, Move ASM to ARM, Azure Resource Manager Powershell, Azure ARM Move limitation,ARM Infrastructure, Move Managed Disk from one one subscription to another,Managed Disk Copy Options

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

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