Bagikan melalui


Bersiap untuk migrasi tanpa agen VMware

Artikel ini memberikan gambaran umum tentang perubahan yang dilakukan saat Anda memigrasikan VMware VM ke Azure melalui metode migrasi tanpa agen menggunakan alat Migrasi dan modernisasi.

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang merupakan status End Of Life (EOL). Harap pertimbangkan penggunaan dan perencanaan Anda yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Sebelum Anda memigrasikan mesin virtual lokal ke Azure, Anda mungkin memerlukan beberapa perubahan untuk membuat mesin virtual siap untuk Azure. Perubahan ini penting untuk memastikan bahwa VM yang dimigrasikan dapat berhasil di-boot di Azure dan konektivitas ke Azure VM dapat dibuat. Azure Migrate secara otomatis menangani perubahan konfigurasi ini untuk versi sistem operasi berikut untuk Linux dan Windows. Proses ini disebut Hidrasi.

Versi sistem operasi yang didukung untuk hidrasi

  • Windows Server 2008 atau yang lebih baru
  • 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 9.x (Rilis dan Streaming)
  • 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

Anda juga dapat menggunakan artikel ini untuk secara manual mempersiapkan VM untuk migrasi ke Azure untuk versi sistem operasi yang tidak tercantum di atas. Pada tingkat tinggi, perubahan ini meliputi:

  • Memvalidasi keberadaan driver yang diperlukan
  • Mengaktifkan konsol serial
  • Mengonfigurasi setelan jaringan
  • Menginstal agen tamu mesin virtual

Proses hidrasi

Anda harus membuat beberapa perubahan pada konfigurasi VM sebelum migrasi untuk memastikan bahwa VM yang dimigrasikan berfungsi dengan benar di Azure. Azure Migrate menangani perubahan konfigurasi ini melalui proses hidrasi. Proses hidrasi hanya dilakukan untuk versi sistem operasi yang didukung Azure yang diberikan di atas. Sebelum bermigrasi, Anda mungkin perlu melakukan perubahan yang diperlukan secara manual untuk versi sistem operasi lain yang tidak tercantum di atas. Jika mesin virtual dimigrasikan tanpa perubahan yang diperlukan, mesin virtual mungkin tidak dapat di-boot, atau Anda mungkin tidak memiliki konektivitas ke VM yang dimigrasikan. Diagram berikut menunjukkan kepada Anda bahwa Azure Migrate melakukan proses hidrasi.

Langkah hidrasi

Saat pengguna memicu Uji Migrasi atau Migrasi, Azure Migrate melakukan proses hidrasi untuk menyiapkan mesin virtual lokal untuk migrasi ke Azure. Untuk menyiapkan proses hidrasi, Azure Migrate membuat mesin virtual Azure sementara dan melampirkan disk mesin virtual sumber untuk melakukan perubahan agar mesin virtual sumber siap untuk Azure. Mesin virtual Azure sementara adalah mesin virtual perantara yang dibuat selama proses migrasi sebelum mesin virtual terakhir yang dimigrasikan dibuat. Mesin virtual sementara akan dibuat dengan jenis OS yang serupa (Windows/Linux) menggunakan salah satu gambar OS marketplace. Jika mesin virtual lokal menjalankan Windows, disk sistem operasi mesin virtual lokal akan dilampirkan sebagai disk data ke mesin virtual sementara untuk melakukan perubahan. Jika ini adalah server Linux, semua disk yang terpasang pada VM lokal akan dilampirkan sebagai disk data ke Azure VM sementara.

Azure Migrate akan membuat antarmuka jaringan, jaringan virtual baru, subnet, dan kelompok keamanan jaringan (NSG) untuk menghost mesin virtual sementara. Sumber daya ini dibuat dalam langganan pelanggan. Jika ada kebijakan yang bertentangan yang mencegah pembuatan artefak jaringan, Azure Migrate akan mencoba membuat mesin virtual Azure sementara di jaringan virtual dan subnet yang disediakan sebagai bagian dari opsi pengaturan target replikasi.

