VMware aracısız geçişe hazırlanma

Dikkat

Bu makale, Kullanım Süresi Sonu (EOL) durumu olan bir Linux dağıtımı olan CentOS'a başvurur. Lütfen kullanımınızı ve buna uygun planlamayı göz önünde bulundurun. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.

Bu makalede, Geçiş ve modernleştirme aracını kullanarak aracısız geçiş yöntemiyle VMware VM'lerini Azure'a geçirirken gerçekleştirilen değişikliklere genel bir bakış sağlanır.

Şirket içi VM'nizi Azure'a geçirmeden önce, VM'yi Azure için hazır hale getirmek için birkaç değişiklik yapmanız gerekebilir. Bu değişiklikler, geçirilen VM'nin Azure'da başarıyla önyüklenmesini ve Azure VM bağlantısı kurulabilmesini sağlamak için önemlidir. Azure Geçişi, hem Linux hem de Windows için aşağıdaki işletim sistemi sürümleri için bu yapılandırma değişikliklerini otomatik olarak işler. Bu işleme Hydration adı verilir.

Hidrasyon için desteklenen işletim sistemi sürümleri

  • Windows Server 2008 veya üzeri
  • Red Hat Enterprise Linux 9.x, 8.x, 7.9, 7.8, 7.7, 7.6, 7.5, 7.4, 7.0, 6.x
  • CentOS Stream
  • SUSE Linux Enterprise Server 15 SP4, 15 SP3, 15 SP2, 15 SP1, 15 SP0, 12, 11 SP4, 11 SP3
  • Ubuntu 22.04, 21.04, 20.04, 19.04, 19.10, 18.04LTS, 16.04LTS, 14.04LTS
  • Kali Linux (2016, 2017, 2018, 2019, 2020, 2021, 2022)
  • Debian 11, 10, 9, 8, 7
  • Oracle Linux 9, 8, 7.7-CI, 7.7, 6

Yukarıda listelenmeyen işletim sistemleri sürümleri için VM'leri Azure'a geçiş için el ile hazırlamak için de bu makaleyi kullanabilirsiniz. Bu değişiklikler yüksek düzeyde şunları içerir:

  • Gerekli sürücülerin varlığını doğrulama
  • Seri konsolunu etkinleştirme
  • Ağ ayarlarını yapılandırma
  • VM konuk aracısını yükleme

Hidrasyon işlemi

Geçirilen VM'lerin Azure'da düzgün çalıştığından emin olmak için geçiş öncesinde VM yapılandırmasında bazı değişiklikler yapmanız gerekir. Azure Geçişi, bu yapılandırma değişikliklerini hidrasyon işlemi aracılığıyla işler. Hidrasyon işlemi yalnızca yukarıda verilen Azure desteği işletim sistemlerinin sürümleri için gerçekleştirilir. Geçirmeden önce, yukarıda listelenmeyen diğer işletim sistemi sürümleri için gerekli değişiklikleri el ile gerçekleştirmeniz gerekebilir. VM gerekli değişiklikler olmadan geçirilirse, VM önyükleme yapamayabilir veya geçirilen VM ile bağlantınız olmayabilir. Aşağıdaki diyagramda, Azure Geçişi'nin hidrasyon işlemini gerçekleştirdiğini gösterilmektedir.

Hidrasyon adımları

Kullanıcı Test Geçişi veya Geçişi tetiklediğinde Azure Geçişi, şirket içi VM'yi Azure'a geçiş için hazırlamak üzere hidrasyon işlemini gerçekleştirir. Azure Geçişi, hidrasyon işlemini ayarlamak için geçici bir Azure VM oluşturur ve kaynak VM'yi Azure için hazır hale getirmek üzere değişiklik yapmak üzere kaynak VM'nin disklerini ekler. Geçici Azure VM, son geçirilen VM oluşturulmadan önce geçiş işlemi sırasında oluşturulan bir ara VM'dir. Geçici VM, market işletim sistemi görüntülerinden biri kullanılarak benzer bir işletim sistemi türüyle (Windows/Linux) oluşturulur. Şirket içi VM Windows çalıştırıyorsa, şirket içi VM'nin işletim sistemi diski değişiklik yapmak için geçici VM'ye bir veri diski olarak eklenir. Bu bir Linux sunucusuysa, şirket içi VM'ye eklenen tüm diskler geçici Azure VM'sine veri diski olarak eklenir.

