Menyiapkan komputer virtual SLES atau openSUSE Leap untuk Azure

Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel Berlaku untuk: ✔️ Set skala seragam

Artikel ini mengasumsikan bahwa Anda telah memasang sistem operasi SUSE atau openSUSE Leap Linux ke hard disk virtual. Beberapa alat ada untuk membuat file .vhd, misalnya solusi virtualisasi seperti Hyper-V. Untuk petunjuk penggunaan, lihatPasang Peran Hyper-V dan konfigurasikan Komputer Virtual.

Catatan penginstalan SLES/openSUSE Leap

  • Lihat juga Catatan Penginstalan Linux Umum untuk tips lebih lanjut tentang persiapan Linux untuk Azure.
  • Format VHDX tidak didukung di Azure, hanya VHD tetap. Anda dapat mengonversi disk ke format VHD menggunakan Hyper-V Manager atau convert-vhd cmdlet.
  • Saat memasang sistem Linux, disarankan untuk menggunakan partisi standar, bukan LVM (sering kali default untuk berbagai penginstalan). Hal ini akan menghindari konflik nama LVM dengan VM kloning, terutama jika disk OS perlu dipasang ke VM lain untuk pemecahan masalah. LVM atau RAID dapat digunakan pada disk data jika diinginkan.
  • Jangan mengonfigurasi partisi swap pada disk OS. Agen Linux dapat dikonfigurasi untuk membuat file swap pada disk sumber daya sementara. Informasi lebih lanjut dapat ditemukan dalam langkah-langkah di bawah ini.
  • Semua VHD di Azure harus memiliki ukuran virtual yang selaras dengan 1MB. Saat mengonversi dari disk mentah ke VHD, Anda harus memastikan bahwa ukuran disk mentah adalah kelipatan 1MB sebelum konversi. Untuk informasi selengkapnya, lihat Catatan Penginstalan Linux.

Gunakan SUSE Studio

SUSE Studio dapat dengan mudah membuat dan mengelola gambar SLES dan openSUSE Leap untuk Azure dan Hyper-V. Ini adalah pendekatan yang disarankan untuk menyesuaikan gambar SLES dan OpenSUSE Leap Anda sendiri.

Sebagai alternatif untuk membangun VHD Anda sendiri, SUSE juga menerbitkan gambar BYOS (Bring Your Own Subscription) untuk SLES di VM Depot.

Siapkan SUSE Linux Enterprise Server untuk Azure

  1. Di panel tengah Hyper-V Manager, pilih komputer virtual.

  2. Klik Sambungkan untuk membuka jendela untuk komputer virtual.

  3. Daftarkan sistem SUSE Linux Enterprise Anda untuk memungkinkannya mengunduh pembaruan dan memasang paket.

  4. Perbarui sistem dengan patch terbaru:

    # sudo zypper update
    
  5. Pasang Azure Linux Agent dan cloud-init

    # SUSEConnect -p sle-module-public-cloud/15.2/x86_64  (SLES 15 SP2)
    # sudo zypper refresh
    # sudo zypper install python-azure-agent
    # sudo zypper install cloud-init
    
  6. Mengaktifkan waagent & yang diinisialisasi cloud untuk memulai boot

    # sudo chkconfig waagent on
    # systemctl enable cloud-init-local.service
    # systemctl enable cloud-init.service
    # systemctl enable cloud-config.service
    # systemctl enable cloud-final.service
    # systemctl daemon-reload
    # cloud-init clean
    
  7. Perbarui konfigurasi waagen dan cloud-init

    # sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf
    # sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf
    
    # sudo sh -c 'printf "datasource:\n  Azure:" > /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg'
    # sudo sh -c 'printf "reporting:\n  logging:\n    type: log\n  telemetry:\n    type: hyperv" > /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg'
    
  8. Edit file /etc/default/grub untuk memastikan log konsol dikirim ke port serial dan kemudian perbarui file konfigurasi utama dengan grub2-mkconfig -o /boot/grub2/grub.cfg

    console=ttyS0 earlyprintk=ttyS0 
    

    Ini akan memastikan semua pesan konsol dikirim ke port serial pertama, yang dapat membantu dukungan Azure dengan masalah penelusuran kesalahan.

  9. Pastikan /etc/fstab file mereferensikan disk menggunakan UUID-nya (by-uuid)

  10. Ubah aturan udev untuk menghindari pembuatan aturan statis untuk antarmuka Ethernet. Aturan ini dapat menyebabkan masalah saat mengkloning komputer virtual di Microsoft Azure atau Hyper-V:

    # 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
    
  11. Disarankan untuk mengedit file "/etc/sysconfig/network/dhcp" dan mengubah DHCLIENT_SET_HOSTNAME parameter menjadi yang berikut:

    DHCLIENT_SET_HOSTNAME="no"
    
  12. Di "/etc/sudoers", komentari atau hapus baris berikut jika ada:

    Defaults targetpw   # ask for the password of the target user i.e. root
    ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!
    
  13. Pastikan bahwa server SSH dipasang, dan dikonfigurasi untuk memulai pada waktu boot. Biasanya hal ini merupakan penyebabnya.

  14. Konfigurasi swap

    Jangan membuat ruang swap pada disk sistem operasi.

    Sebelumnya, Azure Linux Agent digunakan secara otomatis mengonfigurasi ruang swap dengan menggunakan disk sumber daya lokal yang melekat pada komputer virtual setelah komputer virtual disediakan di Azure. Namun upaya ini sekarang ditangani oleh cloud-init, Anda tidak boleh menggunakan Agen Linux untuk melakukan format disk sumber daya membuat file pertukaran, memodifikasi parameter berikut di /etc/waagent.conf dengan tepat:

    # sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf
    # sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
    

    Jika Anda ingin memasang, memformat, dan membuat swap, Anda dapat:

    • Meneruskan ini sebagai konfigurasi cloud-init setiap kali Anda membuat komputer virtual.

    • Menggunakan direktif cloud-init yang dimasukkan ke dalam gambar yang akan melakukan hal ini setiap kali komputer virtual dibuat:

      echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf
      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
      
  15. Jalankan perintah berikut untuk mencabut akses komputer virtual dan persiapkan untuk penyediaan di Azure:

    # sudo rm -rf /var/lib/waagent/
    # sudo rm -f /var/log/waagent.log
    
    # waagent -force -deprovision+user
    # rm -f ~/.bash_history
    
    
    # export HISTSIZE=0
    
    # logout
    
  16. Klik Tindakan -> Matikan di Hyper-V Manager. VHD Linux Anda kini siap diunggah ke Azure.


