Alibaba Cloud Linux, yerel çekirdek tabanlı sanal makineler (KVM) için yerleşik cloud-init içeren VHD ve QCOW2 görüntüleri sağlar. Bu konu, yerel KVM'lerde Alibaba Cloud Linux 2 veya 3 görüntülerinin nasıl kullanılacağını açıklar.
Arka Plan Bilgileri
Bu konuda ana bilgisayar işletim sistemi olarak Anolis OS kullanılır ve cloud-init yapılandırma dosyalarını oluşturmak için NoCloud veri kaynağından yararlanılır. Oluşturulan bu dosyalar, sanal diskler olarak KVM'ye eklenir ve önyükleme sırasında sistem ayarlarını başlatır. Anolis OS'i Anolis OS indirme sayfasından indirebilirsiniz. KVM yönetimi konusunda temel bilgi sahibi olduğunuz varsayılır.
Adım 1: Alibaba Cloud Linux Görüntüsünü İndirin
Aşağıdaki URL'lerden birinden VHD veya QCOW2 görüntüsü indirin:
Alibaba Cloud Linux 3: Alibaba Cloud Linux 3 On-premise Image
Alibaba Cloud Linux 2: Alibaba Cloud Linux 2 On-premise Image
Adım 2: seed.img Önyükleme Görüntüsünü Edinin
Alibaba Cloud Linux görüntüleri, cloud-init için ağ, hesap ve YUM depo yapılandırmalarını içeren bir seed.img önyükleme görüntüsü gerektirir.
Önyükleme görüntüsü genellikle seed.img olarak adlandırılır. Dosyayı yeniden adlandırabilirsiniz ancak varsayılan adı korumanızı öneririz.
seed.img önyükleme görüntüsü yalnızca cloud-init yapılandırma dosyalarını içerir; Alibaba Cloud Linux sistem dosyalarını içermez.
seed.img önyükleme görüntüsünü edinmek için aşağıdaki yöntemlerden birini kullanın:
-
Yöntem 1: seed.img önyükleme görüntüsünü indirin
seed.img önyükleme görüntüsünü aşağıdaki URL'lerden birinden indirin:
Alibaba Cloud Linux 3: Alibaba Cloud Linux 3 On-premise Image
Alibaba Cloud Linux 2: Alibaba Cloud Linux 2 On-premise Image
NotÖnceden oluşturulmuş görüntü sabit yapılandırmalara sahiptir ve değiştirilemez. Kullanmadan önce ayarların gereksinimlerinizi karşıladığından emin olun.
-
Yöntem 2: NoCloud veri kaynağını kullanarak seed.img önyükleme görüntüsünü manuel olarak oluşturun
NotNoCloud, sanal makinelerin önyükleme sırasında okuması için yerel ortamlarda yapılandırma dosyaları sağlayan bir cloud-init veri kaynağıdır.
-
Yerel bir dizinde
meta-dataveuser-dataadlı iki yapılandırma dosyası oluşturun.Bu dosyalar,
seed.imgönyükleme görüntüsünün bir parçasıdır. Başlangıçta cloud-init bu dosyaları okur ve sanal makineyi buna göre başlatır.-
Adı
seedolan bir dizin oluşturun ve dizine gidin.sudo mkdir seed sudo cd seed/ -
Adı
meta-dataolan bir yapılandırma dosyası oluşturun.Örnek içerik. Sanal makine adı
alinux-hostolarak belirtilmiştir. Gerektiğinde değiştirin.#cloud-config #vim:syntax=yaml local-hostname: alinux-host -
Adı
user-dataolan bir yapılandırma dosyası oluşturun.Örnek içerik. Gerektiğinde değiştirin. Bu örneği doğrudan kullanıyorsanız yapılandırmayı anladığınızdan emin olun.
Parolası
aliyunolan vesudoyetkilerine sahipalinuxadında bir kullanıcı hesabı oluşturur.-
Alibaba Cloud Linux YUM deposunu ekler.
Alibaba Cloud Linux 3
#cloud-config #vim:syntax=yaml # Create an account named alinux and grant the account the permissions to run sudo commands. users: - default - name: alinux sudo: ['ALL=(ALL) ALL'] plain_text_passwd: aliyun lock_passwd: false # Create a YUM repository for 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 # Create an account named alinux and grant the account the permissions to run sudo commands. users: - default - name: alinux sudo: ['ALL=(ALL) ALL'] plain_text_passwd: aliyun lock_passwd: false # Create a YUM repository for 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
-
-
(İsteğe bağlı) Alibaba Cloud Linux 3 kullanıyorsanız epel-testing deposunu etkinleştirin.
-
epel-testing.repodosyasını açın.sudo vim /etc/yum.repos.d/epel-testing.repo -
Düzenleme moduna geçmek için i tuşuna basın ve
enabled=0ifadesinienabled=1ile değiştirin.[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-8 Kaydetmek ve çıkmak için
Esctuşuna basın ve :wq komutunu girin.
-
-
cloud-utilspaketini yükleyin:sudo yum install -y cloud-utils -
seed.imgönyükleme görüntüsünü oluşturun:sudo cloud-localds seed.img user-data meta-data
-
Adım 3: Yerel Sanal Makinenizi Başlatın
Aşağıdaki yöntemlerden birini kullanarak bir KVM başlatın:
libvirt kullanarak KVM'yi başlatın
-
Yerel bilgisayarınızda bir XML yapılandırma dosyası oluşturun.
Örnek dosya: Alibaba Cloud Linux 3 için
alinux3.xmlveya Alibaba Cloud Linux 2 içinalinux2.xml. Gerektiğinde değiştirin.Alibaba Cloud Linux 3
<domain type='kvm'> <name>alinux3</name> <memory>1048576</memory><!-- Set the memory size to 1 GB. --> <vcpu>1</vcpu> cpu mode='host-passthrough'><!-- Start the KVM on the server of the corresponding architecture. --> </cpu> <os> <type arch='x86_64'>hvm</type><!-- If the architecture of the server is ARM 64-bit, set arch to 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><!-- Configure a KVM path based on the operating system. For example, the KVM path for Ubuntu is /usr/bin/kvm. --> <disk type='file' device='disk'><!-- Specify the type parameter based on the image format. Set type to qcow2 if the image is in the QCOW2 format, and set type to vpc if the image is in the VHD format. --> <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- If you want to create a snapshot in the QCOW2 format, disable dataplane. --> <source file='path'/> <!-- Enter the absolute path of the Alibaba Cloud Linux 3 image. --> <target dev='vda' bus='virtio'/> </disk> <!-- Add information about the seed.img boot image. --> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/path/to/your/seed.img'/> <!-- Enter the absolute path of the seed.img boot image. --> <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> <!-- Set the memory size to 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><!-- Configure a KVM path based on the operating system. For example, the KVM path for Ubuntu is /usr/bin/kvm. --> <disk type='file' device='disk'><!-- Specify the type parameter based on the image format. Set type to qcow2 if the image is in the QCOW2 format, and set type to vpc if the image is in the VHD format. --> <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- If you want to create a snapshot in the QCOW2 format, disable dataplane. --> <source file='path'/> <!-- Enter the absolute path of the Alibaba Cloud Linux 2 image. --> <target dev='vda' bus='virtio'/> </disk> <!-- Add information about the seed.img boot image. --> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/path/to/your/seed.img'/> <!-- Enter the absolute path of the seed.img boot image. --> <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> -
KVM'yi başlatmak için
virshkomutunu çalıştırın.NotVarsayılan olarak libvirt root olmayan bir kullanıcı olarak çalışır. Bu kullanıcının görüntü dosyalarını ve üst dizinlerini yönetme iznine sahip olduğundan emin olun.
Alibaba Cloud Linux 3
sudo virsh define alinux3.xml virsh start <KVMName> # Enter the name of the KVM. You can run the sudo virsh list --name command to query the name of the KVM.Alibaba Cloud Linux 2
sudo virsh define alinux2.xml sudo virsh start <KVMName> # Enter the name of the KVM. You can run the sudo virsh list --name command to query the name of the KVM.
KVM'yi başlatmak için qemu-kvm komutunu çalıştırın
qemu-kvm komutuna aşağıdaki parametreyi ekleyin:
-drive file=/path/to/your/seed.img,if=virtio,format=raw
/path/to/your/seed.img: seed.img dosyanızın gerçek yolu ile değiştirin.if=virtio: Sanal disk için virtio arabirimini kullanır.format=raw: RAW disk görüntüsü biçimini belirtir.
Örnek:
sudo /usr/libexec/qemu-kvm -drive file=/home/ecs-user/seed/seed.img,if=virtio,format=raw
KVM'yi başlatmak için virt-manager grafik arayüzünü kullanın
KVM'yi başlatmadan önce seed.img önyükleme görüntünüzün mutlak yolunu KVM yapılandırma dosyasına ekleyin.
Sonraki Adımlar
KVM başladıktan sonra user-data yapılandırma dosyasında belirtilen kullanıcı adı ve parola ile oturum açın.
SSH anahtar çifti ile oturum açmak için genel anahtarı cloud-init yapılandırma dosyasına ekleyin.
İlgili Konular
cloud-init Linux sanal makinelerini önyükleme sırasında otomatik olarak başlatır; ana bilgisayar adını, ağı ve yazılım paketlerini yapılandırır.
libvirt, qemu-kvm ve virt-manager yaygın olarak kullanılan KVM yönetim araçlarıdır. Daha fazla bilgi için Red Hat belgelerine bakın.