Linux

Sanal Makine Görüntü Formatları Nasıl Dönüştürülür

Uzak bir bulut sunucusuyla çalışırken, genellikle bir sanal makineyle çalışırsınız: daha büyük bir sunucu kümesi içinde çalışan tüm işletim sisteminin korumalı, yalıtılmış bir örneği. QEMU veya VirtualBox gibi yazılımları kullanarak masaüstünüzde yerel olarak sanal makinelerle de çalışabilirsiniz. Sanal makineler, tüm bir masaüstü arabirimini içerebilir veya yalnızca terminal bağlantılarına izin vermek için bir SSH sunucusu çalıştırabilir. Her iki durumda da teknik olarak benzerler ve benzer varsayımlarda bulunuyorlar. Herhangi bir büyük ölçekli bulut optimizasyonu dışında, sanallaştırma ortamları arasındaki tek önemli fark, sanal makine sabit diskleri ve yapılandırma seçenekleridir. Bunlara sanal makine görüntüleri denir ve sağlayıcılar arasında farklı biçimlendirilir.

Bu öğreticide, sanal ortamlarınızı masaüstünüzden buluta ve gerektiğinde tekrar geri alabilmeniz için sanal makine görüntü biçimleri ( , , ve ) qcow2 arasında vdinasıl vhd dönüştürme yapacağınızı öğreneceksiniz .vmdk

Önkoşullar

Bu öğreticideki komutlar, komut satırı araçlarıyla birlikte QEMU ve VirtualBox’ı kurabildiğiniz sürece Windows, macOS veya Linux’ta çalıştırılabilir. Bu öğretici, Homebrew paket yöneticisini kullanarak kurulum talimatları sağlar . Homebrew’i macOS’ta , Linux’ta veya WSL2 altında Windows’ta kurabilirsiniz .

En az 2 CPU’nuz ve 2 GB belleğiniz olmalıdır.

Ayrıca bu öğreticideki komutları çalıştırmak için en az 10 GB boş alana ihtiyacınız olacak.

Not: Apple Silicon CPU’lu (2020 ve sonrasında üretilmiş) macOS kullanıyorsanız, VirtualBox’ı değil yalnızca QEMU’yu kullanabileceksiniz.

QEMU

QEMU , en güçlü ve yaygın olarak desteklenen açık kaynaklı sanallaştırma yazılımıdır. Tüm büyük platformlarda (Windows, macOS, Linux ve Android gibi diğer işletim sistemleri dahil) çalışır ve gerektiğinde hem sanallaştırma hem de öykünme yeteneğine sahiptir . Örneğin, bir Windows masaüstünde bir Linux sunucu görüntüsü çalıştırıyorsanız (ortak bir kullanım durumu), bu platformların her ikisi de ortak bir temel mimariyi (Intel/AMD x86 ) paylaşır, böylece QEMU sanallaştırma yoluyla tam performans elde edebilir. Mimarileri karıştırmak ve eşleştirmek için QEMU kullanıyorsanız, örneğin ARM ile x86 Linux veya Windows (“host” veya “misafir” işletim sistemi olarak) çalıştırarak macOS veya Android mimarileri için QEMU, mimarileri çevirmek için otomatik olarak öykünmeyi kullanır.

Sanallaştırma ile karşılaştırıldığında, önemli bir performans cezası eklediğinden öykünme genellikle üretim ortamlarında kullanılmaz. Bununla birlikte, sanallaştırma ve öykünmeyi neredeyse eşdeğer olarak ele alan QEMU, her senaryoda aynı görüntü biçimlerinin ve aynı araçların kullanılabileceği anlamına geldiğinden önemli uyumluluk avantajları sağlar.

QEMU bir komut satırı yazılımıdır ve sanal makinelerin yapılandırılabileceği çok sayıda seçenek nedeniyle VMware veya VirtualBox gibi masaüstü sanallaştırma yazılımlarına kıyasla yüksek bir öğrenme eğrisine sahiptir. İsteğe bağlı olarak Windows veya Linux’ta QtEmu ve macOS’ta UTM gibi GUI ön yüzleriyle kullanılabilir . Bu öğretici, QEMU ile çalışmak için komut satırı talimatları sağlayacaktır.

QEMU’yu yükleme

QEMU’yu kurmak için Homebrew’s kullanın brew install:

brew install qemu

qemu-img Bu , komut satırında sanal makine görüntülerini dönüştürmek için kullanılan da dahil olmak üzere tüm QEMU araçları ve komutları paketini sağlayacaktır . qemu-img Çalıştırarak komuta erişiminiz olduğunu doğrulayın which qemu-img:

which qemu-img
Output/usr/local/bin/qemu-img

Not: Windows üzerinde WSL2 olmadan çalışmayı tercih ederseniz, QEMU’yu yerel yükleyicisini kullanarak Windows’a da yükleyebilirsiniz.

