Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Managed Disks sind leistungsstarke, dauerhafte Blockspeicher für die Verwendung mit virtuellen Azure-Computern und Azure VMware-Lösung. Sie vereinfachen die Datenträgerverwaltung, bieten eine höhere Skalierbarkeit, verbessern die Sicherheit und beseitigen die Notwendigkeit, Speicherkonten direkt zu verwalten. Weitere Informationen finden Sie unter Azure Managed Disks.
Verwenden Sie für Vorgänge auf verwalteten Datenträgern, die einer vorhandenen VM zugeordnet sind, die azure-mgmt-compute Bibliothek.
Die Codebeispiele in diesem Artikel veranschaulichen allgemeine Vorgänge mit verwalteten Datenträgern mithilfe der azure-mgmt-compute Bibliothek. Diese Beispiele sollen nicht als eigenständige Skripts ausgeführt werden, sondern in Ihren eigenen Code integriert werden. Informationen zum Erstellen einer ComputeManagementClient Instanz aus azure.mgmt.compute Ihrem Skript finden Sie unter Beispiel – Erstellen eines virtuellen Computers.
Ausführlichere Beispiele für die Verwendung der azure-mgmt-compute Bibliothek finden Sie unter Azure SDK für Python-Beispiele für die Berechnung in GitHub.
Eigenständige verwaltete Datenträger
Die folgenden Beispiele zeigen verschiedene Möglichkeiten zum Bereitstellen eigenständiger verwalteter Datenträger.
Erstellen eines leeren verwalteten Datenträgers
In diesem Beispiel wird gezeigt, wie Sie einen neuen leeren verwalteten Datenträger erstellen. Sie können ihn als leeren Datenträger verwenden, um ihn an eine virtuelle Maschine anzuhängen oder als Ausgangspunkt zum Erstellen von Momentaufnahmen oder Bildern zu nutzen.
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()
Erstellen eines verwalteten Datenträgers aus Blob-Speicher
In diesem Beispiel wird gezeigt, wie Sie einen verwalteten Datenträger aus einer VHD-Datei erstellen, die in Azure Blob Storage gespeichert ist. Diese Methode ist hilfreich, wenn Sie eine vorhandene virtuelle Festplatte wiederverwenden oder in Azure verschieben möchten.
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()
Erstellen Sie ein Image von verwalteten Datenträgern aus Blob-Speicher
Dieses Beispiel zeigt, wie Sie ein Image für verwaltete Datenträger aus einer VHD-Datei erstellen, die in Azure Blob Storage gespeichert ist. Diese Methode ist nützlich, wenn Sie ein wiederverwendbares Image erstellen möchten, das Sie zum Erstellen neuer virtueller Computer verwenden können.
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()
Erstellen Sie eine verwaltete Festplatte aus Ihrem eigenen Image.
In diesem Beispiel wird gezeigt, wie Sie einen neuen verwalteten Datenträger erstellen, indem Sie einen vorhandenen kopieren. Diese Methode ist hilfreich, wenn Sie eine Sicherung erstellen oder dasselbe Datenträgersetup auf einem anderen virtuellen Computer verwenden möchten.
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()
Virtueller Computer mit verwalteten Datenträgern
Sie können einen virtuellen Computer mit einem implizit erstellten verwalteten Datenträger basierend auf einem bestimmten Datenträgerimage erstellen, sodass Sie nicht manuell alle Datenträgerdetails definieren müssen.
Sie erstellen implizit einen verwalteten Datenträger, wenn Sie einen virtuellen Computer aus einem Betriebssystemimage in Azure erstellen. Azure behandelt das Speicherkonto automatisch, sodass Sie kein Speicherkonto manuell angeben storage_profile.os_disk oder erstellen müssen.
storage_profile = azure.mgmt.compute.models.StorageProfile(
image_reference = azure.mgmt.compute.models.ImageReference(
publisher='Canonical',
offer='UbuntuServer',
sku='16.04-LTS',
version='latest'
)
)
Ein vollständiges Beispiel zum Erstellen eines virtuellen Computers mithilfe der Azure-Verwaltungsbibliotheken für Python finden Sie unter Beispiel – Erstellen eines virtuellen Computers. In diesem Beispiel wird die Verwendung des storage_profile Parameters veranschaulicht.
Sie können auch ein storage_profile aus Ihrem eigenen Bild erstellen.
# 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
)
)
Sie können auf einfache Weise einen zuvor bereitgestellten verwalteten Datenträger anfügen:
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()
Skalierungssätze für virtuelle Computer mit verwalteten Datenträgern
Vor Azure Managed Disks mussten Sie manuell ein Speicherkonto für jeden virtuellen Computer in Ihrem VM-Skalierungssatz erstellen und den vhd_containers Parameter verwenden, um diese Speicherkonten in der Scale Set-REST-API anzugeben.
Mit Azure Managed Disks müssen Sie keine Speicherkonten mehr verwalten. Daher kann der storage_profile für Virtual Machine Scale Sets jetzt mit dem für die erstellung einzelner VM verwendeten übereinstimmen:
'storage_profile': {
'image_reference': {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "latest"
}
},
Das vollständige Beispiel lautet wie folgt:
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()
Andere Vorgänge mit verwalteten Datenträgern
Ändern der Größe eines verwalteten Datenträgers
In diesem Beispiel wird gezeigt, wie Sie einen vorhandenen verwalteten Datenträger vergrößern. Diese Änderung ist nützlich, wenn Sie mehr Speicherplatz für Ihre Daten oder Anwendungen benötigen.
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()
Aktualisieren des Speicherkontotyps der verwalteten Datenträger
In diesem Beispiel wird gezeigt, wie Sie den Speichertyp eines verwalteten Datenträgers ändern und ihn vergrößern. Diese Änderung ist hilfreich, wenn Sie mehr Platz oder eine bessere Leistung für Ihre Daten oder Anwendungen benötigen.
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()
Erstellen Sie ein Bild aus dem Blob-Speicher
In diesem Beispiel wird gezeigt, wie Sie ein verwaltetes Datenträgerimage aus einer in Azure Blob Storage gespeicherten VHD-Datei erstellen. Diese Methode ist nützlich, wenn Sie ein wiederverwendbares Image erstellen möchten, das Sie zum Erstellen neuer virtueller Computer verwenden können.
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()
Erstellen einer Momentaufnahme eines verwalteten Datenträgers, der derzeit an einen virtuellen Computer angefügt ist
In diesem Beispiel wird gezeigt, wie Sie eine Momentaufnahme eines verwalteten Datenträgers erstellen, der an einen virtuellen Computer angefügt ist. Sie können die Momentaufnahme verwenden, um den Datenträger zu sichern oder später bei Bedarf wiederherzustellen.
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()
Siehe auch
- Beispiel: Erstellen eines virtuellen Computers
- Beispiel: Erstellen einer Ressourcengruppe
- Beispiel: Auflisten von Ressourcengruppen in einem Abonnement
- Beispiel: Erstellen von Azure Storage
- Beispiel: Verwenden von Azure Storage
- Beispiel: Erstellen und Verwenden einer MySQL-Datenbank
- Eine kurze Umfrage zum Azure SDK für Python abschließen