Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Managed Disks nagy teljesítményű, tartós blokktároló, amelyet azure-beli virtuális gépekhez és Azure VMware Solutionhez terveztek. Leegyszerűsítik a lemezkezelést, nagyobb méretezhetőséget biztosítanak, növelik a biztonságot, és szükségtelenné teszik a tárfiókok közvetlen kezelését. További információ: Azure Managed Disks.
A meglévő virtuális géphez társított felügyelt lemezeken végzett műveletekhez használja a kódtárat azure-mgmt-compute .
A cikkben szereplő kódpéldák a felügyelt lemezekkel végzett gyakori műveleteket demonstrálják a azure-mgmt-compute könyvtár használatával. Ezeket a példákat nem önálló szkriptekként kell futtatni, hanem inkább integrálva kell lennie a saját kódjába. Ha meg szeretné tudni, hogyan hozhat létre ComputeManagementClient példányt a azure.mgmt.compute szkriptjében, olvassa el a Példa – Virtuális gép létrehozása című témakört.
A kódtár használatára vonatkozó teljesebb példákért tekintse meg az azure-mgmt-computeAzure SDK for Python-mintákat a GitHubon történő számításhoz .
Önálló felügyelt lemezek
Az alábbi példák az önálló felügyelt lemezek kiépítésének különböző módjait mutatják be.
Üres felügyelt lemez létrehozása
Ez a példa bemutatja, hogyan hozhat létre új üres felügyelt lemezt. Használhatja üres lemezként egy virtuális géphez való csatoláshoz, vagy kiindulópontként pillanatképek vagy képek létrehozásához.
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()
Felügyelt lemez létrehozása Blob Storage-ból
Ez a példa bemutatja, hogyan hozhat létre felügyelt lemezt egy Azure Blob Storage-ban tárolt VHD-fájlból. Ez akkor hasznos, ha egy meglévő virtuális merevlemezt szeretne újra felhasználni vagy áthelyezni az Azure-ba.
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()
Felügyelt lemezkép létrehozása Blob Storage-ból
Ez a példa bemutatja, hogyan hozhat létre felügyelt lemezképet egy Azure Blob Storage-ban tárolt VHD-fájlból. Ez akkor hasznos, ha olyan újrafelhasználható rendszerképet szeretne készíteni, amely új virtuális gépek létrehozásához használható.
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()
Saját lemezképedből felügyelt lemezt hozhatsz létre
Ez a példa bemutatja, hogyan hozhat létre új felügyelt lemezt egy meglévő másolásával. Ez akkor hasznos, ha biztonsági másolatot szeretne készíteni, vagy ugyanazt a lemezbeállítást szeretné használni egy másik virtuális gépen.
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ális gép felügyelt lemezekkel
Létrehozhat egy virtuális gépet egy adott lemezképen alapuló implicit módon létrehozott felügyelt lemezzel, így nincs szükség a lemez részleteinek manuális meghatározására.
A felügyelt lemez implicit módon jön létre, amikor virtuális gépet hoz létre egy operációsrendszer-rendszerképből az Azure-ban. Az Azure automatikusan kezeli a tárfiókot, így önnek nem kell manuálisan megadnia storage_profile.os_disk vagy létrehoznia egy tárfiókot.
storage_profile = azure.mgmt.compute.models.StorageProfile(
image_reference = azure.mgmt.compute.models.ImageReference(
publisher='Canonical',
offer='UbuntuServer',
sku='16.04-LTS',
version='latest'
)
)
Egy teljes példáért, amely bemutatja, hogyan hozhat létre virtuális gépet a Python azure-beli felügyeleti kódtárai használatával, tekintse meg a Példa – Virtuális gép létrehozása című témakört. Ez a példa bemutatja a storage_profile paraméter használatát.
Saját képből is létrehozhat egy 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
)
)
Egy korábban kiépített felügyelt lemez egyszerűen csatolható:
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()
Virtuális gép-méretezési készletek felügyelt lemezekkel
Az Azure Managed Disks előtt manuálisan kellett létrehoznia egy tárfiókot a virtuálisgép-méretezési csoport egyes virtuális gépeihez, és a vhd_containers paraméterrel meg kellett adnia ezeket a tárfiókokat a méretezési csoport REST API-jában.
Az Azure Managed Disks esetében már nincs szükség tárfiók-kezelésre. Ennek eredményeképpen a storage_profilevirtuálisgép-méretezési csoportokhoz használt virtuálisgép-méretezési csoportok mostantól megfelelnek az egyes virtuális gépek létrehozásához használtaknak:
'storage_profile': {
'image_reference': {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "latest"
}
},
A teljes minta a következő:
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()
Egyéb műveletek felügyelt lemezekkel
Felügyelt lemez méretének módosítása
Ez a példa bemutatja, hogyan lehet egy meglévő felügyelt lemezt nagyobbá tenni. Ez akkor hasznos, ha több helyre van szüksége az adatokhoz vagy alkalmazásokhoz.
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()
A felügyelt lemezek tárfióktípusának frissítése
Ez a példa bemutatja, hogyan módosíthatja a felügyelt lemezek tárolási típusát, és hogyan teheti nagyobbá. Ez akkor hasznos, ha több helyre vagy jobb teljesítményre van szüksége az adatokhoz vagy alkalmazásokhoz.
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()
Lemezkép létrehozása Blob Storage-ból
Ez a példa bemutatja, hogyan hozhat létre felügyelt lemezképet egy Azure Blob Storage-ban tárolt VHD-fájlból. Ez akkor hasznos, ha olyan újrafelhasználható rendszerképet szeretne készíteni, amellyel új virtuális gépeket hozhat létre.
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()
Pillanatkép létrehozása egy virtuális géphez jelenleg csatolt felügyelt lemezről
Ez a példa bemutatja, hogyan lehet pillanatképet készíteni egy virtuális géphez csatlakoztatott felügyelt lemezről. A pillanatkép használatával biztonsági másolatot készíthet a lemezről, vagy szükség esetén később visszaállíthatja azt.
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()
Lásd még
- Példa: Virtuális gép létrehozása
- Példa: Erőforráscsoport létrehozása
- Példa: Erőforráscsoportok listázása előfizetésben
- Példa: Azure Storage létrehozása
- Példa: Az Azure Storage használata
- Példa: MySQL-adatbázis létrehozása és használata
- Végezzen el egy rövid felmérést a Pythonhoz készült Azure SDK-ról