Menyiapkan komputer virtual Oracle Linux untuk Azure
Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Artikel ini mengasumsikan bahwa Anda telah menginstal sistem operasi (OS) Oracle Linux ke hard disk virtual (VHD). Ada beberapa alat untuk membuat file .vhd. Contohnya adalah solusi virtualisasi seperti Hyper-V. Untuk petunjuknya, lihat Menginstal peran Hyper-V dan mengonfigurasi komputer virtual (VM).
Catatan Penginstalan Oracle Linux
- Untuk tips selengkapnya tentang menyiapkan Linux untuk Azure, lihat Catatan penginstalan Linux umum.
- Hyper-V dan Azure mendukung Oracle Linux dengan Unbreakable Enterprise Kernel (UEK) atau Kernel yang Kompatibel dengan Red Hat.
- UEK2 Oracle tidak didukung di Hyper-V dan Azure karena tidak menyertakan driver yang diperlukan.
- Format VHDX tidak didukung di Azure, hanya VHD tetap. Anda dapat mengonversi disk ke format VHD dengan menggunakan Hyper-V Manager atau
convert-vhd
cmdlet. - Dukungan kernel untuk memasang sistem file fungsi yang ditentukan pengguna (UDF) diperlukan. Pada boot pertama di Azure, konfigurasi provisi diteruskan ke VM Linux melalui media berformat UDF yang dilampirkan ke tamu. Agen Azure Linux harus memasang sistem file UDF untuk membaca konfigurasinya dan memprovisikan VM.
- Saat Anda menginstal sistem Linux, kami sarankan Anda menggunakan partisi standar daripada Logical Volume Manager (LVM), yang sering menjadi default untuk banyak penginstalan. Partisi standar ini menghindari konflik nama LVM dengan VM kloning, terutama jika disk OS perlu dilampirkan ke VM lain untuk pemecahan masalah. LVM atau RAID juga dapat digunakan pada disk data.
- Versi kernel Linux yang lebih lama dari 2.6.37 tidak mendukung NUMA pada Hyper-V dengan ukuran VM yang lebih besar. Masalah ini terutama memengaruhi distribusi lama yang menggunakan kernel Red Hat 2.6.32 upstram dan diperbaiki di Oracle Linux 6.6 dan yang lebih baru.
- Jangan mengonfigurasi partisi swap pada disk OS.
- Semua VHD di Azure harus memiliki ukuran virtual yang selaras dengan 1MB. Saat Anda mengonversi dari disk mentah ke VHD, Anda harus memastikan bahwa ukuran disk mentah adalah kelipatan 1 MB sebelum konversi. Untuk informasi selengkapnya, lihat Catatan penginstalan Linux.
- Pastikan repositori
Addons
diaktifkan. Edit file/etc/yum.repos.d/public-yum-ol6.repo
(Oracle Linux 6) atau/etc/yum.repos.d/public-yum-ol7.repo
(Oracle Linux 7). Ubah barisenabled=0
menjadienabled=1
di bawah [ol6_addons] atau [ol7_addons] dalam file ini.
Oracle Linux 6.X
Penting
Ingatlah bahwa Oracle Linux 6.x sudah berada di akhir masa pakai. Oracle Linux versi 6.10 telah tersedia Dukungan Siklus Hidup Diperpanjang, yang berakhir Juli 2024.
Anda harus menyelesaikan langkah-langkah konfigurasi tertentu di OS agar VM berjalan di Azure.
Di panel tengah Hyper-V Manager, pilih VM.
Pilih Sambungkan untuk membuka jendela untuk VM.
Hapus instalan
NetworkManager
:sudo rpm -e --nodeps NetworkManager
Catatan
Jika paket belum diinstal, perintah ini gagal dengan pesan kesalahan. Pesan ini diharapkan.
Buat file bernama jaringan di
/etc/sysconfig/
direktori yang berisi teks berikut:NETWORKING=yes HOSTNAME=localhost.localdomain
Buat file bernama fcfg-eth0 di
/etc/sysconfig/network-scripts/
direktori yang berisi teks berikut:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no
Ubah aturan udev untuk menghindari pembuatan aturan statis untuk antarmuka Ethernet. Aturan ini dapat menyebabkan masalah saat Anda mengkloning VM di 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
Pastikan bahwa layanan jaringan dimulai pada waktu boot:
sudo chkconfig network on
Instal
python-pyasn1
:sudo yum install python-pyasn1
Ubah baris boot kernel dalam konfigurasi grub Anda untuk menyertakan lebih banyak parameter kernel untuk Azure. Untuk melakukan langkah ini, buka
/boot/grub/menu.lst
di editor teks dan pastikan bahwa kernel menyertakan parameter berikut:console=ttyS0 earlyprintk=ttyS0
Pengaturan ini memastikan bahwa semua pesan konsol dikirim ke port serial pertama, yang dapat membantu dukungan Azure dengan masalah penelusuran kesalahan.
Selain langkah-langkah sebelumnya, kami sarankan Anda menghapus parameter berikut:
rhgb quiet crashkernel=auto
Boot grafis dan tenang tidak berguna di lingkungan cloud tempat Anda ingin semua log dikirim ke port serial.
Opsi
crashkernel
dapat dibiarkan dikonfigurasi jika Anda mau. Parameter ini mengurangi jumlah memori yang tersedia di VM sebesar 128 MB atau lebih, yang mungkin menjadi masalah untuk ukuran VM yang lebih kecil.Pastikan server SSH diinstal dan dikonfigurasi untuk memulai pada saat boot. Pengaturan ini biasanya default.
Instal agen Azure Linux dengan menjalankan perintah berikut. Versi terbaru adalah 2.0.15.
sudo yum install WALinuxAgent
WALinuxAgent
Menginstal paket akan menghapusNetworkManager
paket danNetworkManager-gnome
jika belum dihapus, seperti yang dijelaskan di langkah 2.Jangan membuat ruang swap pada disk OS.
Agen Azure Linux dapat secara otomatis mengonfigurasi ruang pertukaran dengan menggunakan disk sumber daya lokal yang dilampirkan ke VM setelah provisi di Azure. Disk sumber daya lokal adalah disk sementara dan mungkin dikosongkan ketika VM dideprovisi. Setelah Anda menginstal agen Linux Azure (lihat langkah sebelumnya), ubah parameter
/etc/waagent.conf
berikut dengan tepat:ResourceDisk.Format=y ResourceDisk.Filesystem=ext4 ResourceDisk.MountPoint=/mnt ResourceDisk.EnableSwap=y ResourceDisk.SwapSizeMB=2048 ## NOTE: set this to whatever you need it to be.
Batalkan provisi VM dan siapkan untuk provisi di Azure:
sudo waagent -force -deprovision sudo export HISTSIZE=0 sudo logout
Pilih Tindakan>Matikan di Hyper-V Manager. VHD Linux Anda sekarang siap untuk diunggah ke Azure.
Oracle Linux 7.0 dan yang lebih baru
Ikuti langkah-langkah di bagian berikutnya jika Anda menggunakan Oracle Linux 7.0 atau yang lebih baru.
Perubahan di Oracle Linux 7
Menyiapkan VM Oracle Linux 7 untuk Azure mirip dengan Oracle Linux 6, tetapi beberapa perbedaan perlu dicatat:
- Azure mendukung Oracle Linux dengan Unbreakable Enterprise Kernel (UEK) atau Kernel yang Kompatibel dengan Red Hat. Kami menyarankan agar Anda menggunakan Oracle Linux dengan UEK.
- Paket
NetworkManager
tidak lagi bertentangan dengan agen Azure Linux. Paket ini diinstal secara default, dan kami sarankan Anda tidak menghapusnya. - GRUB2 sekarang digunakan sebagai bootloader default, sehingga prosedur untuk mengedit parameter kernel telah berubah. (Lihat bagian "Langkah konfigurasi".)
- XFS sekarang menjadi sistem file default. Sistem file ext4 masih dapat digunakan jika Anda mau.
Langkah-langkah konfigurasi
Di Hyper-V Manager, pilih VM.
Pilih Sambungkan untuk membuka jendela konsol untuk VM.
Buat file bernama jaringan di
/etc/sysconfig/
direktori yang berisi teks berikut:NETWORKING=yes HOSTNAME=localhost.localdomain
Buat file bernama fcfg-eth0 di
/etc/sysconfig/network-scripts/
direktori yang berisi teks berikut:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no
Ubah aturan udev untuk menghindari pembuatan aturan statis untuk antarmuka Ethernet. Aturan ini dapat menyebabkan masalah saat Anda mengkloning VM di Azure atau Hyper-V:
sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
Pastikan bahwa layanan jaringan dimulai pada waktu boot:
sudo chkconfig network on
Pasang paket
python-pyasn1
:sudo yum install python3-pyasn1
Hapus metadata yum saat ini dan instal pembaruan apa pun:
sudo yum clean all sudo yum -y update
Ubah baris boot kernel dalam konfigurasi grub Anda untuk menyertakan lebih banyak parameter kernel untuk Azure. Untuk melakukan langkah ini, buka
/etc/default/grub
di editor teks dan editGRUB_CMDLINE_LINUX
parameter . Contohnya:GRUB_CMDLINE_LINUX="console=ttyS0 earlyprintk=ttyS0 net.ifnames=0"
Modifikasi ini juga memastikan bahwa semua pesan konsol dikirim ke port serial pertama, yang dapat membantu dukungan Azure dengan masalah penelusuran kesalahan. Ini juga mematikan konvensi penamaan untuk kartu antarmuka jaringan di Oracle Linux 7 dengan UEK. Kami juga menyarankan agar Anda menghapus parameter berikut:
rhgb quiet crashkernel=auto
Boot grafis dan tenang tidak berguna di lingkungan cloud tempat Anda ingin semua log dikirim ke port serial.
Opsi
crashkernel
dapat dibiarkan dikonfigurasi jika Anda mau. Parameter ini mengurangi jumlah memori yang tersedia di VM sebesar 128 MB atau lebih, yang mungkin menjadi masalah untuk ukuran VM yang lebih kecil.Setelah Selesai mengedit
/etc/default/grub
, bangun kembali konfigurasi grub:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Pastikan server SSH diinstal dan dikonfigurasi untuk memulai pada saat boot. Pengaturan ini biasanya default.
Instal agen dan dependensi Azure Linux:
sudo yum install WALinuxAgent sudo systemctl enable waagent
Instal
cloud-init
untuk menangani provisi:sudo yum install -y cloud-init cloud-utils-growpart gdisk hyperv-daemons
Konfigurasikan
waagent
untukcloud-init
:sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=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
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/resource/swapfile ]]; then echo Removing swapfile - Oracle Linux 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
Konfigurasi pertukaran:
Jangan membuat ruang pertukaran pada disk sistem operasi.
Sebelumnya, agen Azure Linux digunakan secara otomatis untuk mengonfigurasi ruang pertukaran dengan menggunakan disk sumber daya lokal yang dilampirkan ke VM setelah VM disediakan di Azure. Namun,
cloud-init
sekarang menangani langkah ini. Anda tidak boleh menggunakan agen Linux untuk memformat disk sumber daya untuk membuat file swap. Ubah parameter/etc/waagent.conf
berikut dengan tepat: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
Jika Anda ingin memasang, memformat, dan membuat pertukaran, Anda dapat:
- Teruskan kode ini sebagai
cloud-init
konfigurasi setiap kali Anda membuat VM. - Gunakan direktif yang
cloud-init
dipanggang ke dalam gambar untuk melakukan langkah ini setiap kali VM 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/resource"] - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"] EOF
- Teruskan kode ini sebagai
Batalkan provisi VM dan siapkan untuk provisi di Azure:
sudo cloud-init clean sudo rm -f /var/log/waagent.log sudo waagent -force -deprovision sudo rm -f ~/.bash_history sudo export HISTSIZE=0
Catatan
Jika Anda memigrasikan VM tertentu dan tidak ingin membuat gambar umum, lewati langkah deprovisi.
Pilih Tindakan>Matikan di Hyper-V Manager. VHD Linux Anda sekarang siap untuk diunggah ke Azure.
Konten terkait
Anda sekarang siap untuk menggunakan Oracle Linux .vhd Anda untuk membuat VM baru di Azure. Jika ini pertama kalinya Anda mengunggah file .vhd ke Azure, lihat Buat komputer virtual Linux dari disk kustom.