Azure Geçişi, geçici VM'yi barındırmak için ağ arabirimini, yeni bir sanal ağı, alt ağı ve bir ağ güvenlik grubunu (NSG) oluşturur. Bu kaynaklar müşterinin aboneliğinde oluşturulur. Ağ yapıtlarının oluşturulmasını engelleyen çakışan ilkeler varsa Azure Geçişi, çoğaltma hedefi ayarları seçeneklerinin bir parçası olarak sağlanan sanal ağda ve alt ağda geçici Azure VM oluşturmayı dener.

Sanal makine oluşturulduktan sonra Azure Geçişi, Azure Sanal Makine REST API'sini kullanarak geçici VM'de Özel Betik Uzantısı'nı çağırır. Özel Betik Uzantısı yardımcı programı, geçici Azure VM'sine bağlı şirket içi VM disklerinde Azure hazırlığı için gerekli yapılandırmayı içeren bir hazırlık betiği yürütür. Hazırlık betiği, Azure Geçişi'ne ait bir depolama hesabından indirilir. Sanal ağın ağ güvenlik grubu kuralları, geçici Azure VM'sinin betiği çağırmak için Azure Geçişi depolama hesabına erişmesine izin verecek şekilde yapılandırılır.

Geçiş adımları

Not

Hidrasyon VM diskleri Müşteri Tarafından Yönetilen Anahtarı (CMK) desteklemez. Platform Yönetilen Anahtarı (PMK) varsayılan seçenektir.

Hidrasyon işlemi sırasında gerçekleştirilen değişiklikler

Hazırlık betiği, geçirilecek kaynak VM'nin işletim sistemi türüne göre aşağıdaki değişiklikleri yürütür. Bu bölümü ayrıca, hidrasyon için desteklenmeyen işletim sistemleri sürümleri için VM'leri geçişe el ile hazırlamak için kılavuz olarak da kullanabilirsiniz.

