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
Di panel tengah Hyper-V Manager, pilih komputer virtual.
Klik Sambungkan untuk membuka jendela untuk komputer virtual.
Daftarkan sistem SUSE Linux Enterprise Anda untuk memungkinkannya mengunduh pembaruan dan memasang paket.
Perbarui sistem dengan patch terbaru:
# sudo zypper updatePasang 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-initMengaktifkan 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 cleanPerbarui 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'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=ttyS0Ini akan memastikan semua pesan konsol dikirim ke port serial pertama, yang dapat membantu dukungan Azure dengan masalah penelusuran kesalahan.
Pastikan /etc/fstab file mereferensikan disk menggunakan UUID-nya (by-uuid)
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.rulesDisarankan untuk mengedit file "/etc/sysconfig/network/dhcp" dan mengubah
DHCLIENT_SET_HOSTNAMEparameter menjadi yang berikut:DHCLIENT_SET_HOSTNAME="no"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'!Pastikan bahwa server SSH dipasang, dan dikonfigurasi untuk memulai pada waktu boot. Biasanya hal ini merupakan penyebabnya.
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.confdengan 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.confJika 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
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 # logoutKlik Tindakan -> Matikan di Hyper-V Manager. VHD Linux Anda kini siap diunggah ke Azure.
Menyiapkan openSUSE 15.2+
Di panel tengah Hyper-V Manager, pilih komputer virtual.
Klik Sambungkan untuk membuka jendela untuk komputer virtual.
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_UpdatesAnda 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]Perbarui kernel ke versi terbaru yang tersedia:
# sudo zypper up kernel-defaultAtau harus memperbarui sistem dengan semua patch terbaru:
# sudo zypper updatePasang Agen Linux Azure.
# sudo zypper install WALinuxAgentUbah 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=ttyS0Ini 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,0x8Disarankan untuk mengedit file "/etc/sysconfig/network/dhcp" dan mengubah
DHCLIENT_SET_HOSTNAMEparameter menjadi yang berikut:DHCLIENT_SET_HOSTNAME="no"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'!Pastikan bahwa server SSH dipasang, dan dikonfigurasi untuk memulai pada waktu boot. Biasanya hal ini merupakan penyebabnya.
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.Jalankan perintah berikut untuk men-deprovisi komputer virtual dan persiapkan untuk penyediaan di Azure:
# sudo waagent -force -deprovision # export HISTSIZE=0 # logoutPastikan Agen Linux Azure berjalan saat startup:
# sudo systemctl enable waagent.serviceKlik 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.