Bir sanal makinenin veya VHD 'nin görüntüsünü oluşturmaHow to create an image of a virtual machine or VHD

Azure 'da kullanmak üzere bir sanal makinenin (VM) birden çok kopyasını oluşturmak için VM 'nin veya işletim sistemi VHD 'sinin bir görüntüsünü yakalayın.To create multiple copies of a virtual machine (VM) for use in Azure, capture an image of the VM or of the OS VHD. Dağıtım için bir görüntü oluşturmak üzere kişisel hesap bilgilerini kaldırmanız gerekir.To create an image for deployment, you'll need to remove personal account information. Aşağıdaki adımlarda, var olan bir VM 'yi serbest bırakın, serbest bırakın ve bir görüntü oluşturun.In the following steps, you deprovision an existing VM, deallocate it and create an image. Bu görüntüyü, aboneliğinizdeki tüm kaynak grupları arasında VM 'Ler oluşturmak için kullanabilirsiniz.You can use this image to create VMs across any resource group within your subscription.

Yedekleme veya hata ayıklama için mevcut Linux sanal makinenizin bir kopyasını oluşturmak veya şirket içi bir VM 'den özelleştirilmiş bir Linux VHD 'yi yüklemek için, bkz. özel disk görüntüsünden LINUX VM 'Yi karşıya yükleme ve oluşturma.To create a copy of your existing Linux VM for backup or debugging, or to upload a specialized Linux VHD from an on-premises VM, see Upload and create a Linux VM from custom disk image.

Özel görüntünüzü oluşturmak için Azure VM görüntü Oluşturucu (Genel Önizleme) hizmetini kullanabilirsiniz, herhangi bir araç öğrenmeniz gerekmez veya yapı işlem hatlarını kurulum, yalnızca bir görüntü yapılandırması sağlamaktan ve görüntü Oluşturucu görüntüyü oluşturacaktır.You can use the Azure VM Image Builder (Public Preview) service to build your custom image, no need to learn any tools, or setup build pipelines, simply providing an image configuration, and the Image Builder will create the Image. Daha fazla bilgi için bkz. Azure VM görüntü Oluşturucu Ile çalışmayabaşlama.For more information, see Getting Started with Azure VM Image Builder.

Ek olarak, özel yapılandırmanızı oluşturmak için Packer kullanın.Additonally, use Packer to create your custom configuration. Daha fazla bilgi için bkz. Azure 'Da Linux sanal makine görüntüleri oluşturmak Için Packer kullanma.For more information, see How to use Packer to create Linux virtual machine images in Azure.

Görüntü oluşturmadan önce aşağıdaki öğelere sahip olmanız gerekir:You'll need the following items before creating an image:

  • Yönetilen diskler kullanan Kaynak Yöneticisi dağıtım modelinde oluşturulan bir Azure VM 'si.An Azure VM created in the Resource Manager deployment model that uses managed disks. Henüz bir Linux sanal makinesi oluşturmadıysanız Portal, Azure CLIveya Kaynak Yöneticisi şablonlarınıkullanabilirsiniz.If you haven't yet created a Linux VM, you can use the portal, the Azure CLI, or Resource Manager templates. VM 'yi gerektiği şekilde yapılandırın.Configure the VM as needed. Örneğin, veri diskleri ekleyin, güncelleştirmeleri uygulayın ve uygulamaları yükler.For example, add data disks, apply updates, and install applications.

  • En son Azure CLI yüklü ve az oturum açmaile bir Azure hesabında oturum açmış olmalıdır.The latest Azure CLI installed and be logged in to an Azure account with az login.

Bunun yerine bir öğretici tercih edilsin mi?Prefer a tutorial instead?

Bu makalenin basitleştirilmiş bir sürümü ve Azure 'da VM 'Ler hakkında sınama, değerlendirme veya öğrenme için bkz. CLI kullanarak Azure VM 'nin özel bir görüntüsünü oluşturma.For a simplified version of this article, and for testing, evaluating, or learning about VMs in Azure, see Create a custom image of an Azure VM by using the CLI. Aksi takdirde, tam resmi almak için burada okumayı sürdürün.Otherwise, keep reading here to get the full picture.

1. adım: VM’nin sağlamasını kaldırmaStep 1: Deprovision the VM