Windows sunucularında gerçekleştirilen değişiklikler

  1. Windows işletim sistemi birimini bulma ve hazırlama

    İlgili yapılandırma değişikliklerini gerçekleştirmeden önce, hazırlık betiği geçiş için doğru işletim sistemi diskinin seçilip seçilmediğini doğrular. Hazırlık betiği, sisteme görünür olan tüm ekli birimleri arar ve kaynak işletim sistemi birimini bulmak için SYSTEM kayıt defteri hive dosya yolunu arar.

    Bu adımda aşağıdaki eylemler gerçekleştirilir:

    • Her bölümü geçici VM'ye bağlı işletim sistemi diskine bağlar.

    • Bölüm bağlandıktan sonra \Windows\System32\Config\System kayıt defteri dosyalarını arar.

    • Dosyalar bulunamazsa bölüm çıkarılır ve doğru bölüm için arama devam eder.

    • Dosyalar bölümlerin hiçbirinde yoksa, yanlış bir işletim sistemi diskinin seçildiğini veya işletim sistemi diskinin bozuk olduğunu gösterebilir. Azure Geçişi uygun bir hatayla geçiş işleminde başarısız olur.

    Not

    Sunucuları geçiş için el ile hazırlıyorsanız bu adım uygun değildir.

  2. Önyükleme ve bağlantıyla ilgili değişiklikler yapma

    Kaynak işletim sistemi birim dosyaları algılandıktan sonra, hazırlık betiği SYSTEM kayıt defteri kovanını geçici Azure VM'nin kayıt defteri düzenleyicisine yükler ve VM önyüklemesinin ve bağlantısının sağlanması için aşağıdaki değişiklikleri gerçekleştirir. İşletim sistemi sürümü hidrasyon için desteklenmiyorsa bu ayarları el ile yapılandırmanız gerekir.

    1. Gerekli sürücülerin varlığını doğrulama

      Gerekli sürücülerin yüklü olduğundan ve önyükleme başlangıcında yüklenecek şekilde ayarlandığından emin olun. Bu Windows sürücüleri sunucunun donanım ve diğer bağlı cihazlarla iletişim kurmasına olanak tanır.

      • IntelIde.sys
      • Atapi
      • Storfit
      • Storvsc
      • VMbus
    2. Depolama alanı ağı (SAN) ilkesini Tümü Çevrimiçi olarak ayarlayın

      Bu, Azure VM'deki Windows birimlerinin şirket içi VM ile aynı sürücü harfi atamalarını kullanmasını sağlar. Varsayılan olarak, Azure VM'lerine geçici depolama alanı olarak kullanmak üzere D: sürücüsü atanır. Bu sürücü ataması, diğer tüm ekli depolama sürücüsü atamalarının bir harf artmalarına neden olur. Bu otomatik atamayı önlemek ve Azure'ın geçici birimine bir sonraki ücretsiz sürücü harfini atadığından emin olmak için depolama alanı ağı (SAN) ilkesini Tümü Çevrimiçi olarak ayarlayın.

      Bu ayarı el ile yapılandırmak için:

      • Şirket içi sunucuda, yükseltilmiş ayrıcalıklarla komut istemini açın ve diskpart girin.

        El ile Yapılandırma

      • SAN girin. Konuk işletim sisteminin sürücü harfi korunmuyorsa, Tümü Çevrimdışı veya Çevrimdışı Paylaşılan döndürülür.

      • DISKPART istemine SAN Policy=OnlineAll girin. Bu ayar, disklerin çevrimiçi olmasını ve her iki diski de okuyup yazabilmenizi sağlar.

        Yönetici Komut İstemi diskpart çevrimiçi ilkesi

  3. DHCP başlangıç türünü ayarlama

    Hazırlık betiği ayrıca DHCP hizmeti başlangıç türünü Otomatik olarak ayarlar. Bu, geçirilen VM'nin bir IP adresi almasına ve geçiş sonrasında bağlantı kurmasına olanak tanır. DHCP hizmetinin yapılandırıldığından ve durumun çalıştığından emin olun.

    DHCP Başlangıç Türünü Ayarla

    DHCP başlangıç ayarlarını el ile düzenlemek için Windows PowerShell'de aşağıdaki örneği çalıştırın:

    Get-Service -Name Dhcp
    Where-Object StartType -ne Automatic
    Set-Service -StartupType Automatic
    
  4. VMware Araçları'nı devre dışı bırakma

    Azure'da VM için gerekli olmadığından "VMware Araçları" hizmetinin başlangıç türünü devre dışı bırakın.

    Not

    Windows Server 2003 VM'lerine bağlanmak için Hyper-V Tümleştirme Hizmetleri'nin Azure VM'ye yüklenmesi gerekir. Windows Server 2003 makinelerinde varsayılan olarak bu yüklü değildir. Geçişe yüklemek ve hazırlanmak için bu makaleye bakın.

  5. Windows Azure Konuk Aracısı'nı yükleme

    Azure Geçişi, Azure Fabric Denetleyicisi ile sanal makine (VM) etkileşimini yöneten güvenli ve basit bir işlem olan Microsoft Azure Sanal Makine Aracısı'nı (VM Aracısı) yüklemeyi dener. VM Aracısı, yazılım yükleme ve yapılandırma gibi VM'nin dağıtım sonrası yapılandırmasını etkinleştiren Azure sanal makine uzantılarını etkinleştirme ve yürütmede birincil role sahiptir. Azure Geçişi, Windows VM aracısını Windows Server 2008 R2 ve üzeri sürümlere otomatik olarak yükler.

    Windows VM aracısı bir Windows yükleyici paketiyle el ile yüklenebilir. Windows VM Aracısı'nı el ile yüklemek için VM Aracısı yükleyicisini indirin. Ayrıca GitHub Windows IaaS VM Aracısı sürümlerinde belirli bir sürümü de arayabilirsiniz. VM Aracısı, Windows Server 2008 (64 bit) ve sonraki sürümlerde desteklenir.

    Azure VM Aracısı'nın başarıyla yüklenip yüklenmediğini denetlemek için Görev Yöneticisi'ni açın, Ayrıntılar sekmesini seçin ve WindowsAzureGuestAgent.exe işlem adını arayın. Bu işlemin varlığı, VM aracısının yüklü olduğunu gösterir. Vm aracısını algılamak için PowerShell'i de kullanabilirsiniz .

    Azure VM Aracısı'nın Başarıyla Yüklenmesi

    Yukarıda belirtilen değişiklikler gerçekleştirildikten sonra sistem bölümü kaldırılır. VM artık geçiş için hazırdır. Windows sunucuları için değişiklikler hakkında daha fazla bilgi edinin.

