Tag-Archive for ◊ virtualizare ◊

Din Octombrie în ACS: ROSEdu Tech Talks
Monday, September 21st, 2009 | Author: AlexJ

Coming soon…

tech-talks-final-logo

VMware Player & .vmx generator
Sunday, June 21st, 2009 | Author: AlexJ

Principalul program de virtualizare pe care îl folosesc este VMware, care vine în multe variante. Există versiunea de Workstation, dar care nu este gratuită. Este varianta server, free, dar necesită înregistrarea unui cont pentru a obţine un serial. În plus, versiunea nouă Server (2.0) este cu o interfața web mai greu de administrat. Aşa că, varianta cea mai rapidă pentru a reuşi a porni o maşină virtuală este VMware Player [1].

Problema cu Player este că nu permite creerea de maşini noi sau modificarea caracteristicilor unei maşini existente. Datele despre maşină sunt stocate într-un fişier .vmx sub formă de text clar. Deşi fişierul poate fi scris de mână, pentru uşurinţă în utilizare există generatoare de fişiere .vmx. Un exemplu este generatorul online EasyVMX [2].  Site-ul permite generarea fişierelor necesare (configuraţie şi hard disk-uri virtuale) pentru maşină ce pot fi descărcate şi rulate cu VMware Player.

[1] http://www.vmware.com/download/player/

[2] http://www.easyvmx.com/

VirtualBox far away from a business solution
Friday, June 12th, 2009 | Author: AlexJ

Având nevoie de o mașină Windows Server și având la dispoziție doar un server Linux la dispoziție am decis să instalez o soluție de virtualizare. Alegerea inițială a fost VMware server 2 [1], pe motivul că interfața web oferă un control foarte bun de la distanță. De asemenea conectarea la rețea se face foarte ușor.

Problema că serverul respectiv avea resurse modeste și VMware ar fi consumat mare parte din ele. A fost un bun moment de a testa VirtualBox ca o soluție de server.  La nivel de utilizare pe o mașină fizică locală, VirtualBox rulează destul de bine, consumând puține resurse.

VirtualBox vine în două versiuni, VirtualBox OSE, distribuită sub licență GPL și VritualBox distribuită sub licență PUEL (closed source dar gratuită pentru uz personal și educațional). Una din diferențe este că cea PUEL vine cu VRDP (VirtualBox Remote Desktop Protocol), ce oferă posibilitatea controlării mașinii de la distanță, lucru important pentru situația în care serverul era un Linux box în text mode și altă interfața (web) nu exista pentru control.

Instalarea VirtualBox s-a făcut ușor (apt-get spre deosebire de VMware care nu este oferit pe repositories) dar configurarea a fost mai grea. Neavând o interfață web, lucrurile trebuie făcute prin linia de comandă. Comnezile cheie sunt VBoxManage și VBoxHeadless. Iată un exemplu de creere mașină cu harddisk și pornirea mașinii:

VBoxManage createvm -name “win2003server” -register
VBoxManage modifyvm “win2003server” -memory “256MB” -acpi on -boot1 dvd -nic1 nat
VBoxManage createvdi -filename “win2003server.vdi” -size 10000 -register
VBoxManage modifyvm “win2003server” -hda “win2003server.vdi”

VBoxHeadless -startvm “win2003server”

Implicit, VRDP rulează pe portul 3389 și poate fi accesat printr-un client RDP (inclusiv Windows Remote Desktop), dar, aparent, acestă bucată are anumite probleme și nu a funcționat.

Altă soluție este instalarea unui server VNC pe mașina virtuală. Pentru acesta trebuia instalat sistemul de operare client pe un alt calculator cu VirtualBox (cu interfață grafică) și mașina migrată pe server. Punctul cel mai slab al VB este migrarea. Dacă în VMware, tot ce trebuia făcut era mutarea fișierelor, în cazut VirtualBox, mutarea fișierelor nu duce neapărat la păstrarea integrității măsinii. Din cauza fișierelor de configurare care depind de mașină (căi absolute și verificări a informațiilor măsinii fizice) nu pot fi mutate mașinile atât de ușor. După înțelegerea și editarea fișierelor XML se poate ajunge la o mașină migrată cu succes (o altă opțiune este mutarea harddisk-ului și crearea unei mașini de la zero ce folosește acel harddisk).  Și după rularea mașinii, a doua mare problemă VirtualBox este configurarea dispozitivelor de rețea care se face foarte greu.

Concluzia este că VirtualBox este departe de nivelul VMware, deși este un produs destul de promițător. Chiar dacă Sun a făcut produsul Open Source în mare parte, comunitatea încă nu a oferit unelete care să ajute soluția de virtualizare (un posibil proiect de a introduce o interfață web pentru VB, similară cu VMware Server 2, este abia la început).

[1] http://alexj.info/?p=832

VirtualBox: Sun’s virtualization
Thursday, February 19th, 2009 | Author: AlexJ

Sun Microsystems oferă o soluţie de virtualizare similara cu VMware numită VirtualBox [1].

Pentru cei obişnuiţi cu VMware se pot descurca foarte uşor cu VirtualBox. Acesta are o interfată mai user-friendly decât VMware şi oferă aceleaşi facilităţi, dar cu o posibilitate de personalizare mai mare (exemplu: posibiltatea de a alege mai multe tipuri de plăci de reţea virtuale, cu MAC-uri setabile, adăugare dispozivtive USB). Un feature interesant (pe care l-aş fi vrut în VMware) este posibilitatea de partajare a directoarelor din sistemul de operare gazdă.

Software-ul este disponibil pe Windows, MacOS şi Linux. Pentru Linux, există şi o versiune Open Source numită VirtualBox OSE ce poate fi foarte uşor instlată pe sistemele Debian-based cu “apt-get install virtualbox-ose”.