Menyiapkan openSUSE 15.2+

  1. Di panel tengah Hyper-V Manager, pilih komputer virtual.

  2. Klik Sambungkan untuk membuka jendela untuk komputer virtual.

  3. Di shell, jalankan perintah 'zypper lr'. Jika perintah ini mengembalikan keluaran yang serupa dengan yang berikut, maka repositori dikonfigurasi seperti yang diharapkan--tidak diperlukan penyesuaian (perhatikan bahwa nomor versi dapat bervariasi):

    # Alias Nama Aktif Refresh
    1 Cloud:Tools_15.2 Cloud:Tools_15.2 Ya Ya
    2 openSUSE_15.2_OSS openSUSE_15.2_OSS Ya Ya
    3 openSUSE_15.2_Updates openSUSE_15.2_Updates Ya Ya

    Jika perintah mengembalikan "Tidak ada repositori yang ditentukan..." lalu gunakan perintah berikut untuk menambahkan repositori ini:

    # sudo zypper ar -f http://download.opensuse.org/repositories/Cloud:Tools/openSUSE_15.2 Cloud:Tools_15.2
    # sudo zypper ar -f https://download.opensuse.org/distribution/15.2/repo/oss openSUSE_15.2_OSS
    # sudo zypper ar -f http://download.opensuse.org/update/15.2 openSUSE_15.2_Updates
    

    Anda kemudian dapat memverifikasi repositori yang telah ditambahkan dengan menjalankan perintah ‘zypper lr' lagi. Jika salah satu repositori pembaruan terkait tidak diaktifkan, aktifkan dengan perintah berikut:

    # sudo zypper mr -e [NUMBER OF REPOSITORY]
    
  4. Perbarui kernel ke versi terbaru yang tersedia:

    # sudo zypper up kernel-default
    

    Atau harus memperbarui sistem dengan semua patch terbaru:

    # sudo zypper update
    
  5. Pasang Agen Linux Azure.

    # sudo zypper install WALinuxAgent
    
  6. Ubah garis boot kernel dalam konfigurasi grub Anda untuk menyertakan parameter kernel tambahan untuk Azure. Untuk melakukan ini, buka "/boot/grub/menu.lst" di editor teks dan pastikan bahwa kernel default menyertakan parameter berikut:

     console=ttyS0 earlyprintk=ttyS0 
    

    Ini akan memastikan semua pesan konsol dikirim ke port serial pertama, yang dapat membantu dukungan Azure dengan masalah penelusuran kesalahan. Selain itu, hapus parameter berikut dari garis boot kernel jika ada:

     libata.atapi_enabled=0 reserve=0x1f0,0x8
    
  7. Disarankan untuk mengedit file "/etc/sysconfig/network/dhcp" dan mengubah DHCLIENT_SET_HOSTNAME parameter menjadi yang berikut:

     DHCLIENT_SET_HOSTNAME="no"
    
  8. Penting: Di "/etc/sudoers", komentari atau hapus baris berikut jika ada:

    Defaults targetpw   # ask for the password of the target user i.e. root
    ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!
    
  9. Pastikan bahwa server SSH dipasang, dan dikonfigurasi untuk memulai pada waktu boot. Biasanya hal ini merupakan penyebabnya.

  10. Jangan membuat ruang swap pada disk OS.

    Azure Linux Agent dapat secara otomatis mengonfigurasi ruang swap menggunakan disk sumber daya lokal yang dilampirkan ke VM setelah penyediaan di Azure. Disk sumber daya lokal adalah disk sementara, dan mungkin dikosongkan ketika komputer virtual dideprovisikan. Setelah memasang Agen Linux Azure (lihat langkah sebelumnya), ubah parameter berikut di /etc/waagent.conf dengan tepat:

    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.
    
  11. Jalankan perintah berikut untuk men-deprovisi komputer virtual dan persiapkan untuk penyediaan di Azure:

    # sudo waagent -force -deprovision
    # export HISTSIZE=0
    # logout
    
  12. Pastikan Agen Linux Azure berjalan saat startup:

    # sudo systemctl enable waagent.service
    
  13. Klik Tindakan -> Matikan pada Manajer Hyper-V. Linux VHD Anda sekarang siap untuk diunggah ke Azure.

Langkah berikutnya

Anda sekarang siap menggunakan hard disk virtual SUSE Linux Anda untuk membuat komputer baru di Azure. Jika ini pertama kalinya Anda mengunggah file .vhd ke Azure, lihat Buat komputer virtual Linux dari disk kustom.