Citra Alibaba Cloud Linux tersedia dalam format VHD dan QCOW2 serta mencakup cloud-init bawaan. Anda dapat menggunakan citra ini pada mesin virtual di lokasi lokal. Hanya Mesin Virtual berbasis Kernel (KVM) yang didukung. Topik ini menjelaskan cara menggunakan citra Alibaba Cloud Linux 2 atau 3 pada mesin virtual di lokasi lokal.
Informasi latar belakang
Dalam topik ini, sistem operasi lokal adalah Anolis OS. Gambar Alibaba Cloud Linux digunakan untuk membuat KVM, dan cloud-init digunakan untuk menginisialisasi pengaturan sistem KVM. Sumber data NoCloud digunakan untuk membuat file konfigurasi lokal. Setelah file konfigurasi dilampirkan ke KVM sebagai disk virtual, KVM dapat dijalankan. Untuk mengunduh Anolis OS, kunjungi halaman unduhan Anolis OS. Topik ini ditujukan untuk pengguna yang sudah familiar dengan KVM.
Langkah 1: Unduh gambar Alibaba Cloud Linux ke mesin virtual lokal Anda
Anda dapat mengunduh gambar Alibaba Cloud Linux dalam format VHD atau QCOW2 ke mesin virtual lokal dari URL berikut:
Alibaba Cloud Linux 3: Gambar Lokal Alibaba Cloud Linux 3
Alibaba Cloud Linux 2: Gambar Lokal Alibaba Cloud Linux 2
Langkah 2: Dapatkan gambar boot seed.img dari mesin virtual lokal Anda
Gambar Alibaba Cloud Linux tidak dapat langsung memulai mesin virtual. Anda harus mengonfigurasi gambar boot seed.img dan informasi seperti jaringan, akun, serta repositori YUM untuk gambar boot tersebut.
Pada sebagian besar kasus, nama gambar adalah seed.img. Anda dapat mengubah nama gambar, tetapi kami sarankan agar Anda tidak mengubah nama gambar.
Gambar boot seed.img hanya berisi file konfigurasi yang diperlukan untuk memulai cloud-init. Gambar tersebut tidak berisi file sistem Alibaba Cloud Linux.
Anda dapat menggunakan salah satu metode berikut untuk mendapatkan gambar boot seed.img:
Metode 1: Unduh Gambar Boot seed.img
Alibaba Cloud Linux 3 dan Alibaba Cloud Linux 2 menyediakan file gambar boot seed.img. Anda dapat mengunduh gambar boot seed.img dari URL berikut:
Alibaba Cloud Linux 3: Gambar Lokal Alibaba Cloud Linux 3
Alibaba Cloud Linux 2: Gambar Lokal Alibaba Cloud Linux 2
CatatanKonfigurasi dalam gambar tidak dapat dimodifikasi. Dalam hal ini, gambar mungkin tidak cocok untuk skenario tertentu. Sebelum Anda menggunakan gambar, pastikan bahwa Anda sudah familiar dengan gambar tersebut.
Metode 2: Gunakan Sumber Data NoCloud untuk Secara Manual Menghasilkan Gambar Boot seed.img
CatatanSumber data NoCloud adalah sumber data cloud-init yang dapat menyediakan file konfigurasi dalam lingkungan lokal. File tersebut dapat dibaca dan digunakan oleh mesin virtual.
Di direktori lokal, buat dua file konfigurasi bernama
meta-datadanuser-data.Kedua file tersebut termasuk sebagai bagian dari boot image
seed.img. Saat mesin virtual mulai, cloud-init membaca file konfigurasi dan menginisialisasi mesin virtual berdasarkan file konfigurasi tersebut.Buat direktori bernama
seeddan masuk ke direktori tersebut.sudo mkdir seed sudo cd seed/Buat file konfigurasi bernama
meta-data.Contoh berikut menunjukkan isi file konfigurasi. Nama mesin virtual adalah
alinux-host. Anda dapat mengubah nama sesuai kebutuhan bisnis Anda.#cloud-config #vim:syntax=yaml local-hostname: alinux-hostBuat file konfigurasi bernama
user-data.Contoh berikut menunjukkan isi file tersebut. Anda dapat memodifikasi konfigurasi sesuai kebutuhan. Jika Anda menggunakan konfigurasi contoh ini secara langsung, pastikan bahwa Anda sepenuhnya memahami isi file image.
Menambahkan akun dengan nama pengguna
alinuxdan kata sandialiyun, dan memberikan izin untuk menjalankan perintahsudo.Menambahkan Yellowdog Updater, Modified (YUM) sumber Alibaba Cloud Linux 3.
Alibaba Cloud Linux 3
#cloud-config #vim:syntax=yaml # Buat akun bernama alinux dan berikan akun tersebut izin untuk menjalankan perintah sudo. users: - default - name: alinux sudo: ['ALL=(ALL) ALL'] plain_text_passwd: aliyun lock_passwd: false # Buat repositori YUM untuk Alibaba Cloud Linux 3. yum_repos: alinux3-module: name: alinux3-module baseurl: https://mirrors.aliyun.com/alinux/$releasever/module/$basearch/ enabled: 1 gpgcheck: 1 gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3 alinux3-updates: name: alinux3-updates baseurl: https://mirrors.aliyun.com/alinux/$releasever/updates/$basearch/ enabled: 1 gpgcheck: 1 gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3 alinux3-plus: name: alinux3-plus baseurl: https://mirrors.aliyun.com/alinux/$releasever/plus/$basearch/ enabled: 1 gpgcheck: 1 gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3 alinux3-powertools: name: alinux3-powertools baseurl: https://mirrors.aliyun.com/alinux/$releasever/powertools/$basearch/ gpgcheck: 1 enabled: 1 gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3 alinux3-os: name: alinux3-os baseurl: https://mirrors.aliyun.com/alinux/$releasever/os/$basearch/ gpgcheck: 1 enabled: 1 gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3Alibaba Cloud Linux 2
#cloud-config #vim:syntax=yaml # Buat akun bernama alinux dan berikan akun tersebut izin untuk menjalankan perintah sudo. users: - default - name: alinux sudo: ['ALL=(ALL) ALL'] plain_text_passwd: aliyun lock_passwd: false # Buat repositori YUM untuk Alibaba Cloud Linux 2. yum_repos: base: baseurl: https://mirrors.aliyun.com/alinux/$releasever/os/$basearch/ enabled: true gpgcheck: true gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN name: Aliyun Linux - $releasever - Base - mirrors.aliyun.com updates: baseurl: https://mirrors.aliyun.com/alinux/$releasever/updates/$basearch/ enabled: true gpgcheck: true gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN name: Aliyun Linux - $releasever - Updates - mirrors.aliyun.com extras: baseurl: https://mirrors.aliyun.com/alinux/$releasever/extras/$basearch/ enabled: true gpgcheck: true gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN name: Aliyun Linux - $releasever - Extras - mirrors.aliyun.com plus: baseurl: https://mirrors.aliyun.com/alinux/$releasever/plus/$basearch/ enabled: true gpgcheck: true gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN name: Aliyun Linux - $releasever - Plus - mirrors.aliyun.com
(Opsional) Jika Anda menggunakan sistem operasi Alibaba Cloud Linux 3, aktifkan repositori epel-testing.
Buka file
epel-testing.repo.sudo vim /etc/yum.repos.d/epel-testing.repoTekan tombol i untuk masuk ke mode edit dan ganti
enabled=0denganenabled=1.[epel-testing] name=Extra Packages for Enterprise Linux 8 - Testing - $basearch baseurl=http://mirrors.cloud.aliyuncs.com/epel/testing/8/Everything/$basearch enabled=0 gpgcheck=1 countme=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8Tekan tombol
Escdan masukkan :wq untuk menyimpan modifikasi.
Jalankan perintah berikut untuk menginstal paket perangkat lunak
cloud-utils:sudo yum install -y cloud-utilsJalankan perintah berikut untuk menghasilkan boot image
seed.img:sudo cloud-localds seed.img user-data meta-data
Langkah 3: Mulai mesin virtual lokal Anda
Untuk memulai KVM, Anda dapat menggunakan salah satu metode berikut:
Gunakan libvirt untuk memulai KVM
Buat file konfigurasi dalam format XML di komputer lokal Anda.
Contoh berikut menunjukkan isi file konfigurasi. Nama file adalah
alinux3.xmluntuk Alibaba Cloud Linux 3 danalinux2.xmluntuk Alibaba Cloud Linux 2. Anda dapat memodifikasi isi file konfigurasi sesuai kebutuhan bisnis Anda.Alibaba Cloud Linux 3
<domain type='kvm'> <name>alinux3</name> <memory>1048576</memory><!-- Atur ukuran memori menjadi 1 GB. --> <vcpu>1</vcpu> cpu mode='host-passthrough'><!-- Mulai KVM pada server arsitektur yang sesuai. --> </cpu> <os> <type arch='x86_64'>hvm</type><!-- Jika arsitektur server adalah ARM 64-bit, atur arch menjadi aarch64. --> <boot dev='hd'/> </os> <clock sync="localtime"/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-kvm</emulator><!-- Konfigurasikan jalur KVM berdasarkan sistem operasi. Misalnya, jalur KVM untuk Ubuntu adalah /usr/bin/kvm. --> <disk type='file' device='disk'><!-- Tentukan parameter tipe berdasarkan format citra. Atur tipe menjadi qcow2 jika citra dalam format QCOW2, dan atur tipe menjadi vpc jika citra dalam format VHD. --> <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- Jika Anda ingin membuat snapshot dalam format QCOW2, nonaktifkan dataplane. --> <source file='path'/> <!-- Masukkan jalur mutlak citra Alibaba Cloud Linux 3. --> <target dev='vda' bus='virtio'/> </disk> <!-- Tambahkan informasi tentang boot image seed.img. --> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/path/to/your/seed.img'/> <!-- Masukkan jalur mutlak boot image seed.img. --> <target dev='vdb' bus='virtio'/> </disk> <interface type='network'> <source network='default'/> <model type='virtio'/> </interface> <console type='pty'> <target type='virtio' port='0'/> </console> <video> <model type='cirrus' vram='9216' heads='1'/> <alias name='video0'/> </video> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes'/> </devices> </domain>Alibaba Cloud Linux 2
<domain type='kvm'> <name>alinux2</name> <memory>1048576</memory> <!-- Atur ukuran memori menjadi 1 GB. --> <vcpu>1</vcpu> <os> <type arch='x86_64'>hvm</type> <boot dev='hd'/> </os> <clock sync="localtime"/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-kvm</emulator><!-- Konfigurasikan jalur KVM berdasarkan sistem operasi. Misalnya, jalur KVM untuk Ubuntu adalah /usr/bin/kvm. --> <disk type='file' device='disk'><!-- Tentukan parameter tipe berdasarkan format citra. Atur tipe menjadi qcow2 jika citra dalam format QCOW2, dan atur tipe menjadi vpc jika citra dalam format VHD. --> <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- Jika Anda ingin membuat snapshot dalam format QCOW2, nonaktifkan dataplane. --> <source file='path'/> <!-- Masukkan jalur mutlak citra Alibaba Cloud Linux 2. --> <target dev='vda' bus='virtio'/> </disk> <!-- Tambahkan informasi tentang boot image seed.img. --> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/path/to/your/seed.img'/> <!-- Masukkan jalur mutlak boot image seed.img. --> <target dev='vdb' bus='virtio'/> </disk> <interface type='network'> <source network='default'/> <model type='virtio'/> </interface> <console type='pty'> <target type='virtio' port='0'/> </console> <video> <model type='cirrus' vram='9216' heads='1'/> <alias name='video0'/> </video> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes'/> </devices> </domain>Jalankan perintah
virshuntuk memulai KVM. Berikut adalah contoh perintah.CatatanSecara default, libvirt dijalankan oleh pengguna biasa. Pastikan pengguna biasa memiliki izin untuk mengelola file gambar dan jalur file gambar.
Alibaba Cloud Linux 3
sudo virsh define alinux3.xml virsh start <KVMName> # Masukkan nama KVM. Anda dapat menjalankan perintah sudo virsh list --name untuk menanyakan nama KVM.Alibaba Cloud Linux 2
sudo virsh define alinux2.xml sudo virsh start <KVMName> # Masukkan nama KVM. Anda dapat menjalankan perintah sudo virsh list --name untuk menanyakan nama KVM.
Jalankan perintah qemu-kvm untuk memulai KVM
Tambahkan pengaturan parameter berikut ke perintah qemu-kvm:
-drive file=/path/to/your/seed.img,if=virtio,format=raw/path/to/your/seed.img: Anda dapat mengganti jalur tersebut dengan jalur file boot image seed.img.if=virtio: virtio digunakan untuk menyambungkan ke disk virtual.format=raw: File citra disk dalam format RAW.
Contoh perintah:
sudo /usr/libexec/qemu-kvm -drive file=/home/ecs-user/seed/seed.img,if=virtio,format=rawGunakan antarmuka grafis virt-manager untuk memulai KVM
Sebelum memulai KVM, temukan file konfigurasi KVM di komputer Anda dan tambahkan jalur absolut gambar boot seed.img ke file konfigurasi.
Apa yang harus dilakukan selanjutnya
Setelah KVM dimulai, masuk ke KVM menggunakan nama pengguna dan kata sandi yang terdapat dalam file konfigurasi user-data.
Jika Anda perlu masuk ke KVM menggunakan pasangan kunci SSH, pastikan kunci publik pasangan kunci SSH ditambahkan ke file konfigurasi cloud-init.
Referensi
cloud-init adalah alat yang digunakan untuk secara otomatis menginisialisasi mesin virtual Linux. Alat ini dapat melakukan serangkaian tugas saat mesin virtual mulai, termasuk menentukan nama host, mengonfigurasi jaringan, dan menginstal paket perangkat lunak.
libvirt, qemu-kvm, dan virt-manager umumnya digunakan untuk mengelola dan menjalankan KVM. Untuk informasi lebih lanjut, lihat Dokumentasi Red Hat.