Azure için CentOS tabanlı bir sanal makine hazırlama

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

CentOS tabanlı Linux işletim sistemi (OS) içeren bir Azure sanal sabit diski (VHD) oluşturmayı ve karşıya yüklemeyi öğrenin. Daha fazla bilgi için bakınız:

Dikkat

Bu makalede, kullanım süresi sonu (EOL) durumuna yakın bir Linux dağıtımı olan CentOS'a başvuruda bulunur. Kullanımınızı göz önünde bulundurun ve buna göre planlayın. Daha fazla bilgi için bkz. CentOS kullanım süresi sonu kılavuzu.

Önkoşullar

Bu makalede, bir VHD'ye zaten bir CentOS (veya benzer türev) Linux işletim sistemi yüklediğiniz varsayılır. .vhd dosyaları oluşturmak için birden çok araç vardır. Hyper-V gibi bir sanallaştırma çözümü örnek olarak verilmiştir. Yönergeler için bkz . Hyper-V rolünü yükleme ve VM yapılandırma.

CentOS yükleme notları

  • Azure için Linux hazırlama hakkında daha fazla ipucu için bkz . Genel Linux yükleme notları.
  • VHDX biçimi Azure'da desteklenmez, yalnızca sabit VHD'de desteklenir. Hyper-V Yöneticisi'ni veya cmdlet'ini kullanarak diski VHD biçimine convert-vhd dönüştürebilirsiniz. VirtualBox kullanıyorsanız, diski oluştururken dinamik olarak ayrılan varsayılanın aksine Sabit boyut'u seçersiniz.
  • Vfat çekirdek modülü çekirdekte etkinleştirilmelidir.
  • Linux sistemini yüklediğinizde, genellikle birçok yükleme için varsayılan olan Mantıksal Birim Yöneticisi (LVM) yerine standart bölümler kullanmanızı öneririz. Bölümlerin kullanılması, özellikle de sorun giderme amacıyla başka bir özdeş VM'ye bir işletim sistemi diski eklenmesi gerektiğinde, kopyalanan VM'lerle LVM adı çakışmalarını önler. LVM veya RAID , veri disklerinde de kullanılabilir.
  • Kullanıcı tanımlı işlevler (UDF) dosya sistemlerini bağlamak için çekirdek desteği gereklidir. Azure'da ilk önyüklemede sağlama yapılandırması, konukla birlikte gelen UDF biçimli medya kullanılarak Linux VM'ye geçirilir. Azure Linux aracısının veya cloud-init'nin, yapılandırmasını okumak ve VM'yi sağlamak için UDF dosya sistemini bağlaması gerekir.
  • 2.6.37'nin altındaki Linux çekirdek sürümleri, daha büyük VM boyutlarına sahip Hyper-V NUMA'ları desteklemez. Bu sorun öncelikli olarak yukarı akış Centos 2.6.32 çekirdeğini kullanan eski dağıtımları etkiler ve Centos 6.6'da (çekirdek-2.6.32-504) düzeltildi. 2.6.37'den eski özel çekirdekler veya 2.6.32-504'ten eski Red Hat Enterprise Linux (RHEL) tabanlı çekirdekler çalıştıran sistemlerin numa=off dosyasındaki çekirdek komut satırında önyükleme parametresini ayarlaması gerekir. Daha fazla bilgi için bkz. Red Hat KB 436883.
  • İşletim sistemi diskinde değiştirme bölümü yapılandırmayın.
  • Azure'da tüm VHD'lerin 1 MB'a hizalanmış bir sanal boyutu olmalıdır. Ham diskten VHD'ye dönüştürürken, dönüştürmeden önce ham disk boyutunun 1 MB'ın katı olduğundan emin olmanız gerekir. Daha fazla bilgi için bkz . Linux yükleme notları.

Uyarı

Cloud-init >= 21.2, UDF gereksinimini kaldırır. Ancak UDF modülü etkinleştirilmeden CD-ROM sağlama sırasında bağlanmaz ve bu da özel verilerin uygulanmasını engeller. Bu durum için geçici bir çözüm, kullanıcı verilerini kullanarak özel veriler uygulamaktır. Özel verilerden farklı olarak kullanıcı verileri şifrelenmez. Daha fazla bilgi için bkz . Kullanıcı veri biçimleri.

