Azure'da CentOS tabanlı bir sanal makine hazırlama

Dikkat

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

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

CentOS tabanlı Linux işletim sistemi içeren bir Azure sanal sabit diski (VHD) oluşturmayı ve karşıya yüklemeyi öğrenin.

Önkoşullar

Bu makalede, sanal sabit diske 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, örneğin Hyper-V gibi bir sanallaştırma çözümü. Yönergeler için bkz . Hyper-V Rolünü Yükleme ve Sanal Makine 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 convert-vhd cmdlet'ini kullanarak diski VHD biçimine dönüştürebilirsiniz. VirtualBox kullanıyorsanız bu, diski oluştururken dinamik olarak ayrılan varsayılan boyut yerine Sabit boyut'un seçilmesi anlamına gelir.
  • Vfat çekirdek modülü çekirdekte etkinleştirilmelidir
  • Linux sistemini yüklerken LVM yerine standart bölümler kullanmanızı öneririz (çoğu yükleme için genellikle varsayılandır). Bu, özellikle de sorun giderme için başka bir özdeş VM'ye bir işletim sistemi diski eklenmesi gerekiyorsa, kopyalanan VM'lerle LVM adı çakışmalarını önler. LVM veya RAID veri disklerinde kullanılabilir.
  • 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ı veya cloud-init, yapılandırmasını okumak ve VM'yi sağlamak için UDF dosya sistemini bağlamalıdır.
  • 2.6.37'nin altındaki Linux çekirdek sürümleri, daha büyük VM boyutlarına sahip Hyper-V üzerinde NUMA'nın desteklemiyor. 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 RHEL tabanlı çekirdekler çalıştıran sistemlerin grub.conf içindeki çekirdek komut satırında önyükleme parametresini ayarlaması numa=off 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ı .

Not

Cloud-init >= 21.2, udf gereksinimini kaldırır. Ancak udf modülü etkinleştirilmeden cdrom sağlama sırasında bağlanmaz ve özel verilerin uygulanmasını engeller. Bunun için geçici bir çözüm, kullanıcı verilerini kullanarak özel veriler uygulamaktır. Ancak, özel verilerden farklı olarak kullanıcı verileri şifrelenmez. https://cloudinit.readthedocs.io/en/latest/topics/format.html

CentOS 6.x

Önemli

CentOS 6'nın Kullanım Süresi Sonuna (EOL) ulaştığını ve artık CentOS topluluğu tarafından desteklenmediğini lütfen unutmayın. Bu, bu sürüm için başka güncelleştirme veya güvenlik düzeltme eki yayımlanmayacağı ve olası güvenlik risklerine karşı savunmasız bırakılacağı anlamına gelir. 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 lütfen BT departmanınıza veya sistem yöneticinize başvurun.

  1. Hyper-V Yöneticisi'nde sanal makineyi seçin.

  2. Sanal makine için bir konsol penceresi açmak için Bağlan'e tıklayın.

  3. CentOS 6'da NetworkManager, Azure Linux aracısını etkileyebilir. Aşağıdaki komutu çalıştırarak 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, Microsoft Azure veya Hyper-V'de bir sanal makineyi klonlarken 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şağıdaki komutu çalıştırarak ağ hizmetinin önyükleme zamanında başlatıldığından emin olun:

    sudo chkconfig network on
    
  8. Azure veri merkezlerinde barındırılan OpenLogic yansıtmalarını kullanmak istiyorsanız, dosyayı aşağıdaki depolarla değiştirin /etc/yum.repos.d/CentOS-Base.repo . Bu, Azure Linux aracısı gibi ek 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-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 may 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
    

    Not

    Bu kılavuzun geri kalanında, aşağıdaki Azure Linux aracısını [openlogic] yüklemek için kullanılacak olan depoyu kullandığınız varsayılır.

  9. /etc/yum.conf adresine aşağıdaki satırı ekleyin:

    http_caching=packages
    
  10. Geçerli yum meta verilerini temizlemek ve sistemi en son paketlerle güncelleştirmek için aşağıdaki komutu çalıştırın:

    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 komut çalıştırıldı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  ## (may return 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. Waagent hizmetini başlatın ve etkinleştirin:

    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ılmadıysa NetworkManager ve NetworkManager-gnome paketlerini kaldırır.

  13. Grub yapılandırmanızdaki çekirdek önyükleme satırını Azure için ek çekirdek parametreleri içerecek şekilde değiştirin. Bunu yapmak 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, tüm konsol iletilerinin hata ayıklama sorunlarıyla Azure desteği yardımcı olabilecek ilk seri bağlantı noktasına gönderilmesini de sağlar.

    Yukarıdakilere ek olarak, aşağıdaki parametreleri kaldırmanızı öneririz:

    rhgb quiet crashkernel=auto
    

    Grafik ve quiet boot tüm günlüklerin seri bağlantı noktasına gönderilmesini istediğimiz bir bulut ortamında kullanışlı değildir. İsterseniz crashkernel seçenek yapılandırılabilir, ancak bu parametrenin VM'deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltacağını ve daha küçük VM boyutlarında sorunlu olabileceğini unutmayın.

    Önemli

    CentOS 6.5 ve öncesi de çekirdek parametresini numa=offayarlamalıdır. Bkz. Red Hat KB 436883.

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

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

    Azure Linux Aracısı, Azure'da sağlama sonrasında VM'ye bağlı yerel kaynak diskini kullanarak değiştirme 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. Sanal makinenin sağlamasını kaldırıp Azure'da sağlama için hazırlamak için aşağıdaki komutları çalıştırın:

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