Singura problemă majoră pe care am găsit-o  la VirtualBox este faptul că maşinile create nu pot fi mutate pe altă maşină fizică.

Important de menţionat pentru unii, VirtualBox vine şi în limba Română.

[1] http://www.virtualbox.org/

OpenVZ Full HOWTO – Part I: Basic Install
Saturday, February 14th, 2009 | Author: AlexJ

Am mai discutat despre OpenVZ [1] iar în continuare voi prezenta un deployment simplu.

Pornim de la o maşină VMware (în cazut unei instalări reale, în locul mașinii VMware am avea o stație fizică) în care avem instalat un Debian Lenny (basic install). Acesta va fi serverul OpenVZ cu numele de hostname Cronus. Instalăm pe el un server OpenSSH pentru a uşura controlul maşinii. Măsina este conectată la maşina fizică prin interfaţa eth0, care este şi conexiunea la Internet (prin NAT). Paşii de instalare OpenVZ ar fi:

Adăugare Repository

cronus:~# echo  “deb http://download.openvz.org/debian-systs etch openvz” >> /etc/apt/sources.list

cronus:~# wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add – && apt-get update

Instalat Kernel (varianta pentru mai puţin de 4GB de RAM)

cronus:~# apt-get install fzakernel-2.6.18-686

cronus:~# vim /boot/grub/menu.lst   [kernelul fza trebuie pus ca default]

cronus:~# reboot

Instalare utilitare de control şi template-ul de container Debian

cronus:~# apt-get install vzctl vzquota
cronus:~# apt-get install linux-image-openvz-686
cronus:~# apt-get install vzctl-ostmpl-debian-5.0-i386-minimal

Creere containere (3 maşini)
cronus:~# vzctl create 10 --ostemplate debian-5.0-i386-minimal
cronus:~# vzctl create 20 --ostemplate debian-5.0-i386-minimal
cronus:~# vzctl create 30 --ostemplate debian-5.0-i386-minimal

Pornire maşini
cronus:~# vzctl start 10
cronus:~# vzctl start 20
cronus:~# vzctl start 30

Setare hostname-uri
cronus:~# vzctl enter 10
root@localhost:/# echo "zeus">/etc/hostname
root@localhost:/# exit
cronus:~# vzctl enter 20
root@localhost:/# echo "poseidon">/etc/hostname
root@localhost:/# exit
cronus:~# vzctl enter 30
root@localhost:/# echo "hades">/etc/hostname
root@localhost:/# exit

Un restart la maşini (pentru hostname)
cronus:~# vzctl restart 10
cronus:~# vzctl restart 20
cronus:~# vzctl restart 30

Testare (comandă la distanţă)
cronus:~# uname -a
Linux cronus 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux
cronus:~# vzctl exec 10 uname -a
Linux zeus 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux
cronus:~# vzctl exec 20 uname -a
Linux poseidon 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux
cronus:~# vzctl exec 30 uname -a
Linux hades 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux

Tips & triks: Alias la comenzi
cronus:~# echo "alias zeus='vzctl enter 10'">>~/.bashrc
cronus:~# echo "alias poseidon='vzctl enter 20'">>~/.bashrc
cronus:~# echo "alias hades='vzctl enter 30'">>~/.bashrc
cronus:~# source ~/.bashrc
Rezultat:
cronus:~# zeus
entered into CT 10
root@zeus:/#

Paginile de documentaţie folosite au fost [2] şi [3].

[1] http://alexj.info/?p=464

[2] http://wiki.openvz.org/Installation_on_Debian

[3] http://wiki.openvz.org/Basic_operations_in_OpenVZ_environment

Virtualizare: OpenVZ
Thursday, December 25th, 2008 | Author: AlexJ

Deşi majoritatea virtualizării pe care o fac e prin VMware, vă prezint o altă variantă de multiplexare a sistemelor de operare pe o singură maşină: paravirtualizarea. Dacă în soluţiile bazate pe VMware, VirtualBox sau VirtualPC, sistemul de operare client era într-o maşină virtuală, cu hardware virtual (procesor, harddisk, placă video, placă sunet virutuale etc.), sistemele paravirtualizate au acces direct la hardware-ul adevărat, sistemul de operare gazdă făcând partajarea resurselor.

O astfel de soluţie este OpenVZ [1], bazat pe Virtuozzo. OpenVZ necesită un kernel de Linux şi peste sistemul de operare Linux se pot lansa mai multe instanţe de alte distribuţii Linux numite container. Fiecare sistem are useri, arbori de procese, programe, interfeţe de reţea proprii.

Site-ul OpenVZ pune la dispoziţie LiveCD-uri de CentOS şi Knoppix [2] ce vin cu template-uri  pentru mai multe sisteme de operare client (ex Debian) pentru a putea testa sistemul.

Instalarea este explicată destul de bine pe site-ul lor pentru CentOS (rpm based) [3] şi Debian (deb based) [4]. În mare, impică descărcarea şi instalarea pachetelor OpenVZ, descărcarea kernel-ului special de OpenVZ şi modificarea bootloader-ului pentru a încărca acest kernel la pornire, descărcarea de template-uri pentru sistemele de operare client şi în final crearea de maşini din aceste template-uri.

Sistemul este destul de eficent şi scalabil. Este potrivit pentru un server ce doreşte să ofere clienţilor acces complet la un sistem de operare nu doar la un user.

[1] http://openvz.org

[2] http://wiki.openvz.org/Download/live_CD

[3] http://wiki.openvz.org/Quick_installation

[4] http://wiki.openvz.org/Installation_on_Debian