0

J'essaie de publier mon produit sur Azure marketplaces. J'utilise Windows 2012 R2 Datacenter que j'utilise pour créer une machine virtuelle à partir de portal.azure.com. J'ai suivi les étapes de l'exécution d'un sysprep, en le généralisant puis en créant des conteneurs.Azure Windows Portal: impossible d'enregistrer l'image pour créer un disque dur virtuel

Après que lorsque nous courons save-azurermvmimage pour capturer l'image, je reçois the capture action is only supported on a virtual machine with blob based disks. please use the image resource apis to create an image from a managed virtual machine Je ne suis pas en mesure d'obtenir l'URL de l'image dans le conteneur. Y a-t-il quelque chose que je fasse de mal? S'il vous plaît guider!

Répondre

1

@Jason Ye: J'ai été capable de résoudre mon problème et de publier. J'ai arrêté d'utiliser PowerShell et utilisé seulement le portail azur pour faire toutes les étapes. La documentation MS fournie est fragmentée et nouvelle, les anciennes versions sont combinées même si elles sont déconseillées. Ils sont écrits d'une manière supposant que le lecteur a déjà expérimenté faire des choses.

Ainsi, après beaucoup de travail, je suis finalement venu avec ces étapes:

  1. Compute nouvelle machine virtuelle Windows Server 2012 R2 Datacenter.
  2. Suivez les étapes de création, mais utilisez un disque non géré afin de gérer le compte de stockage. Gardez une trace de tous les noms que vous donnez, en particulier VM, nom de compte de stockage et nom d'utilisateur/mot de passe. Cette authentification sera utilisée à l'étape 5.
  3. Une fois créée, l'URL VHD est stockée dans un compte de stockage créé, qui peut également être affiché dans la section Disques sous VM (la taille 127Gib est affichée).
  4. Connectez-vous à VM en utilisant le bouton 'Connecter' sur le portail et rdp avec les informations d'identification que vous avez fournies lors de la création de VM aux étapes 2/3. Si vous ne le voyez pas, vous devrez ajouter le port rdp dans les règles entrantes.
  5. Une fois connecté, vérifiez et exécutez les mises à jour Windows requises (laissez facultatif) et installez votre logiciel et faites tout ce qui est nécessaire pour votre logiciel.
  6. Une fois cela fait, lancez sysprep avec les options Generalize et Shutdown.
  7. Sysprep arrête la machine virtuelle, ce qui modifie le statut de la machine virtuelle dans le portail Azure à Stopped (réparti).
  8. Créez une image en cliquant sur Images -> Ajouter, comme illustré ci-dessous. Utilisez un nouveau groupe de ressources et, dans le champ Stockage de stockage, recherchez le compte de stockage créé à l'étape 3.
  9. Votre compte de stockage aura un conteneur dont le nom par défaut est 'vhds'. Votre .vhd est dans ce dossier. Si vous ne voyez pas votre compte, vous vérifiez le mauvais nom ou vous créez un disque géré.
  10. Une fois l'image créée, créez une VM à partir de l'image nouvellement créée. Dans la console, si vous cliquez sur cette image, il y aura une option 'Créer une machine virtuelle' (utilisez le groupe de ressources existant créé ci-dessus pour l'image). Cette fois-ci, il s'agit d'une machine virtuelle gérée car la machine virtuelle est créée à partir de l'image (mentionnée dans la section 'i').
  11. Vous pouvez vous connecter à cette VM (deuxième) nouvellement créée et vérifier vos données, si elles se trouvent dans un dossier dans c: drive. Si vous ne voyez pas le bouton 'Connecter', ajoutez le port rdp dans les règles entrantes.
  12. Arrêtez la machine virtuelle à l'étape 4/5 en cliquant sur le bouton Arrêter dans le portail.
  13. Téléchargez et installez Microsoft Storage Explorer.
  14. Recherchez le compte de stockage créé à l'étape 2/3. Développez-le et passez à la hiérarchie la plus basse. Cliquez dessus et dans le menu de droite, vous verrez votre vhd. Faites un clic droit et "Obtenir une signature d'accès partagé".
  15. Cochez la case "Généraliser ...". Entrez la date de début un jour avant la date actuelle et la date d'expiration un mois à compter de la date actuelle (> 7 jours à compter de la date actuelle). Copiez l'URL de signature et enregistrez-le.
  16. Maintenant, allez sur le portail de publication: https://cloudpartner.azure.com et créez une offre. Remplissez les champs nécessaires. Dans l'onglet SKU, vous devez ajouter une image de nouvelle machine virtuelle où la version de disque peut être n'importe quel format au format number.number.number et l'URL VHD du système d'exploitation sera l'URL de signature copiée ci-dessus. Dans les étapes Atihska, Après Sysprep, la machine sera arrêtée et l'état sera stoppé mais non stoppé (désalloué)
5

Le disque géré est différent du disque non géré. Nous pouvons utiliser Powershell pour créer une image gérée, mais nous ne pouvons pas trouver cette nouvelle image dans notre compte de stockage, disque géré par Azure, nous ne pouvons pas le gérer directement.

Pour créer une image gérée d'une machine virtuelle, nous pouvons suivre les étapes suivantes:

course sysprep à généralisent les fenêtres VM (Ce processus deletes la machine virtuelle d'origine après sa captured.Prior pour capturer une image. d'une machine virtuelle Azure, il est recommandé de la machine virtuelle cible être sauvegardée)

$vmName = "myVM" 
$rgName = "myResourceGroup" 
$location = "EastUS" 
$imageName = "myImage" 
Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force 
Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized 
$vm = Get-AzureRmVM -Name $vmName -ResourceGroupName $rgName 
$image = New-AzureRmImageConfig -Location $location -SourceVirtualMachineId $vm.ID 
New-AzureRmImage -Image $image -ImageName $imageName -ResourceGroupName $rgName 

Après terminée, nous pouvons trouver cette image ici. enter image description here

Pour plus d'informations sur la création d'une image gérée, reportez-vous au link. À propos, nous devrions utiliser Azure PowerShell 3.7.0 ou plus tard.

PS C:\Users> Get-Module -ListAvailable -Name Azure -Refresh 


    Directory: C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement 


ModuleType Version Name        ExportedCommands 
---------- ------- ----        ---------------- 
Manifest 3.7.0  Azure        {Get-AzureAutomationCertificate, Get-AzureAutomationConnec... 
+0

Cela fonctionne-t-il maintenant? s'il vous plaît laissez-moi savoir si vous souhaitez plus d'assistance. –

+0

Ye Ouais J'utilise maintenant VM non managée afin d'avoir un compte de stockage visible avec vhd. Avec powershell 5.0, j'obtiens des commandes réussies mais je ne vois pas l'image sur le portail, donc j'ai arrêté d'utiliser powershell pour publier et utiliser le portail pour faire le processus. En outre, si j'ajoute un disque de données à une machine virtuelle, l'image et le vm déployés à partir de cette image échouent toujours. Donc, ajouter mes données sur le disque du système d'exploitation à la place. – Atihska

+0

J'ai atteint l'étape de certification et j'ai essayé de connecter la machine virtuelle à l'aide de l'outil de certification, mais je reçois une erreur winrm. J'ai donc renoncé à cette étape et je viens de soumettre une demande de publication sur le portail. Je mettrai à jour ceci une fois que je suis satisfait de toutes les étapes. – Atihska

0

Pour la désallocation, vous devez exécuter les commandes powershell ci-dessous.

Stop-AzureRMVM -ResourceGroupName ResourceGroup -Name VMName 

Set-AzureRMVM -ResourceGroupName ResourceGroup -Name VMName -Generalized