CentOS 6.x

Önemli

CentOS 6, EOL'ye ulaştı ve artık CentOS topluluğu tarafından desteklenmiyor. Bu sürüm için başka güncelleştirme veya güvenlik düzeltme eki yayımlanmaz ve bu güncelleştirmeler olası güvenlik risklerine karşı savunmasız kalır. Sisteminizin güvenliğini ve kararlılığını sağlamak için CentOS'un daha yeni bir sürümüne yükseltmenizi kesinlikle öneririz. Daha fazla yardım için BT departmanınıza veya sistem yöneticinize başvurun.

  1. Hyper-V Yöneticisi'nde VM'yi seçin.

  2. VM için bir konsol penceresi açmak için Bağlan'ı seçin.

  3. CentOS 6'da Azure NetworkManager Linux aracısını etkileyebilir. Bu paketi kaldırın:

    sudo rpm -e --nodeps NetworkManager
    
  4. Dosyayı /etc/sysconfig/network oluşturun veya düzenleyin ve aşağıdaki metni ekleyin:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  5. Dosyayı /etc/sysconfig/network-scripts/ifcfg-eth0 oluşturun veya düzenleyin ve aşağıdaki metni ekleyin:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    
  6. Ethernet arabirimleri için statik kurallar oluşturmaktan kaçınmak için udev kurallarını değiştirin. Bu kurallar, Azure veya Hyper-V'de vm kopyaladığınızda sorunlara neden olabilir:

    sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
    sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
    
  7. Ağ hizmetinin sistem açılışında başlatıldığından emin olun.

    sudo chkconfig network on
    
  8. Azure veri merkezlerinde barındırılan OpenLogic yansımalarını kullanmak istiyorsanız, /etc/yum.repos.d/CentOS-Base.repo dosyasını aşağıdaki depolarla değiştirin. Bu eylem, Azure Linux aracısı gibi ek paketler içeren [openlogic] deposunu da ekler:

    [openlogic]
    name=CentOS-$releasever - openlogic packages for $basearch
    baseurl=http://olcentgbl.trafficmanager.net/openlogic/$releasever/openlogic/$basearch/
    enabled=1
    gpgcheck=0
    
    [base]
    name=CentOS-$releasever - Base
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #additional packages that might be useful
    [extras]
    name=CentOS-$releasever - Extras
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #contrib - packages by Centos Users
    [contrib]
    name=CentOS-$releasever - Contrib
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/contrib/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    

    Uyarı

    Bu makalenin geri kalanında, en az [openlogic] deposunu kullandığınız, yani Azure Linux aracısını yüklemek için kullanılan depoyu kullandığınız varsayılır.

  9. Aşağıdaki satırı /etc/yum.conf içine ekleyin:

    http_caching=packages
    
  10. Geçerli yum meta verilerini temizleyin ve sistemi en son paketlerle güncelleştirin:

    sudo yum clean all
    

    CentOS'un eski bir sürümü için görüntü oluşturmadığınız sürece, tüm paketleri en son sürüme güncelleştirmenizi öneririz:

    sudo yum -y update
    

    Bu komutu çalıştırdıktan sonra yeniden başlatma gerekebilir.

  11. İsteğe bağlı: Linux Integration Services (LIS) sürücülerini yükleyin.

    Önemli

    Adım CentOS 6.3 ve öncesi için gereklidir ve sonraki sürümler için isteğe bağlıdır.

    sudo rpm -e hypervkvpd  ## (might return an error if not installed, that's OK)
    sudo yum install microsoft-hyper-v
    

    Alternatif olarak, RPM'yi VM'nize yüklemek için LIS indirme sayfasındaki el ile yükleme yönergelerini izleyebilirsiniz.

  12. Azure Linux aracısını ve bağımlılıklarını yükleyin. Hizmeti başlatın ve etkinleştirin waagent :

    sudo yum install python-pyasn1 WALinuxAgent
    sudo service waagent start
    sudo chkconfig waagent on
    

    WALinuxAgent paketi, 3. adımda açıklandığı gibi, henüz kaldırılmamışlarsa NetworkManager ve NetworkManager-gnome paketlerini kaldırır.

  13. Grub yapılandırmanızdaki çekirdek önyükleme satırını, Azure için diğer çekirdek parametrelerini içerecek şekilde değiştirin. Bu adımı gerçekleştirmek için bir metin düzenleyicisinde açın /boot/grub/menu.lst ve varsayılan çekirdeğin aşağıdaki parametreleri içerdiğinden emin olun:

    console=ttyS0 earlyprintk=ttyS0 rootdelay=300
    

    Bu değişiklik ayrıca tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesini sağlar ve bu da hata ayıklama sorunlarıyla ilgili Azure desteğine yardımcı olabilir.

    Ayrıca aşağıdaki parametreleri kaldırmanızı öneririz:

    rhgb quiet crashkernel=auto
    

    Grafik ve sessiz önyükleme, tüm günlüklerin seri bağlantı noktasına gönderilmesini istediğiniz bir bulut ortamında kullanışlı değildir. crashkernel seçeneği isterseniz yapılandırılmış haliyle bırakılabilir. Ancak bu parametre VM'deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltır; bu da daha küçük VM boyutları için sorun olabilir.

    Önemli

    CentOS 6.5 ve öncesi de çekirdek parametresini numa=offayarlamalıdır. Daha fazla bilgi için bkz. Red Hat KB 436883.

  14. Secure Shell sunucusunun yüklendiğinden ve önyükleme zamanında başlatacak şekilde yapılandırıldığından emin olun. Bu ayar genellikle varsayılan ayardır.

  15. İşletim sistemi diskinde değiştirme alanı oluşturmayın.

    Azure Linux aracısı, VM'nin Azure'da sağlanmasının ardından VM'ye bağlı yerel kaynak diskini kullanarak swap alanını otomatik olarak yapılandırabilir. Yerel kaynak diski geçici bir disktir ve VM'nin yetkisi kaldırıldığında boşaltılabilir. Azure Linux aracısını yükledikten sonra (önceki adıma bakın), aşağıdaki parametreleri /etc/waagent.conf uygun şekilde değiştirin:

    ResourceDisk.Format=y
    ResourceDisk.Filesystem=ext4
    ResourceDisk.MountPoint=/mnt/resource
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048 ## NOTE: set this to whatever you need it to be.
    
  16. VM'yi hizmetten çıkarın ve Azure'da hazırlık için yeniden yapılandırın.

    sudo waagent -force -deprovision+user
    sudo export HISTSIZE=0
    

    Uyarı

    Belirli bir VM'yi geçiriyorsanız ve genelleştirilmiş bir görüntü oluşturmak istemiyorsanız deprovisioning adımını atlayın.

  17. Hyper-V Yöneticisi'nde Eylem Linux VHD'niz artık Azure'a yüklenmeye hazırdır.

