Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Yönetilen Diskler, Azure Sanal Makineler ve Azure VMware Çözümü ile kullanılmak üzere tasarlanmış yüksek performanslı, dayanıklı blok depolamadır. Disk yönetimini basitleştirir, daha fazla ölçeklenebilirlik sunar, güvenliği artırır ve depolama hesaplarını doğrudan yönetme gereksinimini ortadan kaldırır. Daha fazla bilgi için bkz. Azure Yönetilen Diskler.
Mevcut bir VM ile ilişkili Yönetilen Diskler üzerindeki işlemler için kitaplığını azure-mgmt-compute kullanın.
Bu makaledeki kod örneklerinde kitaplığı kullanan Yönetilen Disklerle ilgili yaygın işlemler gösterilmektedir azure-mgmt-compute . Bu örneklerin tek başına betikler olarak çalıştırılması değil, kendi kodunuzla tümleştirilmesi amaçlanıyor.
ComputeManagementClient bir örneği azure.mgmt.compute betiğinizde nasıl oluşturacağınızı öğrenmek için, bkz. Örnek - Sanal makine oluşturma.
Kitaplığın nasıl kullanılacağına azure-mgmt-compute ilişkin daha eksiksiz örnekler için bkz. GitHub'da işlem için Python için Azure SDK örnekleri .
Tek Başına Yönetilen Diskler
Aşağıdaki örneklerde tek başına Yönetilen Diskler sağlamanın farklı yolları gösterilmektedir.
Boş bir Yönetilen Disk oluşturma
Bu örnekte yeni bir boş Yönetilen Disk oluşturma gösterilmektedir. Bunu bir sanal makineye eklemek için boş bir disk olarak veya anlık görüntüler veya görüntüler oluşturmak için başlangıç noktası olarak kullanabilirsiniz.
from azure.mgmt.compute.models import DiskCreateOption
poller = compute_client.disks.begin_create_or_update(
'my_resource_group',
'my_disk_name',
{
'location': 'eastus',
'disk_size_gb': 20,
'creation_data': {
'create_option': DiskCreateOption.empty
}
}
)
disk_resource = poller.result()
Blob depolamadan Yönetilen Disk oluşturun
Bu örnekte, Azure Blob Depolama'da depolanan bir VHD dosyasından Yönetilen Disk oluşturma gösterilmektedir. Mevcut bir sanal sabit diski yeniden kullanmak veya Azure'a taşımak istediğinizde bu yararlı olur.
from azure.mgmt.compute.models import DiskCreateOption
poller = compute_client.disks.begin_create_or_update(
'my_resource_group',
'my_disk_name',
{
'location': 'eastus',
'creation_data': {
'create_option': DiskCreateOption.IMPORT,
'storage_account_id': '/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>',
'source_uri': 'https://<storage-account-name>.blob.core.windows.net/vm-images/test.vhd'
}
}
)
disk_resource = poller.result()
Blob depolama alanından Yönetilen Disk imajı oluşturun
Bu örnekte, Azure Blob Depolama'da depolanan bir VHD dosyasından Yönetilen Disk görüntüsünün nasıl oluşturulacağı gösterilmektedir. Bu, yeni sanal makineler oluşturmak için kullanılabilecek yeniden kullanılabilir bir görüntü oluşturmak istediğinizde kullanışlıdır.
from azure.mgmt.compute.models import OperatingSystemStateTypes, HyperVGeneration
poller = compute_client.images.begin_create_or_update(
'my_resource_group',
'my_image_name',
{
'location': 'eastus',
'storage_profile': {
'os_disk': {
'os_type': 'Linux',
'os_state': OperatingSystemStateTypes.GENERALIZED,
'blob_uri': 'https://<storage-account-name>.blob.core.windows.net/vm-images/test.vhd',
'caching': "ReadWrite",
},
},
'hyper_v_generation': HyperVGeneration.V2,
}
)
image_resource = poller.result()
Kendi görüntünüzden bir Yönetilen Disk oluşturun
Bu örnekte, var olan bir diski kopyalayarak yeni bir Yönetilen Disk oluşturma gösterilmektedir. Bu, yedekleme yapmak veya başka bir sanal makinede aynı disk kurulumunu kullanmak istediğinizde yararlıdır.
from azure.mgmt.compute.models import DiskCreateOption
# If you don't know the id, do a 'get' like this to obtain it
managed_disk = compute_client.disks.get(self.group_name, 'myImageDisk')
poller = compute_client.disks.begin_create_or_update(
'my_resource_group',
'my_disk_name',
{
'location': 'eastus',
'creation_data': {
'create_option': DiskCreateOption.COPY,
'source_resource_id': managed_disk.id
}
}
)
disk_resource = poller.result()
Yönetilen Diskleri olan sanal makine
Belirli bir disk görüntüsünü temel alarak örtük olarak oluşturulmuş bir Yönetilen Disk ile bir sanal makine oluşturabilir ve tüm disk ayrıntılarını el ile tanımlama gereksinimini ortadan kaldırabilirsiniz.
Azure'daki bir işletim sistemi görüntüsünden VM oluşturulurken örtük olarak bir Yönetilen Disk oluşturulur. Azure, depolama hesabını otomatik olarak işler, bu nedenle depolama hesabını el ile belirtmeniz storage_profile.os_disk veya oluşturmanız gerekmez.
storage_profile = azure.mgmt.compute.models.StorageProfile(
image_reference = azure.mgmt.compute.models.ImageReference(
publisher='Canonical',
offer='UbuntuServer',
sku='16.04-LTS',
version='latest'
)
)
Python için Azure yönetim kitaplıklarını kullanarak sanal makine oluşturmayı gösteren eksiksiz bir örnek için bkz. Örnek - Sanal makine oluşturma. Bu örnekte parametresinin nasıl kullanılacağı gösterilmektedir storage_profile .
Kendi görüntünüzden de oluşturabilirsiniz storage_profile :
# If you don't know the id, do a 'get' like this to obtain it
image = compute_client.images.get(self.group_name, 'myImageDisk')
storage_profile = azure.mgmt.compute.models.StorageProfile(
image_reference = azure.mgmt.compute.models.ImageReference(
id = image.id
)
)
Önceden sağlanan bir Yönetilen Diski kolayca ekleyebilirsiniz:
vm = compute_client.virtual_machines.get(
'my_resource_group',
'my_vm'
)
managed_disk = compute_client.disks.get('my_resource_group', 'myDisk')
vm.storage_profile.data_disks.append({
'lun': 12, # You choose the value, depending of what is available for you
'name': managed_disk.name,
'create_option': DiskCreateOptionTypes.attach,
'managed_disk': {
'id': managed_disk.id
}
})
async_update = compute_client.virtual_machines.begin_create_or_update(
'my_resource_group',
vm.name,
vm,
)
async_update.wait()
Yönetilen Disklerle Sanal Makine Ölçek Kümeleri
Azure Yönetilen Disklerinden önce, Sanal Makine Ölçek Kümenizdeki her VM için el ile bir depolama hesabı oluşturmanız ve bu depolama hesaplarını Ölçek Kümesi REST API'sinde belirtmek için parametresini kullanmanız vhd_containers gerekiyordu.
Azure Yönetilen Diskler ile depolama hesabı yönetimi artık gerekli değildir. Sonuç olarak, storage_profileSanal Makine Ölçek Kümeleri'nin kullanımı, artık tek tek VM oluşturma için kullanılanla eşleşebilir:
'storage_profile': {
'image_reference': {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "latest"
}
},
Tam örnek aşağıdaki gibidir:
naming_infix = "PyTestInfix"
vmss_parameters = {
'location': self.region,
"overprovision": True,
"upgrade_policy": {
"mode": "Manual"
},
'sku': {
'name': 'Standard_A1',
'tier': 'Standard',
'capacity': 5
},
'virtual_machine_profile': {
'storage_profile': {
'image_reference': {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "latest"
}
},
'os_profile': {
'computer_name_prefix': naming_infix,
'admin_username': 'Foo12',
'admin_password': 'BaR@123!!!!',
},
'network_profile': {
'network_interface_configurations' : [{
'name': naming_infix + 'nic',
"primary": True,
'ip_configurations': [{
'name': naming_infix + 'ipconfig',
'subnet': {
'id': subnet.id
}
}]
}]
}
}
}
# Create VMSS test
result_create = compute_client.virtual_machine_scale_sets.begin_create_or_update(
'my_resource_group',
'my_scale_set',
vmss_parameters,
)
vmss_result = result_create.result()
Yönetilen Disklerle diğer işlemler
Yönetilen Disk Sürücüsünü Yeniden Boyutlandırma
Bu örnekte, mevcut yönetilen diskin nasıl büyütülecekleri gösterilmektedir. Bu, verileriniz veya uygulamalarınız için daha fazla alana ihtiyacınız olduğunda kullanışlıdır.
managed_disk = compute_client.disks.get('my_resource_group', 'myDisk')
managed_disk.disk_size_gb = 25
async_update = self.compute_client.disks.begin_create_or_update(
'my_resource_group',
'myDisk',
managed_disk
)
async_update.wait()
Yönetilen Disklerin depolama hesabı türünü güncelleştirme
Bu örnekte, Yönetilen Diskin depolama türünü değiştirme ve daha büyük hale getirme gösterilmektedir. Bu, verileriniz veya uygulamalarınız için daha fazla alana veya daha iyi performansa ihtiyacınız olduğunda yararlıdır.
from azure.mgmt.compute.models import StorageAccountTypes
managed_disk = compute_client.disks.get('my_resource_group', 'myDisk')
managed_disk.account_type = StorageAccountTypes.STANDARD_LRS
async_update = self.compute_client.disks.begin_create_or_update(
'my_resource_group',
'myDisk',
managed_disk
)
async_update.wait()
Blob deposundan görüntü oluşturma
Bu örnekte, Azure Blob Depolama'da depolanan bir VHD dosyasından Yönetilen Disk görüntüsünün nasıl oluşturulacağı gösterilmektedir. Bu, yeni sanal makineler oluşturmak için kullanabileceğiniz yeniden kullanılabilir bir görüntü oluşturmak istediğinizde kullanışlıdır.
async_create_image = compute_client.images.create_or_update(
'my_resource_group',
'myImage',
{
'location': 'eastus',
'storage_profile': {
'os_disk': {
'os_type': 'Linux',
'os_state': "Generalized",
'blob_uri': 'https://<storage-account-name>.blob.core.windows.net/vm-images/test.vhd',
'caching': "ReadWrite",
}
}
}
)
image = async_create_image.result()
Şu anda bir sanal makineye bağlı yönetilen diskin anlık görüntüsünü oluşturma
Bu örnekte, sanal makineye bağlı bir Yönetilen Diskin anlık görüntüsünün nasıl alındığını gösterir. Anlık görüntüyü kullanarak diski yedekleyebilir veya gerekirse daha sonra geri yükleyebilirsiniz.
managed_disk = compute_client.disks.get('my_resource_group', 'myDisk')
async_snapshot_creation = self.compute_client.snapshots.begin_create_or_update(
'my_resource_group',
'mySnapshot',
{
'location': 'eastus',
'creation_data': {
'create_option': 'Copy',
'source_uri': managed_disk.id
}
}
)
snapshot = async_snapshot_creation.result()