Menyiapkan komputer virtual Ubuntu untuk Azure
Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Ubuntu sekarang menerbitkan hard disk virtual (VHD) Azure resmi untuk diunduh di halaman web Gambar Cloud Ubuntu. Jika Anda perlu membuat gambar Ubuntu khusus Anda sendiri untuk Azure alih-alih menggunakan prosedur manual berikut, mulailah dengan VHD yang berfungsi yang diketahui ini dan sesuaikan sesuai kebutuhan. Anda selalu dapat menemukan rilis gambar terbaru di lokasi berikut:
- Ubuntu 20.04/Focal: focal-server-cloudimg-amd64-azure.vhd.tar.gz
- Ubuntu 22.04/Jammy: jammy-server-cloudimg-amd64-azure.vhd.tar.gz
- Ubuntu 24.04/Jammy: noble-server-cloudimg-amd64-azure.vhd.tar.gz
Prasyarat
Artikel ini mengasumsikan bahwa Anda telah menginstal sistem operasi (OS) Linux Ubuntu ke 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 instalasi Ubuntu
- Untuk tips selengkapnya tentang menyiapkan Linux untuk Azure, lihat Catatan penginstalan Linux umum.
- 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. - 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.
- Jangan mengonfigurasi partisi pertukaran atau file pertukaran pada disk OS. Anda dapat mengonfigurasi
cloud-init
agen provisi untuk membuat file swap atau partisi swap pada disk sumber daya sementara. Untuk informasi selengkapnya tentang proses ini, lihat langkah-langkah berikut. - 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.
Langkah-langkah Manual
Catatan
Sebelum Anda mencoba membuat gambar Ubuntu kustom Anda sendiri untuk Azure, pertimbangkan untuk menggunakan gambar bawaan dan yang diuji dari halaman web Gambar Cloud Ubuntu sebagai gantinya.
Di panel tengah Hyper-V Manager, pilih VM.
Pilih Sambungkan untuk membuka jendela untuk VM.
Ganti repositori saat ini dalam gambar untuk menggunakan repositori Azure Ubuntu.
Sebelum mengedit
/etc/apt/sources.list
, kami sarankan Anda membuat cadangan:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's#http://archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo apt-get update
Gambar Ubuntu Azure sekarang menggunakan kernel yang disesuaikan dengan Azure. Perbarui OS ke kernel yang disesuaikan Azure terbaru dan instal alat Azure Linux (termasuk dependensi Hyper-V):
sudo apt update sudo apt install linux-azure linux-image-azure linux-headers-azure linux-tools-common linux-cloud-tools-common linux-tools-azure linux-cloud-tools-azure sudo apt full-upgrade sudo reboot
Ubah baris boot kernel untuk GRUB untuk menyertakan parameter kernel tambahan untuk Azure. Untuk melakukan langkah ini, buka
/etc/default/grub
di editor teks, temukan variabel yang disebutGRUB_CMDLINE_LINUX_DEFAULT
(atau tambahkan jika diperlukan), dan edit untuk menyertakan parameter berikut:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"
Simpan dan tutup file ini, lalu jalankan
sudo update-grub
. Langkah ini memastikan bahwa semua pesan konsol dikirim ke port serial pertama, yang dapat membantu dukungan teknis Azure dengan masalah penelusuran kesalahan.Pastikan server SSH diinstal dan dikonfigurasi untuk memulai pada saat boot. Pengaturan ini biasanya default.
Instal
cloud-init
(agen provisi) dan agen Azure Linux (penangan ekstensi tamu).Cloud-init
netplan
menggunakan untuk mengonfigurasi konfigurasi jaringan sistem (selama provisi dan setiap boot berikutnya) dangdisk
untuk mempartisi disk sumber daya.sudo apt update sudo apt install cloud-init gdisk netplan.io walinuxagent && systemctl stop walinuxagent
Catatan
Paket
walinuxagent
mungkin menghapusNetworkManager
paket danNetworkManager-gnome
, jika terinstal.Hapus
cloud-init
konfigurasi default dan artefak sisanetplan
yang mungkin bertentangan dengancloud-init
provisi di Azure:sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg sudo rm -f /etc/cloud/ds-identify.cfg sudo rm -f /etc/netplan/*.yaml
Konfigurasikan
cloud-init
untuk menyediakan sistem dengan menggunakan sumber data Azure:sudo tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg <<EOF datasource_list: [ Azure ] EOF sudo tee /etc/cloud/cloud.cfg.d/90-azure.cfg <<EOF system_info: package_mirrors: - arches: [i386, amd64] failsafe: primary: http://archive.ubuntu.com/ubuntu security: http://security.ubuntu.com/ubuntu search: primary: - http://azure.archive.ubuntu.com/ubuntu/ security: [] - arches: [armhf, armel, default] failsafe: primary: http://ports.ubuntu.com/ubuntu-ports security: http://ports.ubuntu.com/ubuntu-ports EOF sudo tee /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg <<EOF reporting: logging: type: log telemetry: type: hyperv EOF
Konfigurasikan agen Azure Linux untuk diandalkan
cloud-init
untuk melakukan provisi. Untuk informasi selengkapnya tentang opsi ini, lihat proyek WALinuxAgent.sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf 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
sudo tee -a /etc/waagent.conf <<EOF # For Azure Linux agent version >= 2.2.45, this is the option to configure, # enable, or disable the provisioning behavior of the Linux agent. # Accepted values are auto (default), waagent, cloud-init, or disabled. # A value of auto means that the agent will rely on cloud-init to handle # provisioning if it is installed and enabled, which in this case it will. Provisioning.Agent=auto EOF
Artefak dan log runtime agen Linux Yang Bersih
cloud-init
dan Azure:sudo cloud-init clean --logs --seed sudo rm -rf /var/lib/cloud/ sudo systemctl stop walinuxagent.service sudo rm -rf /var/lib/waagent/ sudo rm -f /var/log/waagent.log
Batalkan provisi VM dan siapkan untuk provisi di Azure.
Catatan
Perintah menggeneralisasi
sudo waagent -force -deprovision+user
gambar dengan mencoba membersihkan sistem dan membuatnya cocok untuk provisi ulang.+user
Opsi ini menghapus akun pengguna terakhir yang disediakan dan data terkait.sudo waagent -force -deprovision+user sudo rm -f ~/.bash_history
Peringatan
Pembatalan provisi dengan menggunakan perintah sebelumnya tidak menjamin bahwa gambar dihapus dari semua informasi sensitif dan cocok untuk didistribusikan ulang.
Pilih Tindakan>Matikan di Manajer Hyper-V.
Azure hanya menerima VHD ukuran tetap. Jika disk OS VM bukan VHD ukuran tetap, gunakan
Convert-VHD
cmdlet PowerShell dan tentukan opsi .-VHDType Fixed
Untuk informasi selengkapnya, lihat dokumen untukConvert-VHD
di Convert-VHD.Untuk menghadirkan VM Generasi 2 di Azure, ikuti langkah-langkah berikut:
Ubah direktori ke
boot EFI
direktori:cd /boot/efi/EFI
ubuntu
Salin direktori ke direktori baru bernamaboot
:sudo cp -r ubuntu/ boot
Ubah direktori ke direktori boot yang baru dibuat:
cd boot
Ganti nama
shimx64.efi
file:sudo mv shimx64.efi bootx64.efi
Ganti nama file menjadi
grub.cfg
bootx64.cfg
:sudo mv grub.cfg bootx64.cfg
Konten terkait
Anda sekarang siap untuk menggunakan Ubuntu 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.