Linux sunucularında gerçekleştirilen değişiklikler

  1. Linux işletim sistemi bölümlerini bulma ve bağlama

    İlgili yapılandırma değişikliklerini gerçekleştirmeden önce, hazırlık betiği geçiş için doğru işletim sistemi diskinin seçilip seçilmediğini doğrular. Betik tüm bölümler, UUID'leri ve bağlama noktaları hakkında bilgi toplar. Betik, /boot ve /root bölümlerini bulmak için tüm bu görünür bölümlere bakar.

    Bu adımda aşağıdaki eylemler gerçekleştirilir:

    • /root bölümünü keşfedin:
      • Her görünür bölümü bağlayın ve vb./fstab'ı arayın.
      • fstab dosyaları bulunamazsa bölüm çıkarılır ve doğru bölüm için arama devam eder.
      • fstab dosyaları bulunursa, kök cihazı tanımlamak ve temel bağlama noktası olarak bağlamak için fstab içeriğini okuyun.
    • /boot ve diğer sistem bölümlerini keşfedin:
      • /boot'un ayrı bir bölüm olup olmadığını belirlemek için fstab içeriğini kullanın. Ayrı bir bölümse, önyükleme bölümü cihaz adını fstab içeriğinden alın veya önyükleme bayrağı olan bölümü arayın.
      • Betik, chroot jail için gereken kök dosya sistemi ağacını oluşturmak için /boot ve "/mnt/azure_sms_root" üzerindeki diğer gerekli bölümleri bulmaya ve bağlamaya devam eder. Diğer gerekli bölümler şunlardır: /boot/grub/menu.lst, /boot/grub/grub.conf, /boot/grub2/grub.cfg, /boot/grub/grub.cfg, /boot/efi (UEFI önyüklemesi için), /var, /lib, /etc, /usr ve diğerleri.
  2. İşletim Sistemi Sürümünü Bulma

    Kök bölüm bulunduktan sonra betik, Linux İşletim Sistemi dağıtımını ve sürümünü belirlemek için aşağıdaki dosyaları kullanır.

    • RHEL: etc/redhat-release
    • OL: etc/oracle-release
    • SLES: vb/SuSE-release
    • Ubuntu: etc/lsb-release
    • Debian: vb/debian_version
  3. Hyper-V Linux Tümleştirme Hizmetleri'ni yükleme ve çekirdek görüntüsünü yeniden oluşturma

    Sonraki adım çekirdek görüntüsünü incelemek ve Linux init görüntüsünü yeniden oluşturarak ilk ramdiskte gerekli Hyper-V sürücülerini (hv_vmbus, hv_storvsc, hv_netvsc) içermesini sağlamaktır. Init görüntüsünün yeniden oluşturulması, VM'nin Azure'da önyüklenmesini sağlar.

    Azure, Hyper-V hiper yöneticisi üzerinde çalışır. Bu nedenle Linux, Azure'da belirli çekirdek modüllerinin çalıştırılmasını gerektirir. Linux görüntünüzü hazırlamak için ilk ramdiskte en az hv_vmbus ve hv_storvsc çekirdek modüllerinin kullanılabilir olması için initrd'yi yeniden oluşturmanız gerekir. initrd veya initramfs görüntüsünü yeniden oluşturma mekanizması, dağıtıma bağlı olarak değişebilir. Doğru yordam için dağıtımınızın belgelerine veya desteğine başvurun. Aşağıda mkinitrd yardımcı programını kullanarak initrd'yi yeniden derlemek için bir örnek verilmiştir:

    1. Sistemde yüklü çekirdeklerin listesini bulma (/lib/modules)

    2. Her modül için Hyper-V sürücülerinin zaten dahil olup olmadığını inceleyin.

    3. Bu sürücülerden herhangi biri eksikse, gerekli sürücüleri ekleyin ve ilgili çekirdek sürümü için görüntüyü yeniden üretin.

      Not

      Hyper-V sürücüleri varsayılan olarak yerleşik olduğundan bu adım Ubuntu ve Debian VM'leri için geçerli olmayabilir. Değişiklikler hakkında daha fazla bilgi edinin.

      Initrd'u yeniden derlemek için örnek bir örnek

      • Mevcut initrd görüntüsünü yedekleme
       cd /boot
       sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
      
      • hv_vmbus ve hv_storvsc çekirdek modülleriyle initrd'yi yeniden derleyin:
         sudo mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
      

    Linux dağıtımlarının çoğu yeni sürümü varsayılan olarak bu sürüme sahiptir. Dahil değilse, yukarıda belirtilen adımları kullanarak belirtilenler dışında tüm sürümler için el ile yükleyin.

  4. Azure Seri Konsol günlüğünü etkinleştirme

    Betik daha sonra Azure Seri Konsolu günlüğünü etkinleştirmek için değişiklikler yapar. Konsol günlüğünün etkinleştirilmesi, Azure VM'sinde sorun gidermeye yardımcı olur. Linux için Azure Seri Konsolu hakkında daha fazla bilgi edinin Linux için Azure Seri Konsolu - Sanal Makineler | Microsoft Docs.

    GRUB veya GRUB2'deki çekirdek önyükleme satırını, tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesi için aşağıdaki parametreleri içerecek şekilde değiştirin. Bu iletiler Azure desteği herhangi bir sorunda hata ayıklamaya yardımcı olabilir.

     console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300
    

    Varsa aşağıdaki parametreleri kaldırmanızı da öneririz.

    rhgb quiet crashkernel=auto
    

    Belirli değişiklikler için bu makaleye bakın.

  5. Bağlantı için ağ değişiklikleri

    İşletim Sistemi Sürümüne bağlı olarak, betik geçirilen VM'ye bağlantı için gerekli ağ değişikliklerini gerçekleştirir. Değişiklikler şunları içerir:

    1. Ethernet arabirimi için statik kurallar oluşturmaktan kaçınmak için udev kurallarını taşıyın (veya kaldırın). Bu kurallar, Azure'da bir sanal makineyi kopyaladığınızda sorunlara neden olur.

      RedHat sunucuları için örnek bir örnek

         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
      
    2. Gerekirse Ağ Yöneticisi'yi kaldırın. Ağ Yöneticisi birkaç işletim sistemi sürümü için Azure Linux aracısını etkileyebilir. RedHat ve Ubuntu dağıtımlarını çalıştıran sunucular için bu değişikliklerin yapılması önerilir.

    3. Aşağıdaki komutu çalıştırarak bu paketi kaldırın:

      RedHat sunucuları için örnek bir örnek

         sudo rpm -e --nodeps NetworkManager
      
    4. Mevcut NIC ayarlarını yedekleyin ve DHCP ayarlarıyla eth0 NIC yapılandırma dosyası oluşturun. Bunu yapmak için betik /etc/sysconfig/network-scripts/ifcfg-eth0 dosyasını oluşturur veya düzenler ve aşağıdaki metni ekler:

      RedHat sunucuları için örnek bir örnek

         DEVICE=eth0
         ONBOOT=yes
         BOOTPROTO=dhcp
         TYPE=Ethernet
         USERCTL=no
         PEERDNS=yes
         IPV6INIT=no
         PERSISTENT_DHCLIENT=yes
         NM_CONTROLLED=yes
      
    5. etc/sysconfig/network dosyasını aşağıdaki gibi sıfırlayın:

      RedHat sunucuları için örnek bir örnek

         NETWORKING=yes
         HOSTNAME=localhost.localdomain
      
  6. Fstab doğrulaması

    Azure Geçişi, fstab dosyasının girdilerini doğrular ve fstab girdilerini gerektiğinde kalıcı birim tanımlayıcılarıyla, UUID'lerle değiştirir. Bu, bağlı olduğu sistem ne olursa olsun sürücü/bölüm adının sabit kalmasını sağlar.

    • Cihaz adı standart bir cihaz adıysa (/dev/sdb1 gibi), o zaman:
      • Bu bir kök veya önyükleme bölümüyse, UUID ile değiştirilir.
      • Bölüm aynı diskte standart bölümler olarak kök veya önyükleme bölümüyle bir arada bulunursa, UUID ile değiştirilir.
    • Cihaz adı UUID/LABEL/LV ise hiçbir değişiklik yapılmaz.
    • Bu bir ağ cihazıysa (nfs, cifs, smbfs vb.), betik girdiye açıklama ekler. Buna erişmek için, aynı açıklamayı açabilir ve Azure VM'nizi yeniden başlatabilirsiniz.
  7. Linux Azure Konuk Aracısı'nı yükleme

    Azure Geçişi, Linux ve FreeBSD sağlamayı yöneten güvenli ve basit bir işlem olan Microsoft Azure Linux Aracısı'nı (waagent) ve Azure Fabric Denetleyicisi ile VM etkileşimini yüklemeyi dener. Linux aracısı aracılığıyla Linux ve FreeBSD IaaS dağıtımları için etkinleştirilen işlevler hakkında daha fazla bilgi edinin.

    Linux VM aracısını yüklemek için gerekli paketlerin listesini gözden geçirin. Azure Geçişi RHEL 9.x, 8.x/7.x/6.x için Linux VM aracısını otomatik olarak yükler. VMware geçişinin aracısız yöntemini kullanırken Ubuntu 14.04/16.04/18.04/19.04/19.10/20.04, SUSE 15 SP0/15 SP1/12, Debian 9/8/7 ve Oracle 7/6. Diğer işletim sistemi sürümleri için Linux Aracısı'nı el ile yüklemek için bu yönergeleri izleyin.

    Komutunu kullanarak Azure Linux Aracısı'nın hizmet durumunu doğrulayabilir ve çalıştığından emin olabilirsiniz. Hizmet adı walinuxagent veya waagent olabilir. Hidrasyon değişiklikleri yapıldıktan sonra betik, bağlanan tüm bölümleri çıkarır, birim gruplarını devre dışı bırakır ve ardından cihazları temizler.

       sudo vgchange -an <vg-name>
       sudo lockdev –flushbufs <disk-device-name>
    

    Linux sunucuları için değişiklikler hakkında daha fazla bilgi edinin.

Geçici VM'yi temizleme

Gerekli değişiklikler yapıldıktan sonra Azure Geçişi geçici VM'yi döndürür ve ekli işletim sistemi disklerini (ve veri disklerini) serbest bırakacaktır. Bu, hidrasyon işleminin sonunu işaret ediyor.

Bundan sonra, değiştirilen işletim sistemi diski ve çoğaltılan verileri içeren veri diskleri kopyalanır. Hedef bölgede, sanal ağda ve alt ağda yeni bir sanal makine oluşturulur ve kopyalanan diskler sanal makineye eklenir. Bu, geçiş işleminin tamamlanmasını işaretler.

Daha fazla bilgi edinin