QEMU, bu eğitimde ihtiyaç duyacağınız işlevlerin çoğunu sağlar. Başka bir popüler sanallaştırma paketi olan VirtualBox’ı da yükleyebilirsiniz.

VirtualBox

VirtualBox , Oracle tarafından sağlanan açık kaynaklı sanallaştırma yazılımıdır. Tüm x86 işletim sistemlerini destekler (2020’den önce üretilmiş Windows, Linux ve macOS bilgisayarlar). Öykünmeyi veya x86 olmayan mimarileri desteklemez, bu da onu öncelikle Linux’u Windows altında çalıştırmak için yararlı kılar ve bunun tersi de geçerlidir. Bununla birlikte, kullanımı QEMU’dan daha basittir, geniş çapta uyumlu varsayılan ayarlar sağlar ve varsayılan olarak bir masaüstü arayüzü içerir.

QEMU kadar komut satırı işlevi sağlamaz, bu nedenle sanal makine yapılandırmalarını otomatikleştirmek ve yeniden oluşturmak için genellikle Vagrant gibi özel düzenleme yazılımlarıyla eşleştirilir. Ancak, VBoxManage bazı sanal makine görüntülerini işlemek için kullanılabilecek komut satırı aracını içerir.

VirtualBox’ı Yükleme

VirtualBox’ı macOS’a yüklemek brew install için bayrakla birlikte kullanın, çünkü VirtualBox, Homebrew’un cask–cask dediği tam bir uygulama paketi olarak dağıtılır :

brew install --cask virtualbox

VirtualBox’ı Ubuntu veya Debian’dan türetilmiş Linux dağıtımlarına (WSL2 altında dahil) kurmak için, önce apt update paket kaynaklarınızı yenilemek için kullanın, ardından apt install:

sudo apt update
sudo apt install virtualbox

VirtualBox’ı Windows’a WSL2 olmadan kurmak için indirme sayfasına bakın .

VirtualBox’ı kurduktan sonra, aşağıdaki vboxmanage komutu çalıştırarak komuta erişiminiz olduğunu doğrulayın which vboxmanage:

which vboxmanage
Output​​/usr/local/bin/vboxmanage

Sanallaştırma için QEMU ve VirtualBox’a alternatifler mevcuttur. Ancak bunların çoğu platforma özeldir ( Windows’ta Hyper-V gibi ) veya büyük ölçekli kurumsal kullanım için tasarlanmıştır ( VMware gibi ). Bu eğitimde doğrudan ele alınmayacaklar, ancak aşağıdaki adımlarda görüntü biçimlerini dönüştüreceksiniz.

QEMU kullanarak Sanal Makine Görüntüsü Oluşturma

Sanal makine görüntülerini dönüştürmeyi göstermek için QEMU ile bir görüntü oluşturarak başlayabilirsiniz. Halihazırda dönüştürülecek bir resminiz varsa bu bölümü atlayabilirsiniz.

QEMU’nun varsayılan biçiminde bir görüntü oluşturmak qemu-img create için bayrağı olan komutu kullanın :-f qcow2qcow2

qemu-img create -f qcow2 ubuntu-desktop-22.04.qcow2 10G

Bu noktada boş bir sanal makine imajı oluşturmuş olacaksınız. ubuntu-desktop-22.04.qcow2 Adını vermiş ve kapasite vermiş olsanız bile 10G, bu noktada ne Ubuntu 22.04 kurulu olacak ne de 10GB büyüklüğünde olacaktır.

OutputFormatting 'ubuntu-desktop-22.04.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=10737418240 lazy_refcounts=off refcount_bits=16

QEMU görüntüleri, sanal makinede çalışan herhangi bir yazılıma beyan edilen maksimum kapasitelerini yansıtırken, diskinizde her zaman mümkün olduğunca az yer kaplar. Bu durumda, 10 GB, sanal makinenizin kullanılabilir olduğunu düşündüğü kapasite ve sanal makine görüntüsünün otomatik olarak ölçekleneceği maksimum boyut olacaktır.

Tipik bir sonraki adım, Ubuntu 22.04 ISO kullanarak sanal makineye Ubuntu 22.04 yüklemek olacaktır . Ancak, aslında bu sanal makineyle doğrudan çalışmayacağınız için bu öğretici için bu adımı atlayabilirsiniz. ISO, genellikle salt okunur olan ve yazılabilir bir sabit diskin görüntüsü yerine geçmişte CD ve DVD yükleme ortamına yazılmış olan başka bir disk görüntüsü türüdür. ISO görüntülerini işlemek için mkisofs ve dd gibi başka yazılımlar da mevcuttur . QEMU kullanarak Linux kurulumu hakkında daha fazla bilgi için QEMU belgelerine bakın .

Bir QEMU Görüntüsünü Başka Bir Biçime Dönüştürme

