Créer un stockage sur disque de machine virtuelle dans Azure Stack Hub
Cet article explique comment créer du stockage sur disque de machine virtuelle à l’aide du portail Azure Stack Hub ou de PowerShell.
Vue d’ensemble
Azure Stack Hub prend en charge l’utilisation de disques managés et non managés dans des machines virtuelles, tant comme disque de système d’exploitation que comme disque de données.
Les disques managés simplifient la gestion des disques des machines virtuelles Azure IaaS, en gérant les comptes de stockage associés aux disques de machines virtuelles. Vous devez simplement spécifier la taille de disque dont vous avez besoin pour qu’Azure Stack Hub crée et gère le disque pour vous.
Les disques non managés nécessitent la création d’un compte de stockage pour stocker les disques. Les disques que vous créez sont appelés disques de machine virtuelle et sont stockés dans des conteneurs, dans le compte de stockage.
Conseils de bonnes pratiques
Nous vous recommandons d’utiliser des disques managés pour les machines virtuelles afin de faciliter la gestion et l’équilibrage de la capacité. Il n’est pas nécessaire de préparer un compte de stockage et des conteneurs avant d’utiliser des disques managés. Lors de la création de plusieurs disques managés, ceux-ci sont répartis sur plusieurs volumes, ce qui permet d’équilibrer la capacité des volumes.
Pour améliorer les performances et réduire les coûts globaux liés aux disques non managés, nous vous recommandons de placer chaque disque non managé dans un conteneur distinct. Même si vous pouvez placer les disques de système d’exploitation et les disques de données dans un même conteneur, il est préférable de les placer chacun dans leur conteneur.
Si vous ajoutez un ou plusieurs disques de données à une machine virtuelle, utilisez des conteneurs supplémentaires comme emplacement de stockage de ces disques. Le disque du système d’exploitation pour des machines virtuelles supplémentaires doit également se trouver dans son propre conteneur distinct.
Quand vous créez des machines virtuelles, vous pouvez réutiliser le même compte de stockage pour chaque nouvelle machine virtuelle. Seuls les conteneurs que vous créez doivent être uniques.
Ajout de nouveaux disques
Le tableau suivant est un récapitulatif de la façon d’ajouter des disques avec le portail et avec PowerShell :
Method | Options |
---|---|
Portail de l’utilisateur | - Ajouter de nouveaux disques de données à une machine virtuelle existante. Les nouveaux disques sont créés par Azure Stack Hub. - Ajoutez un fichier de disque existant (.vhd) à une machine virtuelle créée précédemment. Pour cela, vous devez d’abord préparer le .vhd, puis charger le fichier sur Azure Stack Hub. |
PowerShell | - Créez une machine virtuelle en utilisant un disque de système d’exploitation, et ajoutez parallèlement un ou plusieurs disques de données à cette machine virtuelle. |
Utiliser le portail pour ajouter des disques à une machine virtuelle
Par défaut, quand vous utilisez le portail pour créer une machine virtuelle pour la plupart des éléments de la Place de marché, seul le disque du système d’exploitation est créé.
Après avoir créé une machine virtuelle, vous pouvez utiliser le portail pour :
- Créer un disque de données et l’attacher à la machine virtuelle.
- Charger un disque de données existant et l’attacher à la machine virtuelle.
Placez chaque disque non managé que vous ajoutez dans un conteneur distinct.
Utiliser le portail pour créer et attacher un disque de données
Dans le portail, sélectionnez Tous les services, Compute, puis Machines virtuelles.
Sélectionnez une machine virtuelle qui a déjà été créée à partir de la liste.
Pour la machine virtuelle, sélectionnez Disques, puis Ajouter un disque de données.
Pour le disque de données :
- Entrez le LUN (numéro d’unité logique). Le numéro d’unité logique doit être un nombre valide.
- Sélectionnez Créer un disque.
Dans le panneau Créer un disque géré :
- Entrez le Nom du disque.
- Sélectionnez un groupe de ressources existant ou créez-en un.
- Sélectionnez un Emplacement. Par défaut, l’emplacement est défini sur le conteneur qui renferme le disque du système d’exploitation.
- Sélectionnez le Type de compte.
Remarque
Les disques Premium (SSD) et les disques standard (HDD) sont sauvegardés par la même infrastructure de stockage dans Azure Stack Hub. Ils offrent les mêmes performances.
Sélectionnez le Type de source.
Créez un disque à partir d’un instantané d’un autre disque ou d’un objet blob d’un compte de stockage, ou créez un disque vide.
Instantané : sélectionnez un instantané, s’il est disponible. L’instantané doit être disponible dans l’abonnement et l’emplacement de la machine virtuelle.
Blob de stockage :
- Ajoutez l’URI de l’objet blob de stockage qui contient l’image disque.
- Sélectionnez Parcourir pour ouvrir le panneau Comptes de stockage. Pour obtenir des instructions, consultez Ajouter un disque de données à partir d’un compte de stockage.
- Sélectionnez le type de système d’exploitation de l’image : Windows, Linux ou None (disque de données).
Sélectionnez la Taille (Gio).
Le coût d’un disque augmente avec sa taille.
Sélectionnez Créer. Azure Stack Hub crée et valide le disque managé.
Après qu’Azure Stack Hub a créé le disque et l’a attaché à la machine virtuelle, le nouveau disque apparaît dans les paramètres de disque de machine virtuelle sous Disques de données.
Ajouter un disque de données à partir d’un compte de stockage
Pour plus d’informations sur l’utilisation des comptes de stockage dans Azure Stack Hub, voir Présentation du stockage Azure Stack Hub.
Sélectionnez le compte de stockage à utiliser.
Sélectionnez le Conteneur dans lequel vous souhaitez placer le disque de données. Si vous le souhaitez, vous pouvez créer un conteneur dans le panneau Conteneurs. Vous pouvez ensuite modifier l’emplacement du nouveau disque et le définir sur son propre conteneur. Si vous utilisez un conteneur distinct pour chaque disque, vous répartissez le positionnement du disque de données, ce qui peut améliorer les performances.
Pour enregistrer la sélection, choisissez Sélectionner.
Ajouter un disque de données existant à une machine virtuelle
Préparez un fichier .vhd à utiliser comme disque de données pour une machine virtuelle. Chargez ce fichier .vhd sur un compte de stockage que vous utilisez avec la machine virtuelle à laquelle vous souhaitez attacher le fichier .vhd.
- Pour stocker le fichier .vhd, pensez à utiliser un conteneur autre que le conteneur du disque du système d’exploitation.
- Avant de télécharger un disque dur virtuel dans Azure, vous devez apprendre à préparer un disque dur virtuel Windows à charger sur Azure.
- Consultez Planification de la migration vers la fonctionnalité Disques managés avant de démarrer la migration vers la fonctionnalité Disques managés.
Une fois que le fichier .vhd est chargé, vous êtes prêt à attacher le disque dur virtuel (VHD) à une machine virtuelle. Dans le menu de gauche, sélectionnez Machines virtuelles.
Choisissez la machine virtuelle dans la liste.
Sur la page correspondant à la machine virtuelle, sélectionnez Disques, puis Attacher un disque existant.
Dans la page Attacher un disque existant, sélectionnez Fichier VHD. La page Comptes de stockage s’ouvre.
Sous Comptes de stockage, sélectionnez le compte à utiliser, puis choisissez un conteneur qui contient le fichier .vhd que vous avez précédemment chargé. Sélectionnez le fichier .vhd, puis choisissez Sélectionner pour enregistrer la sélection.
Sous Attacher un disque existant, le fichier que vous avez sélectionné est répertorié sous Fichier VHD. Mettez à jour le paramètre Mise en cache de l’hôte du disque, puis sélectionnez OK pour enregistrer la configuration du nouveau disque de la machine virtuelle.
Après qu’Azure Stack Hub a créé le disque et l’a attaché à la machine virtuelle, le nouveau disque apparaît dans les paramètres de disque de la machine virtuelle sous Disques de données.
Utiliser PowerShell pour ajouter plusieurs disques à une machine virtuelle
Vous pouvez utiliser PowerShell pour provisionner une machine virtuelle et ajouter de nouveaux disques de données, ou pour attacher un disque managé préexistant ou un fichier .vhd en tant que disque de données.
La cmdlet Add-AzVMDataDisk ajoute un disque de données à une machine virtuelle. Vous pouvez ajouter un disque de données lorsque vous créez une machine virtuelle. Vous pouvez également ajouter un disque de données à une machine virtuelle existante. Pour un disque non managé, spécifiez le paramètre VhdUri pour distribuer les disques sur différents conteneurs.
Ajouter des disques de données à une nouvelle machine virtuelle
Les exemples suivants utilisent des commandes PowerShell pour créer une machine virtuelle avec trois disques de données. Les commandes sont fournies avec plusieurs parties en raison des différences mineures liées à l’utilisation de disques managés ou de disques non managés.
Créer une configuration de machine virtuelle et des ressources réseau
La première commande crée un objet de machine virtuelle, puis le stocke dans la variable $VirtualMachine
. Les commandes affectent un nom et une taille à la machine virtuelle, puis créent les ressources réseau (réseau virtuel, sous-réseau, carte réseau virtuelle, groupe de sécurité réseau et adresse IP publique) pour la machine virtuelle.
# Create new virtual machine configuration
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine" `
-VMSize "Standard_A2"
# Set variables
$rgName = "myResourceGroup"
$location = "local"
# Create a subnet configuration
$subnetName = "mySubNet"
$singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24
# Create a vnet configuration
$vnetName = "myVnetName"
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
-AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet
# Create a public IP
$ipName = "myIP"
$pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
-AllocationMethod Dynamic
# Create a network security group configuration
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
-Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
-SourceAddressPrefix Internet -SourcePortRange * `
-DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
-Name $nsgName -SecurityRules $rdpRule
# Create a NIC configuration
$nicName = "myNicName"
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName `
-Location $location -SubnetId $vnet.Subnets[0].Id `
-NetworkSecurityGroupId $nsg.Id -PublicIpAddressId $pip.Id
Ajouter des disques managés
Les trois commandes suivantes ajoutent des disques de données managés à la machine virtuelle stockée dans $VirtualMachine
. Chaque commande spécifie le nom et d’autres propriétés du disque.
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
-Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
-CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
-Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
-CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
-Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
-CreateOption Empty
La commande suivante ajoute un disque de système d’exploitation en tant que disque managé à la machine virtuelle stockée dans $VirtualMachine
.
# Set OS Disk
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName `
-CreateOption FromImage -Windows
Ajouter des disques non managés
Les trois commandes suivantes affectent les chemins des trois disques de données non managés aux variables $DataDiskVhdUri01
, $DataDiskVhdUri02
et $DataDiskVhdUri03
. Définissez un nom de chemin d’accès différent dans l’URL pour répartir les disques dans différents conteneurs :
$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"
Les trois commandes suivantes ajoutent des disques de données à la machine virtuelle stockée dans $VirtualMachine
. Chaque commande spécifie le nom et d’autres propriétés du disque. L’URI de chaque disque est stocké dans $DataDiskVhdUri01
, $DataDiskVhdUri02
et $DataDiskVhdUri03
.
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
-Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
-VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
-Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
-VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
-Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
-VhdUri $DataDiskVhdUri03 -CreateOption Empty
Les commandes suivantes ajoutent des disques de système d’exploitation non managés à la machine virtuelle stockée dans $VirtualMachine
.
# Set OS Disk
$osDiskUri = "https://contoso.blob.local.azurestack.external/vhds/osDisk.vhd"
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName -VhdUri $osDiskUri `
-CreateOption FromImage -Windows
Créer une machine virtuelle
Utilisez les commandes PowerShell suivantes pour définir une image de système d’exploitation, pour ajouter la configuration du réseau à la machine virtuelle, puis pour démarrer la nouvelle machine virtuelle.
#Create the new VM
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName VirtualMachine -ProvisionVMAgent | `
Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
-Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nic.Id
New-AzVM -ResourceGroupName $rgName -Location $location -VM $VirtualMachine
Ajouter des disques de données à une machine virtuelle existante
Les exemples suivants utilisent des commandes PowerShell pour ajouter trois disques de données à une machine virtuelle existante :
Obtenir une machine virtuelle
La première commande récupère la machine virtuelle nommée VirtualMachine à l’aide de la cmdlet Get-AzVM. La commande stocke la machine virtuelle dans la variable $VirtualMachine
:
$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" `
-Name "VirtualMachine"
Ajouter un disque managé
Les trois commandes suivantes ajoutent les disques de données managés à la machine virtuelle stockée dans la variable $VirtualMachine
. Chaque commande spécifie le nom et d’autres propriétés du disque.
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" -Lun 0 `
-Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" -Lun 1 `
-Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" -Lun 2 `
-Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty
Ajouter un disque non managé
Les trois commandes suivantes affectent des chemins pour trois disques de données aux variables $DataDiskVhdUri01
, $DataDiskVhdUri02
et $DataDiskVhdUri03
. Les différents noms de chemin dans les URI VHD indiquent différents conteneurs pour le placement des disques :
$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"
Les trois commandes suivantes ajoutent les disques de données à la machine virtuelle stockée dans la variable $VirtualMachine
. Chaque commande spécifie le nom, l’emplacement et des propriétés supplémentaires du disque. L’URI de chaque disque est stocké dans $DataDiskVhdUri01
, $DataDiskVhdUri02
et $DataDiskVhdUri03
.
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" `
-VhdUri $DataDiskVhdUri01 -LUN 0 `
-Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" `
-VhdUri $DataDiskVhdUri02 -LUN 1 `
-Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" `
-VhdUri $DataDiskVhdUri03 -LUN 2 `
-Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty
Mettre à jour l’état d’une machine virtuelle
Cette commande met à jour l’état de la machine virtuelle stockée dans $VirtualMachine
dans -ResourceGroupName
:
Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine
Étapes suivantes
Pour en savoir plus sur les machines virtuelles Azure Stack Hub, voir Considérations relatives aux machines virtuelles dans Azure Stack Hub.