Setelah mesin virtual dibuat, Azure Migrate akan memanggil Ekstensi Skrip Kustom pada mesin virtual sementara menggunakan REST API Mesin Virtual Azure. Utilitas Ekstensi Skrip Kustom akan menjalankan skrip persiapan yang berisi konfigurasi yang diperlukan untuk kesiapan Azure pada disk mesin virtual lokal yang dilampirkan ke mesin virtual Azure sementara. Skrip persiapan diunduh dari akun penyimpanan milik Azure Migrate. Aturan grup keamanan jaringan dari jaringan virtual akan dikonfigurasi untuk mengizinkan mesin virtual Azure sementara mengakses akun penyimpanan Azure Migrate untuk memanggil skrip.

Langkah migrasi

Catatan

Disk VM hidrasi tidak mendukung Customer Managed Key (CMK). Platform Managed Key (PMK) adalah opsi default.

Perubahan yang dilakukan selama proses hidrasi

Skrip persiapan menjalankan perubahan berikut berdasarkan jenis OS mesin virtual sumber yang akan dimigrasikan. Anda juga dapat menggunakan bagian ini sebagai panduan untuk menyiapkan VM secara manual untuk migrasi untuk versi sistem operasi yang tidak didukung untuk hidrasi.

Perubahan yang dilakukan pada server Windows

  1. Menemukan dan menyiapkan volume OS Windows

    Sebelum melakukan perubahan konfigurasi yang relevan, skrip persiapan akan memvalidasi jika disk OS yang benar dipilih untuk migrasi. Skrip persiapan akan melihat semua volume terlampir yang terlihat oleh sistem dan mencari jalur file kumpulan registri SISTEM untuk menemukan volume OS sumber.

    Tindakan berikut dilakukan dalam langkah ini:

    • Pasang setiap partisi pada disk OS yang terpasang ke mesin virtual sementara.

    • Mencari file registri \Windows\System32\Config\System setelah memasang partisi.

    • Jika file tidak ditemukan, partisi dilepas, dan pencarian berlanjut untuk partisi yang benar.

    • Jika file tidak ada di salah satu partisi, itu dapat menunjukkan bahwa disk OS yang salah dipilih, atau disk OS rusak. Azure Migrate akan gagal dalam proses migrasi dengan kesalahan yang sesuai.

    Catatan

    Langkah ini tidak relevan jika Anda menyiapkan server secara manual untuk migrasi.

  2. Membuat perubahan terkait boot dan konektivitas

    Setelah file volume OS sumber terdeteksi, skrip persiapan akan memuat kumpulan registri SISTEM ke editor registri mesin virtual Azure sementara dan melakukan perubahan berikut untuk memastikan boot up dan konektivitas mesin virtual. Anda perlu mengonfigurasi pengaturan ini secara manual jika versi OS tidak didukung untuk hidrasi.

    1. Memvalidasi keberadaan driver yang diperlukan

      Pastikan apakah driver yang diperlukan telah diinstal dan diatur untuk memuat saat boot mulai. Driver Windows ini memungkinkan server untuk berkomunikasi dengan perangkat keras dan perangkat lain yang tersambung.

      • IntelIde.sys
      • Atapi
      • Storfit
      • Storvsc
      • VMbus
    2. Mengatur kebijakan jaringan area penyimpanan (SAN) menjadi Online Semua

      Ini memastikan bahwa volume Windows di mesin virtual Azure menggunakan penetapan huruf kandar yang sama dengan mesin virtual lokal. Secara default, Azure VM ditetapkan drive D: untuk digunakan sebagai penyimpanan sementara. Penetapan kandar ini menyebabkan semua penetapan kandar penyimpanan terpasang lainnya menjadi tahapan berdasarkan satu huruf. Untuk mencegah penetapan otomatis ini, dan untuk memastikan bahwa Azure menetapkan huruf kandar gratis berikutnya ke volume sementara, atur kebijakan jaringan area penyimpanan (SAN) menjadi Online Semua.

      Untuk mengonfigurasi setelan ini secara manual:

      • Di server lokal, buka prompt perintah dengan hak istimewa yang lebih tinggi dan masukkan diskpart.

        Konfigurasi Manual

      • Masukkan SAN. Jika huruf kandar sistem operasi tamu tidak dipertahankan, Offline Semua atau Offline Berbagi dikembalikan.

      • Pada permintaan DISKPART, masukkan Kebijakan SAN=OnlineSemua. Pengaturan ini memastikan bahwa disk akan online, dan Anda dapat membaca dan menulis ke kedua disk.

        Kebijakan online diskpart Perintah Administrator

  3. Mengatur jenis mulai DHCP

    Skrip persiapan juga akan mengatur jenis mulai layanan DHCP sebagai Otomatis. Ini akan memungkinkan mesin virtual yang dimigrasikan untuk mendapatkan alamat IP dan membangun konektivitas setelah migrasi. Pastikan layanan DHCP dikonfigurasi, dan statusnya berjalan.

    Mengatur Jenis Mulai DHCP

    Untuk mengedit pengaturan startup DHCP secara manual, jalankan contoh berikut di Windows PowerShell:

    Get-Service -Name Dhcp
    Where-Object StartType -ne Automatic
    Set-Service -StartupType Automatic
    
  4. Menonaktifkan VMware Tools

    Buat jenis mulai layanan "Alat VMware" untuk dinonaktifkan jika ada karena tidak diperlukan untuk VM di Azure.

    Catatan

    Untuk menyambung ke mesin virtual Windows Server 2003, Layanan integrasi Hyper-V harus diinstal di mesin virtual Azure. Mesin Windows Server 2003 tidak menginstal ini secara default. Lihat artikel ini untuk menginstal dan menyiapkan migrasi.

  5. Menginstal Agen Tamu Windows Azure

    Azure Migrate akan mencoba menginstal Microsoft Azure Virtual Machine Agent (Agent Mesin Virtual), proses aman dan ringan yang mengelola interaksi mesin virtual (VM) dengan Azure Fabric Controller. Agen mesin virtual memiliki peran utama dalam mengaktifkan dan menjalankan ekstensi mesin virtual Azure yang memungkinkan konfigurasi mesin virtual pasca penerapan, seperti menginstal dan mengonfigurasi perangkat lunak. Azure Migrate secara otomatis menginstal agen mesin virtual Windows di Windows Server 2008 R2 dan versi yang lebih tinggi.

    Windows VM Agent dapat dipasang secara manual dengan paket penginstal Windows. Untuk menginstal Agen VM Windows secara manual, unduh penginstal Agen VM. Anda juga dapat menelusuri versi tertentu di rilis Agen mesin virtual Windows IaaS GitHub. VM Agent didukung pada Windows Server 2008 (64 bit) dan yang lebih baru.

    Untuk memeriksa apakah Agen Mesin Virtual Azure berhasil dipasang, buka Pengelola Tugas, pilih tab Detail, dan cari nama proses WindowsAzureGuestAgent.exe. Kehadiran proses ini menunjukkan bahwa agen VM telah dipasang. Anda juga dapat menggunakan PowerShell untuk mendeteksi agen mesin virtual.

    Instalasi Agen Mesin Virtual Azure yang Berhasil

    Setelah perubahan yang disebutkan di atas dilakukan, partisi sistem akan dibongkar. Mesin virtual sekarang siap untuk migrasi. Pelajari selengkapnya tentang perubahan untuk server Windows.

