Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Azure Managed Disks zijn krachtige, duurzame blokopslag die is ontworpen voor gebruik met Azure Virtual Machines en Azure VMware Solution. Ze vereenvoudigen schijfbeheer, bieden meer schaalbaarheid, verbeteren de beveiliging en elimineren de noodzaak om opslagaccounts rechtstreeks te beheren. Zie Azure Managed Disks voor meer informatie.
Gebruik de azure-mgmt-compute bibliotheek voor bewerkingen op beheerde schijven die zijn gekoppeld aan een bestaande VIRTUELE machine.
De codevoorbeelden in dit artikel laten algemene bewerkingen zien met Managed Disks met behulp van de azure-mgmt-compute bibliotheek. Deze voorbeelden zijn niet bedoeld om als zelfstandige scripts uit te voeren, maar om te worden geïntegreerd in uw eigen code. Zie ComputeManagementClient voor instructies over het creëren van een azure.mgmt.compute exemplaar vanuit  in uw script.
Zie azure-mgmt-compute in GitHub voor meer volledige voorbeelden van het gebruik van de  bibliotheek.
Zelfstandige beheerde schijven
In de volgende voorbeelden ziet u verschillende manieren om zelfstandige beheerde schijven in te richten.
Een lege beheerde schijf maken
In dit voorbeeld ziet u hoe u een nieuwe lege beheerde schijf maakt. U kunt deze gebruiken als een lege harde schijf om te koppelen aan een virtuele machine of als uitgangspunt voor het maken van momentopnamen of schijfkopieën.
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()
Een beheerde schijf maken op basis van blobopslag
In dit voorbeeld ziet u hoe u een beheerde schijf maakt op basis van een VHD-bestand dat is opgeslagen in Azure Blob Storage. Dit is handig wanneer u een bestaande virtuele harde schijf opnieuw wilt gebruiken of naar Azure wilt verplaatsen.
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()
Een schijfkopie van een managed disk maken vanuit Blob-opslag
In dit voorbeeld ziet u hoe u een installatiekopie van een beheerde schijf maakt uit een VHD-bestand dat is opgeslagen in Azure Blob Storage. Dit is handig wanneer u een herbruikbare afbeelding wilt maken die kan worden gebruikt om nieuwe virtuele machines te creëren.
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()
Maak een beheerde schijf van uw eigen afbeelding
In dit voorbeeld ziet u hoe u een nieuwe beheerde schijf maakt door een bestaande te kopiëren. Dit is handig als u een back-up wilt maken of dezelfde schijfinstallatie op een andere virtuele machine wilt gebruiken.
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()
Virtuele machine met Managed Disks
U kunt een virtuele machine maken met een impliciet gemaakte beheerde schijf op basis van een specifieke schijfimage, zodat u niet handmatig alle schijfdetails hoeft in te voeren.
Een beheerde schijf wordt impliciet gemaakt bij het maken van een virtuele machine op basis van een installatiekopieën van het besturingssysteem in Azure. Azure verwerkt het opslagaccount automatisch, dus u hoeft geen opslagaccount handmatig op te geven storage_profile.os_disk of te maken.
storage_profile = azure.mgmt.compute.models.StorageProfile(
    image_reference = azure.mgmt.compute.models.ImageReference(
        publisher='Canonical',
        offer='UbuntuServer',
        sku='16.04-LTS',
        version='latest'
    )
)
Zie Voorbeeld: Een virtuele machine maken voor een volledig voorbeeld waarin wordt getoond hoe u een virtuele machine maakt met behulp van de Azure-beheerbibliotheken voor Python. In dit voorbeeld ziet u hoe u de storage_profile parameter gebruikt.
nl-NL: U kunt ook een storage_profile van uw eigen afbeelding maken:
# 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
    )
)
U kunt eenvoudig een eerder ingerichte beheerde schijf koppelen:
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()
Virtuele machineschaalsets met beheerde schijven
Voordat Azure Managed Disks werd uitgevoerd, moest u handmatig een opslagaccount maken voor elke virtuele machine in uw virtuele-machineschaalset en de parameter gebruiken om deze vhd_containers opslagaccounts op te geven in de REST API van de schaalset.
Met Azure Managed Disks is opslagaccountbeheer niet meer vereist. Als gevolg hiervan kunnen storage_profile die worden gebruikt voor virtuele-machineschaalsets, nu overeenkomen met de schaalset die wordt gebruikt voor het maken van afzonderlijke VM's:
'storage_profile': {
    'image_reference': {
        "publisher": "Canonical",
        "offer": "UbuntuServer",
        "sku": "16.04-LTS",
        "version": "latest"
    }
},
Het volledige voorbeeld is als volgt:
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 bewerkingen met Managed Disks
Het formaat van een beheerde schijf wijzigen
In dit voorbeeld ziet u hoe u een bestaande beheerde schijf groter maakt. Dit is handig wanneer u meer ruimte nodig hebt voor uw gegevens of toepassingen.
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()
Het opslagaccounttype van de beheerde schijven bijwerken
In dit voorbeeld ziet u hoe u het opslagtype van een beheerde schijf wijzigt en groter maakt. Dit is handig wanneer u meer ruimte of betere prestaties nodig hebt voor uw gegevens of toepassingen.
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()
Een afbeelding maken vanuit blobopslag
In dit voorbeeld ziet u hoe u een installatiekopie van een beheerde schijf maakt uit een VHD-bestand dat is opgeslagen in Azure Blob Storage. Dit is handig als u een herbruikbaar beeld wilt maken dat u kunt gebruiken om nieuwe virtuele machines te creëren.
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()
Een momentopname maken van een beheerde schijf die momenteel is gekoppeld aan een virtuele machine
In dit voorbeeld ziet u hoe u een momentopname maakt van een beheerde schijf die is gekoppeld aan een virtuele machine. U kunt de momentopname gebruiken om een back-up van de schijf te maken of deze later te herstellen, indien nodig.
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()
Zie ook
- Voorbeeld: Een virtuele machine maken
 - Voorbeeld: Een resourcegroep maken
 - Voorbeeld: Resourcegroepen weergeven in een abonnement
 - Voorbeeld: Azure Storage maken
 - Voorbeeld: Azure Storage gebruiken
 - Voorbeeld: Een MySQL-database maken en gebruiken
 - Een korte enquête over de Azure SDK voor Python voltooien