Örnek: Ubuntu imajı¶
This example installs an Ubuntu 18.04 (Bionic Beaver) image. To create an image for a different version of Ubuntu, follow these steps with the noted differences.
Bir Ubuntu kurulum ISO’su indirin¶
Because the goal is to make the smallest possible base image, this example uses the network installation ISO. The Ubuntu 64-bit 18.04 network installation ISO is at the Ubuntu download page.
Kurulum sürecini başlatın¶
Önceki kısımda tanımlandığı gibi kurulum sürecini virt-manager veya virt-install ile başlatın. virt-install kullanırsanız sanal makineye VNC istemcinizi bağlamayı unutmayın.
Assume that the name of your virtual machine image is ubuntu-18.04
,
which you need to know when you use virsh commands
to manipulate the state of the image.
virt-manager kullanıyorsanız, komutlar şuna benzer olmalıdır:
# wget -O /var/lib/libvirt/boot/bionic-mini.iso \
http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso
# chown libvirt-qemu:kvm /var/lib/libvirt/boot/bionic-mini.iso
# qemu-img create -f qcow2 /var/lib/libvirt/images/bionic.qcow2 10G
# chown libvirt-qemu:kvm /var/lib/libvirt/images/bionic.qcow2
# virt-install --virt-type kvm --name bionic --ram 1024 \
--cdrom=/var/lib/libvirt/boot/bionic-mini.iso \
--disk /var/lib/libvirt/images/bionic.qcow2,bus=virtio,size=10,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=ubuntu18.04
Kurulum adımını geçin¶
İlk Yükleyici önyükleme menüsünde, Kur seçeneğini seçin. Kurulum adımlarını geçin, öntanımlı değerler iyidir.

Makine Adı¶
Yükleyici bir makine adı seçmenizi isteyebilir. Öntanımlı (ubuntu
) iyidir. cloud-init paketini daha sonra kuracağız, bu imajı kullanarak yeni sunucu hazırlandığında önyükleme sırasında makine adını ayarlayacak.
Bir yansı seçin¶
Yükleyici tarafından tavsiye edilen öntanımlı yansı iyidir.
Kurulum adımlarını geçin¶
Öntanımlı seçenekleri kullanarak kurulum adımlarını geçin. Kullanıcı adı sorulduğunda, öntanımlı (ubuntu
) kullanın.
Diskleri bölümlendirin¶
Diskleri bölümlendirmek için farklı seçenekler bulunur. Öntanımlı kurulum LVM bölümleri kullanacaktır ve üç bölüm (/boot
, /
, swap) oluşturur, bu sorunsuz çalışır. Alternatif olarak, “/
” noktasına bağlı tek bir ext4 bölüm oluşturabilirsiniz.
Emin değilseniz, yükleyicinin öntanımlı bölüm şemasını kullanmanızı öneririz, bir şemanın diğerine karşı bir avantajı yoktur.
Otomatik güncellemeler¶
Ubuntu yükleyici sistem güncellemelerinizi nasıl yönetmek istediğinizi soracaktır. Bu seçenek özel kullanım durumunuza göre değişir. Sanal makine sunucularınız İnternete bağlı olacaksa, “Güvenlik güncellemelerini otomatik olarak kur” seçmenizi öneririz.
Yazılım seçimi: OpenSSH sunucu¶
OpenStack bulutunda açıldığında sanal makineye SSH çekebilmek için OpenSSH server paketini seçin.

GRUB önyükleyicisini kurun¶
GRUB önyükleyiciyi ana önyükleme kaydına kurmanız istendiginde Evet seçin.

Grub’u yapılandırmakla ilgili daha fazla bilgi için, “İmajın önyükleme kaydını konsola yazdığından emin olun” kısmına bakın.
Yeni oluşturulan imaja giriş yapın¶
When you boot for the first time after install, it may ask you about authentication tools, you can just choose Exit. Then, log in as admin user using the password you specified.
cloud-init’i kurun¶
cloud-init betiği sunucu önyüklenirken başlar ve açık anahtarı çekmek için metaveri sağlayıcısını arar. Açık anahtar imajın öntanımlı kullanıcı hesabına yerleştirilir.
cloud-init
paketini kurun:
# apt install cloud-init
Ubuntu imajları inşa edilirken cloud-init kullanımdaki metaveri kaynağı için özel olarak yapılandırılmalıdır. OpenStack metaveri sunucusu Amazon EC2’deki imajlar tarafından kullanılan EC2 metaveri servisini taklit eder.
İmaj tarafından kullanılacak metaveri kaynağını ayarlamak için cloud-init
paketi için dpkg-reconfigure komutunu çalıştırın. Sorulduğunda EC2 veri kaynağını seçin:
# dpkg-reconfigure cloud-init
Hesap dağıtımdan dağıtıma değişir. Ubuntu tabanlı sanal makinelerde, hesap ismi ubuntu
olur. Fedora tabanlı sanal makinelerde, hesap ismi ec2-user
olur.
cloud-init
tarafıdan kullanılan hesap ismini /etc/cloud/cloud.cfg
dosyasını düzenleyerek farklı kullanıcı içeren bir satır ekleyerek değiştirebilirsiniz. Örneğin, cloud-init``i ``admin
isimli bir hesaba anahtar koyacak şekilde yapılandırmak için , yapılandırma dosyasında aşağıdaki sözdizimini kullanın.
users:
- name: admin
(...)
Sunucuyu kapatın¶
Sunucu içinden, root olarak:
# /sbin/shutdown -h now
Temizlik (MAC adres ayrıntılarını kaldır)¶
İşletim sistemi kurulum sırasında /etc/udev/rules.d/70-persistent-net.rules
gibi konumlarda sanal Ethernet kartının MAC adresini kaydeder. Ancak imaj her önyüklendiğinde, sanal Ethernet kartı farklı bir MAC adresi alır, yani bu bilginin yapılandırma dosyasından silinmesi gerekir.
Mac adresi referanslarının silinmesi gibi çeşitli temizlik işlerini yapan virt-sysprep adlı bir araç bulunur. Bir sanal makine imajını yerinde temizler:
# virt-sysprep -d bionic
libvirt alanı tanımını kaldır¶
İmaj artık İmaj servisine yüklenebilir olduğundan, bu sanal makine imajını libvirt tarafından yönetme gerekliliği kalmamıştır. libvirt’i bilgilendirmek için virsh undefine vm-image komutunu kullanın:
# virsh undefine bionic
İmaj tamamlandı¶
The underlying image file that you created with the
qemu-img create command, such as
/var/lib/libvirt/images/bionic.qcow2
,
is now ready for uploading to the Image service by using the
openstack image create command. For more information,
see the Glance User Guide.