Perubahan yang dilakukan pada server Linux

  1. Menemukan dan memasang partisi OS Linux

    Sebelum melakukan perubahan konfigurasi yang relevan, skrip persiapan akan memvalidasi jika disk OS yang benar dipilih untuk migrasi. Skrip akan mengumpulkan informasi tentang semua partisi, UUID-nya, dan titik pemasangan. Script akan memeriksa semua partisi yang terlihat ini untuk menemukan partisi/boot dan/akar.

    Tindakan berikut dilakukan dalam langkah ini:

    • Temukan partisi /root:
      • Pasang setiap partisi yang terlihat dan cari etc/fstab.
      • Jika file fstab tidak ditemukan, partisi dilepas, dan pencarian berlanjut untuk partisi yang benar.
      • Jika file fstab ditemukan, baca konten fstab untuk mengidentifikasi perangkat akar dan pasang sebagai titik pemasangan dasar.
    • Temukan /boot dan partisi sistem lainnya:
      • Gunakan konten fstab untuk menentukan apakah /boot adalah partisi terpisah. Jika itu adalah partisi terpisah, dapatkan nama perangkat partisi boot dari konten fstab atau cari partisi, yang memiliki bendera boot.
      • Skrip akan melanjutkan untuk menemukan dan memasang/melakukan booting, dan partisi lain yang diperlukan pada “/mnt/azure_sms_root” untuk membangun pohon filesystem akar yang diperlukan untuk chroot jail. Partisi lain yang diperlukan termasuk: /boot/grub/menu.lst, /boot/grub/grub.conf, /boot/grub2/grub.cfg, /boot/grub/grub.cfg, /boot/efi (untuk boot UEFI) , /var, /lib, /etc, /usr, dan lainnya.
  2. Menentukan Versi OS

    Setelah partisi akar ditemukan, skrip akan menggunakan file berikut untuk menentukan distribusi dan versi Sistem Operasi Linux.

    • RHEL/CentOS: etc/redhat-release
    • OL: etc/oracle-release
    • SLES: etc/SuSE-release
    • Ubuntu: etc/lsb-release
    • Debian: etc/debian_version
  3. Menginstal Layanan Integrasi Hyper-V Linux dan meregenerasi gambar kernel

    Langkah selanjutnya adalah memeriksa citra kernel dan membangun kembali gambar init Linux sehingga berisi driver Hyper-V yang diperlukan (hv_vmbus, hv_storvsc, hv_netvsc) pada ramdisk awal. Membangun kembali citra init memastikan komputer virtual akan menyala di Azure.

    Azure berjalan pada hypervisor Hyper-V. Jadi, Linux memerlukan modul kernel tertentu untuk berjalan di Azure. Untuk mempersiapkan gambar Linux, Anda perlu membangun ulang initrd sehingga setidaknya modul kernel hv_vmbus dan hv_storvsc tersedia di ramdisk awal. Mekanisme untuk membangun kembali gambar initrd atau initramfs dapat bervariasi tergantung pada distribusi. Konsultasikan dokumentasi atau dukungan distribusi Anda untuk prosedur yang tepat. Berikut adalah salah satu contoh untuk membangun kembali initrd dengan menggunakan utilitas mkinitrd:

    1. Temukan daftar kernel yang diinstal pada sistem (/lib/modules)

    2. Untuk setiap modul, periksa apakah driver Hyper-V sudah disertakan.

    3. Jika salah satu dari driver ini hilang, tambahkan driver yang diperlukan dan regenerasi gambar untuk versi kernel yang sesuai.

      Catatan

      Langkah ini mungkin tidak berlaku untuk VM Ubuntu dan Debian karena driver Hyper-V sudah ada di dalamnya secara default. Pelajari selengkapnya perubahan tersebut.

      Contoh ilustrasi untuk membangun kembali initrd

      • Mencadangkan gambar initrd yang ada
       cd /boot
       sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
      
      • Bangun kembali initrd dengan modul kernel hv_vmbus dan hv_storvsc:
         sudo mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
      

    Sebagian besar versi baru distribusi Linux memiliki ini secara default. Jika tidak disertakan, instal secara manual untuk semua versi kecuali yang dipanggil, menggunakan langkah-langkah tersebut.

  4. Aktifkan pengelogan Konsol Serial Azure

    Skrip kemudian akan membuat perubahan untuk mengaktifkan pengelogan Azure Serial Console. Mengaktifkan pengelogan konsol membantu memecahkan masalah pada mesin virtual Azure. Pelajari selengkapnya tentang Azure Serial Console untuk Linux Azure Serial Console untuk Linux - Mesin Virtual | Microsoft Docs.

    Ubah garis boot kernel di GRUB atau GRUB2 untuk menyertakan parameter berikut, sehingga semua pesan konsol dikirim ke port serial pertama. Pesan ini dapat membantu dukungan Azure dengan men-debug masalah apa pun.

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

    Sebaiknya hapus parameter berikut jika ada.

    rhgb quiet crashkernel=auto
    

    Lihat artikel ini untuk perubahan tertentu.

  5. Perubahan jaringan untuk konektivitas

    Berdasarkan Versi OS, skrip akan melakukan perubahan jaringan yang diperlukan untuk konektivitas ke migrasikan yang dimigrasikan. Beberapa perubahan meliputi:

    1. Pindahkan (atau hapus) aturan udev untuk menghindari dibuatnya aturan statis bagi antarmuka Ethernet. Aturan ini menyebabkan masalah saat Anda mengkloning mesin virtual di Azure.

      Contoh ilustrasi untuk server RedHat

         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. Hapus Manajer Jaringan jika perlu. Manajer Jaringan dapat mengganggu agen Azure Linux untuk beberapa versi OS. Disarankan untuk membuat perubahan ini untuk server yang menjalankan distribusi RedHat dan Ubuntu.

    3. Hapus instalan paket ini dengan menjalankan perintah berikut:

      Contoh ilustrasi untuk server RedHat

         sudo rpm -e --nodeps NetworkManager
      
    4. Cadangkan pengaturan NIC yang ada dan buat file konfigurasi NIC eth0 dengan pengaturan DHCP. Untuk melakukan ini, skrip akan membuat atau mengedit file /etc/sysconfig/network-scripts/ifcfg-eth0, dan menambahkan teks berikut:

      Contoh ilustrasi untuk server RedHat

         DEVICE=eth0
         ONBOOT=yes
         BOOTPROTO=dhcp
         TYPE=Ethernet
         USERCTL=no
         PEERDNS=yes
         IPV6INIT=no
         PERSISTENT_DHCLIENT=yes
         NM_CONTROLLED=yes
      
    5. Atur ulang file etc/sysconfig/network sebagai berikut:

      Contoh ilustrasi untuk server RedHat

         NETWORKING=yes
         HOSTNAME=localhost.localdomain
      
  6. Validasi fstab

    Azure Migrate akan memvalidasi entri file fstab dan mengganti entri fstab dengan pengenal volume persisten, UUID di mana pun diperlukan. Ini memastikan nama drive/partisi tetap konstan terlepas dari sistem yang dilampirkan.

    • Jika nama perangkat adalah nama perangkat standar (misalnya /dev/sdb1), maka:
      • Jika ini adalah partisi root atau boot, maka diganti dengan UUID.
      • Jika partisi berdampingan dengan partisi root atau boot sebagai partisi standar pada disk yang sama, maka itu diganti dengan UUID.
    • Jika nama perangkat adalah UUID/LABEL/LV, tidak ada perubahan yang akan dilakukan.
    • Jika itu perangkat jaringan (nfs, cifs, smbfs, dan lain-lain), skrip akan mengomentari entri. Untuk mengaksesnya, Anda dapat menghapus komentar yang sama dan mem-boot ulang Azure mesin virtual Anda.
  7. Menginstal Agen Tamu Linux Azure

    Azure Migrate akan mencoba menginstal Microsoft Azure Linux Agent (waagent), proses yang aman dan ringan yang mengelola penyediaan Linux & FreeBSD, dan interaksi mesin virtual dengan Azure Fabric Controller. Pelajari selengkapnya tentang fungsionalitas yang diaktifkan untuk penyebaran Linux dan FreeBSD IaaS melalui agen Linux.

    Tinjau daftar paket yang diperlukan untuk menginstal agen komputer virtual Linux. Azure Migrate menginstal agen VM Linux secara otomatis untuk RHEL 8.x/7.x/6.x, Ubuntu 14.04/16.04/18.04/19.04/19.10/20.04, SUSE 15 SP0/15 SP1/12, Debian 9/8/7, dan Oracle 7/6 saat menggunakan metode tanpa agen migrasi VMware. Ikuti petunjuk ini untuk menginstal Agen Linux secara manual untuk versi OS lainnya.

    Anda dapat menggunakan perintah untuk memverifikasi status layanan Agen Azure Linux untuk memastikannya berjalan. Nama layanannya mungkin walinuxagent atau waagent. Setelah perubahan hidrasi selesai, skrip akan melepas semua partisi yang dipasang, menonaktifkan grup volume, dan kemudian melakukan flush perangkat.

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

    Pelajari selengkapnya tentang perubahan untuk server Linux.

Membersihkan mesin virtual sementara

Setelah perubahan yang diperlukan dilakukan, Azure Migrate akan menurunkan mesin virtual sementara dan membebaskan disk OS yang terpasang (dan disk data). Ini menandai akhir dari proses hidrasi.

Setelah ini, disk OS yang dimodifikasi dan disk data yang berisi data yang direplikasi akan dikloning. Mesin virtual baru dibuat di wilayah target, jaringan virtual, dan subnet, dan disk kloning dilampirkan ke mesin virtual. Ini menandai selesainya proses migrasi.

Pelajari lebih lanjut