CentOS 7.0+

CentOS 7.0+ kullanıyorsanız sonraki bölümlerdeki adımları izleyin.

CentOS 7'deki değişiklikler (ve benzer türevler)

Azure için CentOS 7 VM'si hazırlamak CentOS 6'ya benzer. Birkaç önemli fark şunlara dikkat etmeye değer:

  • Paket NetworkManager artık Azure Linux aracısı ile çakışmaz. Bu paket varsayılan olarak yüklenir ve kaldırmamanızı öneririz.

  • GRUB2 artık varsayılan önyükleme yükleyicisi olarak kullanıldığından çekirdek parametrelerini düzenleme yordamı değişmiştir. ("Yapılandırma adımları" bölümüne bakın.)

  • XFS artık varsayılan dosya sistemidir. İsterseniz ext4 dosya sistemi hala kullanılabilir.

  • CentOS 8 Stream ve daha yeni sürümlerde network.service artık varsayılan olarak dahil edilmediğinden, bunu manuel olarak yüklemeniz gerekmektedir.

    sudo yum install network-scripts
    sudo systemctl enable network.service
    

Yapılandırma adımları

  1. Hyper-V Yöneticisi'nde VM'yi seçin.

  2. VM için bir konsol penceresi açmak için Bağlan'ı seçin.

  3. Dosyayı /etc/sysconfig/network oluşturun veya düzenleyin ve aşağıdaki metni ekleyin:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  4. Dosyayı /etc/sysconfig/network-scripts/ifcfg-eth0 oluşturun veya düzenleyin ve aşağıdaki metni ekleyin:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    NM_CONTROLLED=no
    
  5. Ethernet arabirimleri için statik kurallar oluşturmaktan kaçınmak için udev kurallarını değiştirin. Bu kurallar, Azure veya Hyper-V'de vm kopyaladığınızda sorunlara neden olabilir:

    sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
    
  6. Azure veri merkezlerinde barındırılan OpenLogic yansıtmaları kullanmak istiyorsanız /etc/yum.repos.d/CentOS-Base.repo dosyasını aşağıdaki depolarla değiştirin. Bu eylem, Azure Linux aracısı için paketleri içeren [openlogic] deposunu da ekler:

    [openlogic]
    name=CentOS-$releasever - openlogic packages for $basearch
    baseurl=http://olcentgbl.trafficmanager.net/openlogic/$releasever/openlogic/$basearch/
    enabled=1
    gpgcheck=0
    
    [base]
    name=CentOS-$releasever - Base
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    #additional packages that might be useful
    [extras]
    name=CentOS-$releasever - Extras
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
    baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    

    Uyarı

    Bu makalenin geri kalanında, en az [openlogic] deposunu kullandığınız, yani Azure Linux aracısını yüklemek için kullanılan depoyu kullandığınız varsayılır.

  7. Geçerli yum meta verilerini temizleyin ve tüm güncelleştirmeleri yükleyin:

    sudo yum clean all
    

    CentOS'un eski bir sürümü için görüntü oluşturmadığınız sürece, tüm paketleri en son sürüme güncelleştirmenizi öneririz:

    sudo yum -y update
    

    Bu komutu çalıştırdıktan sonra yeniden başlatma gerekebilir.

  8. Grub yapılandırmanızdaki çekirdek önyükleme satırını, Azure için diğer çekirdek parametrelerini içerecek şekilde değiştirin. Bu adımı gerçekleştirmek için bir metin düzenleyicisinde açın /etc/default/grub ve parametresini GRUB_CMDLINE_LINUX düzenleyin. Örneğin:

    GRUB_CMDLINE_LINUX="rootdelay=300 console=ttyS0 earlyprintk=ttyS0 net.ifnames=0"
    

    Bu değişiklik ayrıca tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesini sağlar ve bu da hata ayıklama sorunlarıyla ilgili Azure desteğine yardımcı olabilir. Ayrıca ağ arabirim kartları için yeni CentOS 7 adlandırma kurallarını da kapatır. Ayrıca aşağıdaki parametreleri kaldırmanızı öneririz:

    rhgb quiet crashkernel=auto
    

    Grafik ve sessiz önyükleme, tüm günlüklerin seri bağlantı noktasına gönderilmesini istediğiniz bir bulut ortamında kullanışlı değildir. crashkernel seçeneği isterseniz yapılandırılmış haliyle bırakılabilir. Ancak bu parametre VM'deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltır; bu da daha küçük VM boyutları için sorun olabilir.

  9. düzenlemeyi /etc/default/grubbitirdikten sonra grub yapılandırmasını yeniden oluşturun:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    

    Uyarı

    UEFI özellikli bir VM'yi karşıya yüklüyorsanız grub'u güncelleştirme komutu grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg'dır. Ayrıca, vfat çekirdek modülü çekirdekte etkinleştirilmelidir. Aksi takdirde yapılandırma başarısız olur.

    udf modülünün etkinleştirildiğinden emin olun. Kaldırma veya devre dışı bırakma, sağlama veya önyükleme hatasına neden olur. (_Cloud-init >= 21.2, udf gereksinimini kaldırır. Daha fazla bilgi için belgenin üst kısmını okuyun.)

  10. Görüntüyü VMware, VirtualBox veya KVM'den oluşturuyorsanız, Hyper-V sürücülerinin initramfs'a dahil olduğundan emin olun:

    1. /etc/dracut.conf düzenleyin ve içerik ekleyin.

      add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "
      
    2. Initramfs'ı yeniden oluşturun:

      sudo dracut -f -v
      
  11. Azure VM uzantıları için Azure Linux aracısını ve bağımlılıklarını yükleyin:

    sudo yum install python-pyasn1 WALinuxAgent
    sudo systemctl enable waagent
    
  12. Sağlamayı işlemek için yükleyin cloud-init :

    sudo yum install -y cloud-init cloud-utils-growpart gdisk hyperv-daemons
    
    • waagent için cloud-init yapılandırın
    sudo sed -i 's/Provisioning.Agent=auto/Provisioning.Agent=auto/g' /etc/waagent.conf
    sudo sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf
    sudo sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
    
    sudo echo "Adding mounts and disk_setup to init stage"
    sudo sed -i '/ - mounts/d' /etc/cloud/cloud.cfg
    sudo sed -i '/ - disk_setup/d' /etc/cloud/cloud.cfg
    sudo sed -i '/cloud_init_modules/a\\ - mounts' /etc/cloud/cloud.cfg
    sudo sed -i '/cloud_init_modules/a\\ - disk_setup' /etc/cloud/cloud.cfg
    
    sudo echo "Allow only Azure datasource, disable fetching network setting via IMDS"
    sudo cat > /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg <<EOF
    datasource_list: [ Azure ]
    datasource:
        Azure:
            apply_network_config: False
    EOF
    
    if [[ -f /mnt/swapfile ]]; then
    echo Removing swapfile - RHEL uses a swapfile by default
    swapoff /mnt/swapfile
    rm /mnt/swapfile -f
    fi
    
    echo "Add console log file"
    cat >> /etc/cloud/cloud.cfg.d/05_logging.cfg <<EOF
    
    # This tells cloud-init to redirect its stdout and stderr to
    # 'tee -a /var/log/cloud-init-output.log' so the user can see output
    # there without needing to look on the console.
    output: {all: '| tee -a /var/log/cloud-init-output.log'}
    EOF
    
  13. Swap yapılandırması:

    1. İşletim sistemi diskinde değiştirme alanı oluşturmayın.

      Daha önce Azure Linux aracısı, Azure'da VM sağlandıktan sonra VM'ye bağlı yerel kaynak diski kullanılarak değiştirme alanını otomatik olarak yapılandırmak için kullanılıyordu. Ancak, cloud-init şimdi bu adımı işler. Takas dosyasını oluşturmak için kaynak diski biçimlendirmek için Linux aracısını kullanmamalısınız . aşağıdaki parametreleri /etc/waagent.conf uygun şekilde değiştirin:

      sudo sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf
      sudo sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
      
    2. Değiştirme dosyasını bağlamak, biçimlendirmek ve oluşturmak istiyorsanız şunları yapabilirsiniz:

      • VM oluşturduğunuzda her seferinde bu komutu bir cloud-init yapılandırması olarak geçirin.

      • VM her oluşturuluşunda bu adımı gerçekleştirmek için görüntünün içine yerleştirilmiş bir cloud-init yönergesi kullanın.

        sudo echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf
        sudo cat > /etc/cloud/cloud.cfg.d/00-azure-swap.cfg << EOF
        #cloud-config
        # Generated by Azure cloud image build
        disk_setup:
          ephemeral0:
            table_type: mbr
            layout: [66, [33, 82]]
            overwrite: True
        fs_setup:
          - device: ephemeral0.1
            filesystem: ext4
          - device: ephemeral0.2
            filesystem: swap
        mounts:
          - ["ephemeral0.1", "/mnt"]
          - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"]
        EOF
        
  14. VM'yi devreden çıkarmak ve Azure'da sağlamak için hazırlamak amacıyla aşağıdaki komutları çalıştırın.

    Uyarı

    Belirli bir VM'yi geçiriyorsanız ve genelleştirilmiş bir görüntü oluşturmak istemiyorsanız deprovisioning adımını atlayın.

    sudo rm -f /var/log/waagent.log
    sudo cloud-init clean
    sudo waagent -force -deprovision+user
    sudo rm -f ~/.bash_history
    sudo export HISTSIZE=0
    
  15. Hyper-V Yöneticisi'nde Eylem Linux VHD'niz artık Azure'a yüklenmeye hazırdır.

Artık Azure'da yeni VM'ler oluşturmak için CentOS Linux VHD'nizi kullanmaya hazırsınız. .vhd dosyasını Azure'a ilk kez yüklüyorsanız bkz . Özel diskten Linux VM oluşturma.