Bu belgede qemu-kvm kullanımı anlatılmaktadır. İşin teknik detayından çok kullanmak isteyenlerin işini görmesi için basitleştirerek anlatmaya çalışacağız. O yüzden sövmeyin :)
Bu belgede debian sid üzerinde olduğunuzu varsayarak anlatım yaptım ama diğer dağıtımlarda da benzer şekilde kullanımı var.
Not: Biraz mizah içerir.
Qemu kullanmak için gui uygulamalar da vardır. Örneğin gnome-boxes ile qemuyu grafik tabanlı olarak kullanabilirsiniz. Bu belgede buna değinmeyeceğiz. terminalden kullanımı üzerine anlatım olacak.
Debian için apt-get install qemu-kvm komutunu kullanabiliriz. Uefi bios ile kullanmak için ovmf paketine gerek duyulmaktadır. onuda debian için apt-get install ovfm komutu ile kurabiliriz.
qemu-img komutu ile kolay yoldan imaj açabiliriz. boyutunu G M gibi harfler ile ifade ediyoruz. Örneğin:
☭ qemu-img create deneme.img 30G Formatting 'deneme.img', fmt=raw size=32212254720
Bu disk imajı raw formattadır. yani disk imajını usb belleğe dd komutu ile yazıp daha sonra bunu kullanabilirsiniz.
Raw yerine qcow2 formatta oluşturmak isterseniz -f qcow2 parametresini ekleyebilirsiniz. Örneğin:
☭ qemu-img create -f qcow2 deneme.qcow2 30G
Raw imajlar çok fantastik şeyler yaparsanız diske zarar verebilir. Qcow2 imajlar ise daha az zararsızdır ama dd komutu ile doğrudan basıp kullanılamaz.
qemu-system-x86_64 komutu ile başlatılır. --enable-kvm parametresi eklenerek kvm etkinleştirilmelidir. yoksa çok kasar. Debianda kvm komutu bu komutun kısa halidir. eğer kvm komutu yoksa bashrc içine alias ekleyebilirsiniz. Örnek kullanım:
☭ qemu-system-x86_64 --enable-kvm
Ardından oluşturduğumuz disk imajını qemuya hard disk olarak bağlamamız gerekli. onun için de -hda parametresi kullanılır. Ayrıca -m parametresi ile bellek miktarını G M gibi semboller ile göstererek belirtmemiz gerekli. Örneğin:
☭ qemu-system-x86_64 --enable-kvm -hda deneme.img -m 2G WARNING: Image format was not specified for 'deneme.img' and probing guessed raw. Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions.
Örnekteki gibi uyarı vermesinin sebebi raw disk imajı kullanmamızdan dolayı. Çok fantastik şeyler yapmayacaksak çokta önemli değil :D Ayrıca raw imaj yerine usb bellek hard disk gibi şeyleri de kullanabilirsiniz. imaj konumu olarak /dev/sdx vermeniz yeterlidir.
Şimdi sıra geldi sanal makinaya format atmaya. Bunun için iso imajını bağlamak gerekli. bunun için -cdrom parametresi kullanılmalıdır. Örneğin
☭ qemu-system-x86_64 --enable-kvm -hda deneme.img -m 2G -cdrom debian-live-10.4.0-amd64-gnome.iso
Uefi bios için ovmf eklememiz gerekir. onun için -bios /usr/share/ovmf/OVMF.fd parametresi eklenebilir. (bu dosyanın konumu dağıtımdan dağıtıma değişebilir.)
☭ qemu-system-x86_64 --enable-kvm -hda deneme.img -m 2G -cdrom debian-live-10.4.0-amd64-gnome.iso -bios /usr/share/ovmf/OVMF.fd
Sanal makinanın imajını almak için qemu-img snapshot kullanabiliriz. Örnek kullanım:
☭ qemu-img snapshot -c temiz-kurulum deneme.img # snapshot üretmek için ☭ qemu-img snapshot -l deneme.img # snapshot listelemek için ☭ qemu-img snapshot -a temiz-kurulum deneme.img # snapshot geri dönmek için ☭ qemu-img snapshot -d temiz-kurulum deneme.img # snapshot silmek için
Doğrudan tablo şeklinde vermeyi düşündüm. Bu belgeyi okumaya üşenip buraya bakabilirsiniz.
Parametre | Anlamı |
---|---|
-boot d | cdrom ile başlat |
-boot c | hdd ile başlat |
-m 3G | 3gb ram kullan |
--enable-kvm | KVM etkinleştir |
-cdrom xx | iso dosyasını cdrom olarak ayarla |
-hda xx | birinci hard disk imajı |
-hdb xx | ikinci hard disk imajı |
-hdc xx | üçüncü hard disk imajı |
-hdd xx | dördüncü disk imajı |
-cpu host | yerel makinadın işlemci ismini sanal makinada kullan |
-smp cores=2 | çift çekirdek kullan |
-vga cirrus | ekran kartı olarak cirrus göster |
-vga vmware | ekran kartı olarak vmware göster |
-display vnc:0 | görüntüyü vnc üzerinden al (5900 portundan) |
-soundhw ac97 | ses kartı olarak ac97 ekle |
-nic user,hostfwd=tcp::2222-:22 | Sanal makinadaki 22 portunu hostun 2222 portuna yönlendir |
-bios /usr/share/ovmf/OVMF.fd | UEFI olarak başlat |