İlk olarak, makineye özgü dosyaları ve verileri silmek için Azure VM Aracısı 'nı kullanarak VM 'yi parçalara ayırcaksınız.First you'll deprovision the VM by using the Azure VM agent to delete machine-specific files and data. Komutunu kaynak Linux sanal makinenizde -deprovision+user parametresiyle birlikte kullanın. waagentUse the waagent command with the -deprovision+user parameter on your source Linux VM. Daha fazla bilgi için bkz. Azure Linux Aracısı kullanıcı kılavuzu.For more information, see the Azure Linux Agent user guide.

  1. Bir SSH istemcisiyle Linux sanal makinenize bağlanın.Connect to your Linux VM with an SSH client.

  2. SSH penceresinde, aşağıdaki komutu girin:In the SSH window, enter the following command:

    sudo waagent -deprovision+user
    

    Not

    Bu komutu yalnızca görüntü olarak yakaladığınız bir VM üzerinde çalıştırın.Only run this command on a VM that you'll capture as an image. Bu komut görüntünün tüm hassas bilgilerin temizlenme veya yeniden dağıtım için uygun olduğunu garanti etmez.This command does not guarantee that the image is cleared of all sensitive information or is suitable for redistribution. Parametresi +user , sağlanan son kullanıcı hesabını da kaldırır.The +user parameter also removes the last provisioned user account. Kullanıcı hesabı kimlik bilgilerini VM 'de tutmak için yalnızca -deprovisionkullanın.To keep user account credentials in the VM, use only -deprovision.

  3. Devam etmek için y girin.Enter y to continue. Bu onay adımından -force kaçınmak için parametresini ekleyebilirsiniz.You can add the -force parameter to avoid this confirmation step.

  4. Komut tamamlandıktan sonra SSH istemcisini kapatmak için Çıkış ' ı girin.After the command completes, enter exit to close the SSH client. VM hala bu noktada çalışmaya devam edecektir.The VM will still be running at this point.

2. adım: VM görüntüsü oluşturStep 2: Create VM image

VM 'yi Genelleştirilmiş olarak işaretlemek ve görüntüyü yakalamak için Azure CLı 'yi kullanın.Use the Azure CLI to mark the VM as generalized and capture the image. Aşağıdaki örneklerde, örnek parametre adlarını kendi değerlerinizle değiştirin.In the following examples, replace example parameter names with your own values. Örnek parametre adları Myresourcegroup, Myvnetve myvm' i içerir.Example parameter names include myResourceGroup, myVnet, and myVM.

  1. Az VM serbest bırakmaile sağladığınız VM 'yi serbest bırakın.Deallocate the VM that you deprovisioned with az vm deallocate. Aşağıdaki örnek, Myresourcegroup adlı kaynak grubunda Myvm adlı VM 'yi kaldırır.The following example deallocates the VM named myVM in the resource group named myResourceGroup.

    az vm deallocate \
      --resource-group myResourceGroup \
      --name myVM
    

    Üzerinde geçiş yapmadan önce VM 'nin tamamen serbest olmasını bekleyin.Wait for the VM to completely deallocate before moving on. Bu işlem birkaç dakika sürebilir.This may take a few minutes to complete. VM, ayırmayı kaldırma sırasında kapatılır.The VM is shut down during deallocation.

  2. Az VM generalizekomutunu kullanarak VM 'yi Genelleştirilmiş olarak işaretleyin.Mark the VM as generalized with az vm generalize. Aşağıdaki örnek, Myresourcegroup adlı kaynak grubunda Myvm adlı VM 'yi Genelleştirilmiş olarak işaretler.The following example marks the VM named myVM in the resource group named myResourceGroup as generalized.

    az vm generalize \
      --resource-group myResourceGroup \
      --name myVM
    

    Genelleştirilmiş bir VM artık yeniden başlatılamaz.A VM that has been generalized can no longer be restarted.

  3. Az Image Createkomutuyla VM kaynağının bir görüntüsünü oluşturun.Create an image of the VM resource with az image create. Aşağıdaki örnek Myresourcegroup adlı kaynak grubunda MYVM adlı VM kaynağını kullanarak MyImage adlı bir görüntü oluşturur.The following example creates an image named myImage in the resource group named myResourceGroup using the VM resource named myVM.

    az image create \
      --resource-group myResourceGroup \
      --name myImage --source myVM
    

    Not

    Görüntü, kaynak VM 'niz ile aynı kaynak grubunda oluşturulur.The image is created in the same resource group as your source VM. Bu görüntüden, aboneliğinizdeki herhangi bir kaynak grubunda VM 'Ler oluşturabilirsiniz.You can create VMs in any resource group within your subscription from this image. Yönetim açısından, VM kaynaklarınız ve görüntüleriniz için belirli bir kaynak grubu oluşturmak isteyebilirsiniz.From a management perspective, you may wish to create a specific resource group for your VM resources and images.

    Görüntünüzü bölge dayanıklı depolamada depolamak isterseniz, bunu kullanılabilirlik bölgelerini destekleyen bir bölgede oluşturmanız ve --zone-resilient true parametresini eklemeniz gerekir.If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the --zone-resilient true parameter.

