«

»

Haz 05 2016

Proxmox 3’ten 4’e OpenVZ makineyi LXC biçiminde taşıma

Proxmox’un 4 sürümünde OpenVZ yok artık. Bunun yerine LXC (Linux Container) geliyor. Aslında OpenVZ Debian’dan kaldırıldı . Peki Proxmox 3 makinemiz var, bunun içindeki sanal makineleri (VM) yeni kurduğumuz farklı bir makinedeki Proxmox 4 üzerine nasıl taşıyacağız?

Önemli: Proxmox 4 ve Proxmox 3 küme (cluster) yapılamıyor. Bu nedenle ilk akla gelen, “ikisini aynı kümeye koyup migrate yaparım” cevabı işe yaramıyor.Aşağıda uyguladığım tecrübeye göre işlem adımlarını kısa kısa yazmaya çalıştım.

1. Bölüm: Sanal makineyi Proxmox 4 üzerinde çalıştırmak

Proxmox kurulumu standart olarak (“ileri, ileri” şeklinde) yapılmıştır. Sürümü aşağıda gösterdim:

Önce, taşıyacağımız sanal makineyi durdurup dump edelim. Yani disk imajının yedeğini alalım. Bu işlemi yapmak için Proxmox 3 üzerinde, ilgili local depolama alanına web arayüzünden içerik izni (yedekleme, imaj,template, vb.) vermeniz gerekebilir.

Proxmox 3 üzerinde yedeklediğimiz bu imajı, yeni kurduğumuz Proxmox 4 makinesine kopyalayalım. İstediğiniz herhangi bir metodu kullanabilirsiniz. Aşağıda SCP örneği var:

Yeni makina üzerine aldığımız disk imajını, proxmox üzerine restore yapalım. Bu aşamada yine Proxmox 4 web arayüzü üzerinden, ilgili local depolama alanına içerik izni (images, yedek, vb.) vermeniz gerekebilir. Artık vz...  komutlarını kullanmıyoruz, konteynırlarımızı pct  komutu ile yönetiyoruz.

Restore işlemi bitince, Proxmox web arayüzünde bu yeni makinayı göreceğiz. Ancak network ayarları gelmemiş olacak. Bunu da önceki makinanın aynısı olacak şekilde yapabiliriz. Bu kısma kadar olan kısımda şu kaynaktan faydalandım: https://pve.proxmox.com/wiki/Convert_OpenVZ_to_LXC. Makinanın konsoluna erişmek için, şu şekilde giriş yapabiliriz:

2. Bölüm: Proxmox 4 üzerindeki RAW diski, LVM biçimine çevirmek

Proxmox 4 sürümü ile birlikte artık varsayılan depolama LVM biçiminde geliyor. Sanal makineler için bir Logical Volume oluşturuyor. Fayasını zararını bilmiyorum. Ama RAW (veya qcow, vmdk, vb.) biçimindeki dosya kopyalamanın rahatlığı yok. Aşağıda bu durumun daha iyi görülebilmesi için birkaç komut çıktısı yerleştirdim.

İlk önce yazdığım, df  komutunun çıktısını görünce, afalladım. 1TB diskim olan makinede bu diskler görünmüyordu. Peki nasıl yönetecektim ben bu sanal diskleri? önce Proxmox 4’ün varsayılan davranışını görmek için bir test sanal makinesi (VMID: 100) oluşturdum. Sonra lvs komutu ile baktığımda, 100 numaralı makine için bir LV oluştuğunu gördüm. vgdisplay  ile baktığımda da diskimin (volume group ~ VG) tamamını görebildiğimi öğrendim. Bundan sonrası kolay. önce bir LV oluşturacağız, sonra elimizdeki RAW dosyasını blok biçiminde ilgili LV’ye yazacağız.

Öncelikle biraz inceleyelim. Aşağıda ilgili komutun çıktısında gördüğümüz ve görmemiz gereken şekli gösterilmiştir. local isimli depolama, Proxmox’un / (root) klasörü. Varsayılan olarak burayı 100G yaptı ve VG için de 1TB disk alan ayırdı kendisi. local-lvm  isimli depolama ise, VM imajının LVM üzerinde duracağını belirtiyor.

Yeni LV’yi oluşturalım. Bu aşamada disk boyutuna dikkat etmemiz gerekiyor. Önceki sanal diskin aynı boyutunda veya daha büyük boyutlu olması gerekiyor. Dikkat edilecek bir başka nokta da thin provisioning olayı. Thin oluşturulan disk bölümleri çok daha esnek olabiliyor. Mesela 100GB disk içinde 10 tane makinaya 50GB disk alanı verebilirsiniz. Proxmox 4 üzerinde varsayılan olarak thin provisioning aktif geliyor. bunun için, “data” isimli bir thin pool oluşturmuşlar. Yeni oluşturulacak olan thin LV’ler bu pool içinde oluşturulmalıdır. “Yok ben thin istemem” derseniz, –thin parametresini kullanmayacaksınız ve -V yerine -L koyacaksınız. Ancak thick için kullanılabilecek çok fazla alan yok varsayılan kurulumda.

lvs çıktısında tüm LV’leri görebiliyoruz. Burada Attr kısmından bunların thin LV mi, thin pool mu olduğunu anlayabiliyoruz. Üstteki lvcreate komutunun parametrelerini de birazcık açıklayalım:

Bu kısmı sağlıklı bir şekilde yapabildiysek, şimdi RAW disk imaj dosyasını blok şeklinde yeni LV’ye yazalım:

dcfldd komutu, dd komutu ile aynı işi yapıyor. Ancak arayüzü biraz daha güzel ve daha hızlı kopyalıyor. Proxmox makinesinde apt-get ile yükleyebilirsiniz. Ya da sadece komutun başındaki dcfldd yerine dd yazabilirsiniz. Şimdi sanal makinanın root filesystem’ini LV üzerine yönlendirelim:

Makina açıkken bu tarz işlemlere izin vermediği için, durdurduktan sonra bızıklıyoruz. Bu aşamada, makinenin tam istedğimiz gibi çalıştığını görebiliriz. Eski disk te halen makinada takılı duruyor. Proxmox arayüzüne girice de iki diski de görebilirsiniz. Ama RAW dosya artık kullanılmıyor. rootfs olarak yeni LV gözüküyor. İstenirse Proxmox arayüzünden veya /etc/pve/nodes/sanal1/lxc/110.conf  dosyasından ilgili satır silinerek, eski RAW dosyası makineden kaldırılabilir.

Bu kadar.

Bad Behavior has blocked 9 access attempts in the last 7 days.