Bir VM görüntüsü oluşturduktan sonra, qemu-img convertonu diğer biçimlere dönüştürmek için kullanabilirsiniz. vdi VirtualBox’ın varsayılan görüntü formatıdır. Varsayılan olarak, bu orijinal VM görüntüsünü silmez, yalnızca yeni bir tane oluşturur:

qemu-img convert -f qcow2 ubuntu-desktop-22.04.qcow2 -O vdi ubuntu-desktop-22.04.vdi

-f, girdi biçimini ve girdi dosya adını belirtmek için kullanılır. Bayrak -O, çıktı biçimini ve çıktı dosya adını belirtmek için kullanılır. -pÇok büyük görüntüleri dönüştürürken yardımcı olan bir ilerleme çubuğu göstermek için bayrağı da ekleyebilirsiniz . Son adımda oluşturduğunuz görsel, henüz içeriği olmadığı için anında dönüşecektir. ubuntu-desktop-22.04.vdi Aşağıdakileri kullanarak oluşturduğunuzu onaylayabilirsiniz ls:

ls ubuntu-desktop-22.04.vdi
Outputubuntu-desktop-22.04.vdi

Diğer yaygın biçimler arasında vmdk, öncelikli olarak VMware tarafından vhdkullanılan ve öncelikli olarak Microsoft’un Hyper-V’si tarafından kullanılan . Yazılımınız gerektiriyorsa, bir sonraki adımı izleyerek “ham” bir görüntü de oluşturabilirsiniz.

Diğer Sanal Makine Formatlarını QEMU’ya Dönüştürme

Biçimde bir görüntünüz varsa , dönüştürmek için VirtualBox tarafından sağlanan komutu vdi kullanabilirsiniz : vboxmanage

vboxmanage clonemedium ubuntu-desktop-22.04.vdi ubuntu-desktop-22.04.img --format raw
Output0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'raw'. UUID: 0501e707-c94e-4103-9069-d7b64a933d78

Bunun, oluşturulan görüntüyü yerel VirtualBox yapılandırmanızla otomatik olarak kaydedeceğini unutmayın; bu, geçici kopyalar oluşturmaya çalışıyorsanız elverişsiz olabilir. Yanlışlıkla kopyaları kaydederseniz, yeni girişleri VirtualBox arayüzünden manuel olarak kaldırmanız gerekebilir.

Ham sanal makine görüntüleri hiç sıkıştırılmaz, bu nedenle bu komut aslında öncekinden farklı olarak tam bir 10GB dosya oluşturacaktır. qcow2 Son adımdaki sözdizimini tersine çevirerek onu QEMU ile kullanmak üzere biçime dönüştürebilirsiniz :

qemu-img convert -f raw ubuntu-desktop-22.04.img -O qcow2 ubuntu-desktop-22.04-new.qcow2

Artık disk alanını geri kazanmak için ham görüntüyü silebilirsiniz:

rm ubuntu-desktop-22.04.img

Son olarak, sanal makine görüntülerinizden bazı meta verilerin çıktısını almak için qemu-img check ve komutlarını kullanabilirsiniz : qemu-img info

qemu-img check ubuntu-desktop-22.04.qcow2
OutputNo errors were found on the image.
Image end offset: 262144
qemu-img info ubuntu-desktop-22.04.qcow2
Outputimage: ubuntu-desktop-22.04.qcow2
file format: qcow2
virtual size: 10 GiB (10737418240 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false

ile görüntüleri dönüştürme hakkında daha fazla bilgi qemu-img için, qemu-img kılavuz sayfasına veya resmi belgelerine bakın .

Muhammed Kerim Koç

1996 yılında Giresun Şebinkarahisarda dünyaya geldim. İlk ve orta öğretimi Şebinkarahisarda tamamladım. Liseyi Şebinkarahisar Anadolu Teknik ve Endüstri Meslek Lisesinde bitirdim. Üniversite için de Şebinkarahisar Teknik Bilimler Meslek Yüksek Okulunda Bilgisayar programcılığını okudum. Üniversite stajı için gelmiş olduğum özel bir firmada işe başladım. 5,5 yıl bu firmadan çalıştıktan sonra farklı bir sektör olan inşaat sektöründe Bilgi teknolojileri Uzmanı olarak 8 ay çalıştım. Daha sonra özel bir şirkette Sistem Network Sorumlusu olarak 4 ay çalıştıktan sonra proje sonlandırılmasından dolayı işten ayrıldım. Tekrar dan 5.5 yıl çalışmış olduğum firmaya Sistem ve Network Yöneticisi olarak geri döndüm ve çalışmaya başladım. Kendimi geliştirmek için Bilge Adam Akademi den Sistem Uzmanlığı eğitimi aldım. Sanallaştırma ve Ağ tarafında kendimi sürekli olarak geliştiriyorum.

İlgili Makaleler

Başa dön tuşu