Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Spravované disky Azure jsou vysoce výkonné odolné blokové úložiště navržené pro použití se službami Azure Virtual Machines a Azure VMware Solution. Zjednodušují správu disků, nabízejí větší škálovatelnost, vylepšují zabezpečení a eliminují potřebu přímé správy účtů úložiště. Další informace najdete v tématu Spravované disky Azure.
Pro operace se spravovanými disky přidruženými k existujícímu virtuálnímu počítači použijte knihovnu azure-mgmt-compute .
Příklady kódu v tomto článku ukazují běžné operace se spravovanými disky pomocí azure-mgmt-compute knihovny. Tyto příklady nejsou určené ke spuštění jako samostatné skripty, ale spíše k integraci do vlastního kódu. Informace o tom, jak vytvořit ComputeManagementClient instanci ze azure.mgmt.compute skriptu, najdete v tématu Příklad – Vytvoření virtuálního počítače.
Podrobnější příklady použití azure-mgmt-compute knihovny najdete v ukázkách sady Azure SDK pro Python pro výpočty na GitHubu.
Samostatné spravované disky
Následující příklady ukazují různé způsoby zřízení samostatných spravovaných disků.
Vytvoření prázdného spravovaného disku
Tento příklad ukazuje, jak vytvořit nový prázdný spravovaný disk. Můžete ho použít jako prázdný disk pro připojení k virtuálnímu počítači nebo jako výchozí bod pro vytváření snímků nebo imagí.
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()
Vytvořte spravovaný disk z úložiště typu blob
Tento příklad ukazuje, jak vytvořit spravovaný disk ze souboru VHD uloženého ve službě Azure Blob Storage. To je užitečné, když chcete znovu použít nebo přesunout existující virtuální pevný disk do Azure.
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()
Vytvoření obrazu spravovaného disku z úložiště blobů
Tento příklad ukazuje, jak vytvořit image spravovaného disku ze souboru VHD uloženého ve službě Azure Blob Storage. To je užitečné, když chcete vytvořit opakovaně použitelnou image, kterou můžete použít k vytvoření nových virtuálních počítačů.
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()
Vytvořte spravovaný disk z vlastního obrazu
Tento příklad ukazuje, jak vytvořit nový spravovaný disk zkopírováním existujícího disku. To je užitečné, když chcete vytvořit zálohu nebo použít stejné nastavení disku na jiném virtuálním počítači.
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()
Virtuální počítač se spravovanými disky
Můžete vytvořit virtuální počítač s implicitně vytvořeným spravovaným diskem založeným na konkrétní imagi disku a eliminovat nutnost ručního definování všech podrobností o disku.
Spravovaný disk se vytvoří implicitně při vytváření virtuálního počítače z image operačního systému v Azure. Azure automaticky zpracovává účet úložiště, takže ho nemusíte zadávat storage_profile.os_disk ani vytvářet ručně.
storage_profile = azure.mgmt.compute.models.StorageProfile(
image_reference = azure.mgmt.compute.models.ImageReference(
publisher='Canonical',
offer='UbuntuServer',
sku='16.04-LTS',
version='latest'
)
)
Úplný příklad znázorňující, jak vytvořit virtuální počítač pomocí knihoven pro správu Azure pro Python, najdete v tématu Příklad – Vytvoření virtuálního počítače. Tento příklad ukazuje, jak použít storage_profile parametr.
Můžete také vytvořit storage_profile z vlastního obrazu.
# 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
)
)
Dříve zřízený spravovaný disk můžete snadno připojit:
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()
Škálovací sady virtuálních počítačů se spravovanými disky
Před spravovanými disky Azure jste museli ručně vytvořit účet úložiště pro každý virtuální počítač ve škálovací sadě virtuálních počítačů a pomocí parametru vhd_containers určit tyto účty úložiště v rozhraní REST API škálovací sady.
U spravovaných disků Azure se už nevyžaduje správa účtu úložiště. V důsledku toho storage_profile se škálovací sady virtuálních počítačů používané pro škálovací sady virtuálních počítačů teď můžou shodovat se škálovacími sadami virtuálních počítačů, které se používají pro vytvoření jednotlivých virtuálních počítačů:
'storage_profile': {
'image_reference': {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "latest"
}
},
Úplná ukázka je následující:
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()
Další operace se spravovanými disky
Změna velikosti spravovaného disku
Tento příklad ukazuje, jak zvětšit existující spravovaný disk. To je užitečné, když potřebujete více místa pro vaše data nebo aplikace.
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()
Aktualizace typu účtu úložiště spravovaných disků
Tento příklad ukazuje, jak změnit typ úložiště spravovaného disku a zvětšit ho. To je užitečné, když potřebujete více místa nebo lepšího výkonu pro vaše data nebo aplikace.
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()
Vytvoření obrazu z blobového úložiště
Tento příklad ukazuje, jak vytvořit image spravovaného disku ze souboru VHD uloženého ve službě Azure Blob Storage. To je užitečné, když chcete vytvořit opakovaně použitelnou image, kterou můžete použít k vytvoření nových virtuálních počítačů.
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()
Vytvoření snímku spravovaného disku, který je aktuálně připojený k virtuálnímu počítači
Tento příklad ukazuje, jak pořídit snímek spravovaného disku, který je připojený k virtuálnímu počítači. Snímek můžete použít k zálohování disku nebo jeho pozdějšímu obnovení v případě potřeby.
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()
Viz také
- Příklad: Vytvoření virtuálního počítače
- Příklad: Vytvořte skupinu prostředků
- Příklad: Výpis skupin prostředků v předplatném
- Příklad: Vytvoření služby Azure Storage
- Příklad: Použití Služby Azure Storage
- Příklad: Vytvoření a použití databáze MySQL
- Dokončení krátkého průzkumu o sadě Azure SDK pro Python