Bu komut, VM görüntüsünü açıklayan JSON döndürür.This command returns JSON that describes the VM image. Bu çıktıyı daha sonra başvurmak üzere kaydedin.Save this output for later reference.

3. adım: Yakalanan görüntüden VM oluşturmaStep 3: Create a VM from the captured image

Az VM Createile oluşturduğunuz görüntüyü kullanarak bir VM oluşturun.Create a VM by using the image you created with az vm create. Aşağıdaki örnek, MyImageadlı görüntüden dağıtılan myvmadlı bir VM oluşturur.The following example creates a VM named myVMDeployed from the image named myImage.

az vm create \
   --resource-group myResourceGroup \
   --name myVMDeployed \
   --image myImage\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

Başka bir kaynak grubunda VM oluşturmaCreating the VM in another resource group

Aboneliğinizdeki herhangi bir kaynak grubunda bulunan bir görüntüden sanal makineler oluşturabilirsiniz.You can create VMs from an image in any resource group within your subscription. Görüntüden farklı bir kaynak grubunda bir VM oluşturmak için görüntsün tam kaynak KIMLIĞINI belirtin.To create a VM in a different resource group than the image, specify the full resource ID to your image. Görüntülerin listesini görüntülemek için az Image List kullanın.Use az image list to view a list of images. Çıktı aşağıdaki örneğe benzerdir.The output is similar to the following example.

"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage",
   "location": "westus",
   "name": "myImage",

Aşağıdaki örnek, görüntü kaynak KIMLIĞI belirterek kaynak görüntü dışında bir kaynak grubunda bir VM oluşturmak için az VM Create kullanır.The following example uses az vm create to create a VM in a resource group other than the source image, by specifying the image resource ID.

az vm create \
   --resource-group myOtherResourceGroup \
   --name myOtherVMDeployed \
   --image "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage" \
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

4. Adım: Dağıtımı doğrulamaStep 4: Verify the deployment

Dağıtımı doğrulamak ve yeni VM 'yi kullanmaya başlamak için oluşturduğunuz sanal makineye SSH.SSH into the virtual machine you created to verify the deployment and start using the new VM. SSH aracılığıyla bağlanmak için az VM Showkomutuyla sanal makinenizin IP ADRESINI veya FQDN 'sini bulun.To connect via SSH, find the IP address or FQDN of your VM with az vm show.

az vm show \
   --resource-group myResourceGroup \
   --name myVMDeployed \
   --show-details

Sonraki adımlarNext steps

Kaynak VM görüntüsünden birden çok VM oluşturabilirsiniz.You can create multiple VMs from your source VM image. Resimde değişiklik yapmak için:To make changes to your image:

  • Görüntinizden bir VM oluşturun.Create a VM from your image.
  • Tüm güncelleştirmeleri veya yapılandırma değişikliklerini yapın.Make any updates or configuration changes.
  • Bir görüntü sağlamayı, serbest ayırmayı, genelleştirmenizi ve bir görüntüyü oluşturmayı geri almak için adımları izleyin.Follow the steps again to deprovision, deallocate, generalize, and create an image.
  • Gelecekteki dağıtımlar için bu yeni görüntüyü kullanın.Use this new image for future deployments. Özgün görüntüyü silebilirsiniz.You may delete the original image.

CLı ile VM 'lerinizi yönetme hakkında daha fazla bilgi için bkz. Azure CLI.For more information on managing your VMs with the CLI, see Azure CLI.