Not

Belirli bir sanal makineyi geçiriyorsanız ve genelleştirilmiş bir görüntü oluşturmak istemiyorsanız sağlamayı kaldırma adımını atlayın.

  1. Eylem -> Hyper-V Yöneticisi'nde Kapat'a tıklayın. Linux VHD'niz artık Azure'a yüklenmeye hazırdır.

CentOS 7.0+

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

Azure için CentOS 7 sanal makinesi hazırlamak CentOS 6'ya benzer, ancak dikkate değer birkaç önemli fark vardır:

  • NetworkManager paketi artık Azure Linux aracısı ile çakışmaz. Bu paket varsayılan olarak yüklenir ve kaldırılmaması önerilir.

  • GRUB2 artık varsayılan önyükleme yükleyicisi olarak kullanıldığından çekirdek parametrelerini düzenleme yordamı değişmiştir (aşağıya bakın).

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

  • CentOS 8 Stream ve daha yeni sürümler artık varsayılan olarak dahil network.service olmadığından el ile yüklemeniz gerekir:

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

Yapılandırma Adımları

  1. Hyper-V Yöneticisi'nde sanal makineyi seçin.

  2. Sanal makine için bir konsol penceresi açmak için Bağlan'e tıklayın.

  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, Microsoft Azure veya Hyper-V'de bir sanal makineyi klonlarken 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ını kullanmak istiyorsanız, dosyayı aşağıdaki depolarla değiştirin /etc/yum.repos.d/CentOS-Base.repo . Bu, 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 may 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
    

    Not

    Bu kılavuzun geri kalanında, aşağıdaki Azure Linux aracısını [openlogic] yüklemek için kullanılacak olan depoyu kullandığınız varsayılır.

  7. Geçerli yum meta verilerini temizlemek ve güncelleştirmeleri yüklemek için aşağıdaki komutu çalıştırın:

    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 komut çalıştırıldıktan sonra yeniden başlatma gerekebilir.

  8. Grub yapılandırmanızdaki çekirdek önyükleme satırını Azure için ek çekirdek parametreleri içerecek şekilde değiştirin. Bunu yapmak 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, tüm konsol iletilerinin hata ayıklama sorunlarıyla Azure desteği yardımcı olabilecek ilk seri bağlantı noktasına gönderilmesini de sağlar. Ayrıca NIC'ler için yeni CentOS 7 adlandırma kurallarını da kapatır. Yukarıdakilere ek olarak, 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ğimiz bir bulut ortamında kullanışlı değildir. İsterseniz crashkernel seçenek yapılandırılabilir, ancak bu parametrenin VM'deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltacağını ve daha küçük VM boyutlarında sorunlu olabileceğini unutmayın.

  9. Yukarıdakilere göre düzenlemeyi /etc/default/grub tamamladıktan sonra grub yapılandırmasını yeniden derlemek için aşağıdaki komutu çalıştırın:

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

Not

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

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

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

    düzenleyin /etc/dracut.conf, içerik ekleyin:

    add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "
    

    Initramfs'ı yeniden oluşturun:

    sudo dracut -f -v
    
  2. 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
    
  3. Sağlamayı işlemek için cloud-init yükleme

    sudo yum install -y cloud-init cloud-utils-growpart gdisk hyperv-daemons
    
    1. cloud-init için waagent yapılandırma
    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
    
  4. Değiştirme yapılandırması

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

    Daha önce Azure Linux Aracısı, Azure'da sanal makine sağlandıktan sonra sanal makineye bağlı yerel kaynak diski kullanılarak değiştirme alanını otomatik olarak yapılandırmak için kullanılıyordu. Ancak bu artık cloud-init tarafından işlenir, kaynak diskini biçimlendirmek için Linux Aracısı'nı kullanmamalısınız takas dosyasını oluşturun, 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
    

    Takası bağlamak, biçimlendirmek ve oluşturmak istiyorsanız şunları yapabilirsiniz:

    • Her VM oluşturduğunuzda bunu cloud-init yapılandırması olarak geçirin

    • Vm her oluşturulduğunda bunu yapacak görüntüde pişirilen 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
      
  5. Sanal makinenin sağlamasını kaldırıp Azure'da sağlama için hazırlamak için aşağıdaki komutları çalıştırın:

    Not

    Belirli bir sanal makineyi geçiriyorsanız ve genelleştirilmiş bir görüntü oluşturmak istemiyorsanız sağlamayı kaldırma 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
    
  6. Eylem -> Hyper-V Yöneticisi'nde Kapat'a tıklayın. Linux VHD'niz artık Azure'a yüklenmeye hazırdır.

Sonraki adımlar

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