Criar uma imagem de VM do Azure Stack HCI com imagens numa partilha local
Aplica-se a: Azure Stack HCI, versão 23H2
Este artigo descreve como criar imagens de máquina virtual (VM) para o Azure Stack HCI com imagens de origem de uma partilha local no cluster. Pode criar imagens de VM com o portal do Azure ou a CLI do Azure e, em seguida, utilizar estas imagens de VM para criar VMs do Arc no Azure Stack HCI.
Pré-requisitos
Antes de começar, certifique-se de que os seguintes pré-requisitos estão concluídos.
Certifique-se de que revê e Conclui os pré-requisitos.
Tem acesso a um sistema do Azure Stack HCI implementado, tem uma Ponte de Recursos do Arc e uma localização personalizada.
Para imagens personalizadas numa partilha local no Azure Stack HCI, terá os seguintes pré-requisitos adicionais:
- Deverá ter um VHD/VHDX carregado para uma partilha local no cluster do Azure Stack HCI.
- A imagem VHDX tem de ter o tipo Gen 2 e o arranque seguro ativado.
- A imagem VHDX tem de ser preparada com
sysprep /generalize /shutdown /oobe
. Para obter mais informações, veja Opções de linha de comandos do Sysprep. - A imagem deve residir num Volume Partilhado de Cluster disponível para todos os servidores no cluster. Os sistemas operativos Windows e Linux são suportados.
- Se utilizar um cliente para ligar ao cluster do Azure Stack HCI, veja Ligar ao Azure Stack HCI através do cliente da CLI do Azure.
Adicionar imagem de VM a partir da imagem na partilha local
Pode criar uma imagem de VM a partir de uma imagem numa partilha local do cluster e, em seguida, utilizar esta imagem para implementar VMs no cluster do Azure Stack HCI.
Siga estes passos para criar uma imagem de VM com a CLI do Azure.
Iniciar sessão e definir a subscrição
Ligue-se a um servidor no seu sistema Azure Stack HCI.
Inicie sessão. Escreva:
az login --use-device-code
Defina a sua subscrição.
az account set --subscription <Subscription ID>
Definir alguns parâmetros
Defina a sua subscrição, grupo de recursos, localização, tipo de SO para a imagem. Substitua os parâmetros em
< >
pelos valores adequados.$subscription = "<Subscription ID>" $resource_group = "<Resource group>" $location = "<Location for your Azure Stack HCI cluster>" $imageName = <VM image name> $imageSourcePath = <path to the source image> $osType = "<OS of source image>"
Os parâmetros estão descritos na seguinte tabela:
Parâmetro Description subscription
Grupo de recursos do cluster do Azure Stack HCI que associa a esta imagem. resource_group
Grupo de recursos do cluster do Azure Stack HCI que associa a esta imagem. location
Localização do cluster do Azure Stack HCI. Por exemplo, pode ser eastus
.image-path
Nome da imagem da VM criada a partir da imagem na sua partilha local.
Nota: o Azure rejeita todos os nomes que contêm a palavra-chave Windows.name
Caminho para a imagem da galeria de origem (apenas VHDX) no cluster. Por exemplo, C:\OSImages\winos.vhdx. Veja os pré-requisitos da imagem de origem. os-type
Sistema operativo associado à imagem de origem. Isto pode ser Windows ou Linux. Veja a seguir uma saída de exemplo:
PS C:\Users\azcli> $subscription = "<Subscription ID>" PS C:\Users\azcli> $resource_group = "myhci-rg" PS C:\Users\azcli> $location = "eastus" PS C:\Users\azcli> $osType = "Windows" PS C:\ClusterStorage\Volume1> $imageName = "myhci-localimage" PS C:\ClusterStorage\Volume1> $imageSourcePath = "C:\ClusterStorage\Volume1\Windows_K8s_17763.2928.220505-1621_202205101158.vhdx"
Criar imagem de VM a partir da imagem na partilha local
Selecione uma localização personalizada para implementar a sua imagem de VM. A localização personalizada deve corresponder à localização personalizada do cluster do Azure Stack HCI. Obtenha o ID de localização personalizada para o cluster do Azure Stack HCI. Execute o seguinte comando:
$customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for HCI cluster>" --query id -o tsv)
Crie a imagem da VM a partir de uma imagem especificada numa partilha local no cluster do Azure Stack HCI.
az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
É iniciada uma tarefa de implementação para a imagem da VM.
Neste exemplo, o caminho de armazenamento foi especificado com o
--storage-path-id
sinalizador e que garantiu que os dados da carga de trabalho (incluindo a VM, a imagem da VM, o disco de dados não SO) são colocados no caminho de armazenamento especificado.Se o sinalizador não for especificado, os dados da carga de trabalho são colocados automaticamente num caminho de armazenamento de elevada disponibilidade.
A implementação da imagem demora alguns minutos a concluir. O tempo necessário para transferir a imagem depende do tamanho da imagem na partilha local e da largura de banda de rede disponível para a transferência.
Veja a seguir uma saída de exemplo:
PS C:\Users\azcli> $customLocationID=(az customlocation show --resource-group $resource_group --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
type="CustomLocation" --location $Location --name $mktplaceImage --os-type $osType --image-path $mktImageSourcePath
Command group 'azurestackhci' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
{
"extendedLocation": {
"name": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.ExtendedLocation/customLocations/myhci-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-localimage",
"location": "eastus",
"name": "myhci-localimage",
"properties": {
"identifier": null,
"imagePath": null,
"osType": "Windows",
"provisioningState": "Succeeded",
"status": {
"downloadStatus": {},
"progressPercentage": 100,
"provisioningStatus": {
"operationId": "82f58893-b252-43db-97a9-258f6f7831d9*43114797B86E6D2B28C4B52B02302C81C889DABDD9D890F993665E223A5947C3",
"status": "Succeeded"
}
},
"storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
"version": {
"name": null,
"properties": {
"storageProfile": {
"osDiskImage": {}
}
}
}
},
"resourceGroup": "myhci-rg",
"systemData": {
"createdAt": "2023-11-02T06:15:10.450908+00:00",
"createdBy": "guspinto@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-11-02T06:15:56.689323+00:00",
"lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
"lastModifiedByType": "Application"
},
"tags": null,
"type": "microsoft.azurestackhci/galleryimages"
}
PS C:\Users\azcli>
Listar imagens de VM
Tem de ver a lista de imagens de VM para escolher uma imagem para gerir.
Siga estes passos para listar a imagem da VM com a CLI do Azure.
Execute o PowerShell como um administrador.
Defina alguns parâmetros.
$subscription = "<Subscription ID associated with your cluster>" $resource_group = "<Resource group name for your cluster>"
Liste todas as imagens de VM associadas ao cluster. Execute o seguinte comando:
az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
Dependendo do comando utilizado, é listado um conjunto correspondente de imagens associadas ao cluster do Azure Stack HCI.
- Se especificar apenas a subscrição, o comando lista todas as imagens na subscrição.
- Se especificar a subscrição e o grupo de recursos, o comando lista todas as imagens no grupo de recursos.
Estas imagens incluem:
- Imagens de VM a partir de imagens do marketplace.
- Imagens personalizadas que residem na sua conta de Armazenamento do Azure ou estão numa partilha local no cluster ou num cliente ligado ao cluster.
Eis um resultado de exemplo.
PS C:\Users\azcli> az stack-hci-vm image list --subscription "<Subscription ID>" --resource-group "myhci-rg"
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
[
{
"extendedLocation": {
"name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/w
inServer2022Az-01",
"location": "eastus",
"name": "winServer2022Az-01",
"properties": {
"hyperVGeneration": "V2",
"identifier": {
"offer": "windowsserver",
"publisher": "microsoftwindowsserver",
"sku": "2022-datacenter-azure-edition-core"
},
"imagePath": null,
"osType": "Windows",
"provisioningState": "Succeeded",
"status": {
"downloadStatus": {
"downloadSizeInMB": 6710
},
"progressPercentage": 100,
"provisioningStatus": {
"operationId": "19742d69-4a00-4086-8f17-4dc1f7ee6681*E1E9889F0D1840B93150BD74D428EAE483CB67B0904F9A198C161AD471F670ED",
"status": "Succeeded"
}
},
"storagepathId": null,
"version": {
"name": "20348.2031.231006",
"properties": {
"storageProfile": {
"osDiskImage": {
"sizeInMB": 130050
}
}
}
}
},
"resourceGroup": "myhci-rg",
"systemData": {
"createdAt": "2023-10-30T21:44:53.020512+00:00",
"createdBy": "guspinto@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-10-30T22:08:25.495995+00:00",
"lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
"lastModifiedByType": "Application"
},
"tags": {},
"type": "microsoft.azurestackhci/marketplacegalleryimages"
}
]
PS C:\Users\azcli>
Ver propriedades da imagem da VM
Poderá querer ver as propriedades das imagens da VM antes de utilizar a imagem para criar uma VM. Siga estes passos para ver as propriedades da imagem:
Siga estes passos para utilizar a CLI do Azure para ver as propriedades de uma imagem:
Execute o PowerShell como um administrador.
Defina os seguintes parâmetros.
$subscription = "<Subscription ID>" $resource_group = "<Cluster resource group>" $mktplaceImage = "<Marketplace image name>"
Pode ver as propriedades da imagem de duas formas diferentes: especificar o ID ou especificar o nome e o grupo de recursos. Siga os seguintes passos ao especificar o ID de imagem do Marketplace:
Defina o parâmetro seguinte.
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
Execute o seguinte comando para ver as propriedades.
az stack-hci-vm image show --ids $mktplaceImageID
Eis um resultado de exemplo para este comando:
PS C:\Users\azcli> az stack-hci-vm image show --ids $mktplaceImageID Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus { "extendedLocation": { "name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl", "type": "CustomLocation" }, "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage", "location": "eastus", "name": "myhci-marketplaceimage", "properties": { "containerName": null, "hyperVGeneration": null, "identifier": null, "imagePath": null, "osType": "Windows", "provisioningState": "Succeeded", "status": null, "version": null }, "resourceGroup": "myhci-rg", "systemData": { "createdAt": "2022-08-05T20:52:38.579764+00:00", "createdBy": "guspinto@microsoft.com", "createdByType": "User", "lastModifiedAt": "2022-08-05T20:52:38.579764+00:00", "lastModifiedBy": "guspinto@microsoft.com", "lastModifiedByType": "User" }, "tags": null, "type": "microsoft.azurestackhci/galleryimages" } PS C:\Users\azcli>
Eliminar imagem de VM
Poderá querer eliminar uma imagem de VM se a transferência falhar por algum motivo ou se a imagem já não for necessária. Siga estes passos para eliminar as imagens da VM.
Execute o PowerShell como um administrador.
Defina os seguintes parâmetros.
$subscription = "<Subscription ID>" $resource_group = "<Cluster resource group>" $galleryImageName = "<Gallery image name>"
Remover uma imagem de VM existente. Execute o seguinte comando:
az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
Pode eliminar a imagem de duas formas:
- Especifique o nome e o grupo de recursos.
- Especifique o ID.
Depois de eliminar uma imagem, pode verificar se a imagem foi removida. Eis um resultado de exemplo quando a imagem foi eliminada ao especificar o nome e o grupo de recursos.
PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "myhci-rg"
PS C:\Users\azcli> $mktplaceImage = "myhci-marketplaceimage"
PS C:\Users\azcli> az stack-hci-vm image delete --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Are you sure you want to perform this operation? (y/n): y
PS C:\Users\azcli> az stack-hci-vm image show --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
ResourceNotFound: The Resource 'Microsoft.AzureStackHCI/marketplacegalleryimages/myhci-marketplaceimage' under resource group 'myhci-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>
Passos seguintes
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários