Software pentru masini virtuale

Acum cateva saptamani avand la dispozitie un pic de timp si Windows 2008 x64 AS cu Microsoft Hiper-V am facut o instalare si cateva teste. Pe scurt:
- Windows 2008 pare un pic mai curat din cauza modularitatii: instalezi doar ce ai nevoie, nimic in plus
- crearea si managementul unei masini virtuale e extrem de simpla, similara cu Virtual PC 2007 sau VMware server; setup-ul initial e mult mai simplu ca in ESX 3.x, dar si mai rudimentar :smile:
- are suport multiprocesor decent: 2 virtual CPU care se si scaleaza :biggrin:
- driverele pentru masina virtuala lipsesc deocamdata: pentru XP nu exista driver de retea si video, merge in Standard VGA si un Network legacy mode care banuiesc ca e mai lent
- performanta unei masini virtuale e decenta, dar nu grozava: video encoding cu VirtualDub, Divx Pro 6.8, 2 CPU e mai lent in masina virtuala fata de host cu 16%; cam aceeasi pierdere apare la VMware Server 1.x fata de doar 4-5% pe ESX 3.x
- THE BAD or THE UGLY: deocamdata ruleaza doar pe procesoare x64 - asta nu e rau daca Venice (Athlon 64) ar fi suportat; din pacate, nu se instaleaza Hiper-V pe acest sistem, testele le-am facut pe un laptop Core2Duo, 2 GB RAM si HDD de 7200 rpm

Concluzii (premature)
- Pentru 28$ in plus Hiper-V pare sa aduca un mediu de virtualizare decent, comparabil cu VMware Server (free); nu are nici performanta si nici facilitatile (suport quad-CPU, limita de memorie cvasi-nelimitata pentru fiecare VM, migrarea masinilor din mers de pe un server pe altul, backup din mers, consola de administrare centrala cu functionalitate exhaustiva) unui ESX
- Suportul multiprocesor e de calitate: 0 pierderi in mod dual-CPU. Pentru cine nu e familiar cu VMware Server, la trecerea in mod dual-CPU a fiecarei VM sub VMware Server creste incarcarea procesoarelor gazda semnificativ: pe o masina quad-core o VM dual-core consuma 12-15% din total CPU (echivalent 50-60% dintr-un core) stand degeaba in sistemul de operare. Aceeasi masina nu consuma nimic din procesoare in mod single-CPU.
 
Între timp innotek, producătorul Virtual Box, va fi cumpărat de Sun, pentru a acompania Sun xVM Server pe partea de desktop.
 
În ultima săptămână am săpat un pic în SAN ca mediu shared pentru virtualizare. Problema cea mare e că cel mai ieftin SAN pleacă de la vreo 10.000$ (sau Euro pentru eurofraieri, adică ăia care cumpărăm din Europa la prețuri umflate), ceea ce e mult pentru un mic mediu departamental (nu enterprise).

Până la urmă am găsit ceva variante de SAN-ul săracului care par a merge bine: software SAN cu mașini uzuale. Cum se face:
- se ia o mașină ieftină (sau mai multe, după posibilități) nu tocmai pretențioasă, nu foarte multi-core și chiar deloc multi-procesor, preferabil una care se poate disponibiliza din ce există sau un server vechi care stă pe dreapta
- se pun discuri cât mai multe și mai ieftine. Pot fi SCSI, dar merg foarte bine și SATA, cu cât mai multe cu atât se obține I/O mai mare, deci mai bine 6 discuri de 250 GB decât 3 de 500 sau, și mai rău, 2 de 750 sau unul de 1.5 TB. Mașinile virtuale nu consumă mult spațiu, dar consumă I/O pe pâine.
- se mai pun (dacă nu există deja) vreo 2 plăci de rețea Gigabit, sunt ieftine ca braga
- se pune un OS pentru care există licență sau există un specialist care să îl suporte. Windows dacă sunt licențe disponibile, Linux dacă are cine să îl suporte
- se instalează ceva de genul Openfiler.
- se pune totul la cuptor (instalat, testat, probat și iar testat) măcar câteva zile, se încearcă scenarii "ce se întâmplă dacă scot un disc din mers, dacă scot ștecherul din priză din mers, dacă pică o placă de rețea sau iese cablul" și "cum instalez un guest OS pe SAN" etc.
- se servește ieftin.

Chiar cu o placă de bază desktop cu 2 porturi Gigabit și 6 SATA (6 SATA au cam toate), un procesor actual ieftin, gen AMD X2 și vreo 2-4 GB de RAM, plus 6 discuri SATA și ceva Linux se face un SAN cu mai puțin de 1000$. Nu va fi fiabil enterprise class, are doar o sursă și componente desktop dar e dirt cheap și funcționează. A se folosi cu iSCSI, e mai rapid decât NFS.
 
Tocmai am facut un SAN dupa reteta ta. In use de 1 saptamana. iSCSI si 6TB sa traiasca. Acum am realizat ca are placi megabit :frown:.
 
Detalii? Ce configurație, cum merge, câte VM ține și cu ce guest OS, ce variantă de host? Ce plăci megabit, că nici FastEthernet nu se numesc așa.
 
Nu mi se patre o solutie asa de fericita ce descrii tu acolo AdrianB1 din simplu motiv ca ai solutii mai bune, mai fiabile etc. De ce nu folosesti ZFS? Hardware-ul e exact ala care il descrii tu acolo. Singurul dezavantaj e ca poate nu-ti place Solaris. Chiar acasa am un pool de ~2TB fully redundant, adica RAIDZ2, echivalentul RAID 6, dar mai bun, nu are write hole etc. Discurile mele sunt hotswap toate.
 
Megabit e numele pe care il folosesc eu ca sa nu faca lumea confuzia cu gigabit (notatie personala - am de-a face cu destui oameni care nu fac diferenta cand folosesc terminologia consacrata deci adopt un astfel de limbaj). Incerc sa fac totul cat mai intuitiv din obisnuinta, chiar daca aici nu era necesar. Deci este vorba de placi 10/100.

Configuratia este de desktop in toata regula: C2D E5200 (pe o placa Gigabyte... something), 4GB RAM, 6x1TB Seagate.
E pus in functiune de 5-6 zile dar nu o sa fie masina de productie ci de teste. Abia iese din rutina de testare, probare si benchuire.

Pana acum merge mult mai bine decat ma asteptam. Pana de curand (old workplace) configuratia pentru ceva similar ca functie era bazata pe un IBM x3400 cu 10GB RAM si o mana de discuri SAS 300GB. Pot sa spun ca duc dorul RSA-ului :smile:.
Dimineata asta, cand am citit postul tau, am realizat ca placile de retea sux. :frown: Nu stiu unde mi-a fost capul cand le-am pus acolo, dar nu-i totul pierdut inca.

Deocamdata multe detalii nu pot sa iti dau pentru ca este prima tentativa de virtualizare pe care o face compania asta. Deci nici un detaliu pus la punct dincolo de ce tinea numai de mine. Am venit cu niste idei preconcepute de la vechiul loc de munca si acum vad daca mai conving pe cineva sau raman sa ma joc acasa cu ele.
O alta chestie la care ma tot gandeam dar nu mi-am facut curaj sa o folosesc e ZFS-ul pe care l-a sugerat aramdune mai demult. Am tot citit, am vazut prezentari, filmulete, pdf-uri. Acum mai ramane sa gasesc si un om potrivit pentru sectorul asta (eu sunt HW si Windows only).

L.E. ZFS pe care vad ca il recomanda si acum :biggrin:.
 
Nu mi se patre o solutie asa de fericita ce descrii tu acolo AdrianB1 din simplu motiv ca ai solutii mai bune, mai fiabile etc. De ce nu folosesti ZFS? Hardware-ul e exact ala care il descrii tu acolo.
În ce mod e mai bun ZFS? Unde mă ajută și de ce? Nu pot acum să sap câte o săptămână în fiecare variantă de filesystem pentru că e doar unul din punctele unui proiect de SAN folosit pentru virtualizare, pe lângă hardware, virtual host, guest boot mode etc. Dacă poți să vii cu câteva detalii ar fi excelent.

LE. Eram mai mult concentrat pe cost și pe iSCSI target decât pe optimizarea performanței.
 
Nu am reusit nimic la 1000$ ci mai degraba 1000E (la valoarea de acum), din care 75% hardurile - asta pentru ca o sa fie si si storage si un file server acolo. Deocamdata nu tine nici o VM dar pe viitor (sper ca) va tine exclusiv VM-uri cu guest OS Windows Server 2003.
Pentru ca nu am lucrat mai mult cu VM nu pot sa dau detalii interesante. Le prezint pe masura ce le invat :smile:.
 
Revin la subiectul de la început: ce soluții de virtualizare (mă refer strict la software / infrastructura de virtualizare) recomandați pentru cîteva mașini virtuale (nici vorba de cluster sau alte chestii enterprise), într-un mediu eterogen (Microsoft și GNU)? Prefer paravirtualizare, m-am oprit la două soluții: 1) Microsoft Hyper-V Server (are scule faine de administrare, virtualizează bine Windows) și 2) Xen (mai complicat cu administrarea, îți trebuie deja un sistem de operare).

Mie mi-ar plăcea Hyper-V. Încă n-am apucat să mă joc, tre' să am patru măsini virtuale (un Windows Server Core cu rolul de Web și trei linucși) pînă la sfîrșitul săptămînii. Nu e producție, e de joacă.
 
Microsoft Hyper-V e cam lent față de alte soluții. E aproape la fel de lent ca VMware Server, care nu e hypervizor :frown: (și care e free!!!)

La buget mic aș încerca VMware ESX 3i. Mic și ieftin, nu are toate uneltele, dacă strângi 600$ pui ESX 3.5 și nu te doare capul: suportă aproape orice guest, RAM la greu, 4 vCPU, e fiabil, doar că nu merge instalat chiar pe orice desktop.

Dacă performanța nu contează prea tare și host-ul e un desktop poți să pui Hyper-V, deși licența de 2008 Server e mai scumpă chiar decât cea de ESX.
 
Nașpa că e lent. M-aștept(am) să nu fie, dat fiind că e hypervisor.
De licențe nu-i problemă, am MSDN așa că-s de toate.

Cu Xen ai experiență, din perspectiva performanței? Windows 2008 se paravirtualizează pe Xen?
 
XEN și paravirtualizare nu am atins. Știu ce e aia, mai ales paravirtualizarea și nu mă bag, am motivele proprii.

bausto, întrebam dacă poți să dai detalii despre SAN, nu despre virtualizare. Ce ai folosit, tot Openfiler? Ai făcut un test de viteză să vezi cum merge iSCSI versus NFS?
 
Ce configurație, cum merge, câte VM ține și cu ce guest OS, ce variantă de host?
M-am ghidat si eu dupa intrebarea pusa.
Din pacate nu e Openfiler, e un bloated Slack cu iSCSI Target. Nu ma intreba de ce. Si nu sunt omul de Linux asa ca sunt limitat la capitolul asta. Inca nu am apucat sa fac lobby pentru Openfiler pentru ca nu eram prin preajma atunci dar nu e prea tarziu :biggrin:.
Testele de viteza sunt cam irelevante cu NIC-urile alea. O sa incerc sa pun ceva mai sanatos, eventual configurate pentru up/down (daca e nevoie), frame-uri mai mari, etc. Daca nu ma insel, totusi, am avut rezultate variabile 2-7MB/s. Deci nimic stralucit. Incet spre foarte incet.
 
Un mic test de viteza:
- LAN de 100 Mbps, initiator MS Win 2008 server std, 32 bit: aproape 11-12 MB/sec (LAN usage aproximativ lipit la 100%)
- transfer intern între un initiator MS Win 2008 std, 64 bit și un target Openfiler într-o mașină virtuală pe același computer (pe alt disc fizic, nu același cu 2008): 110 MB/sec raportați de Total Commander la copierea unui fișier de 1.3 GB de pe un disc local pe SAN. Nu știu cât de precise sunt numerele, dar pare mult mai rapid decât orice NAS pe care l-am văzut.
 
Pai la transferul intern, intre VM-uri de pe aceeasi masina fizica, mai intervine ceva in afara de viteza magistralelor interne?
 
Da, overhead-ul de la host software pentru mașina virtuală, Openfiler, iSCSI initiator, NIC driver în VM, NIC driver în initiator. Nu mai copiezi de pe C: pe D:, ci de pe C: pe un disc în rețea al unui SAN emulat în VM.
 
Overheadul de host software nu l-am pus la socoteala pentru ca apare indiferent daca vorbim de NAS sau NFS, ambele sunt sub o masina virtuala. Initial vroiam sa te rog sa-mi spui daca viteza se mentine si cand faci transferul intre 2 MS Win 2008, de exemplu si daca Openfiler-ul are vreun aport, o contributie cuantificabila in viteza aia (in comparatie cu orice alta solutie, sa-i spunem generic de "transfer in retea") sau merge aproape orice altceva si cifra aia de 110MB/s e pur si simplu limita magistralei intrene (date utile+overhead), dar cred ca am comis-o cand am dat save dupa edit.

Mai exact, nu ma interesa in principal performanta SAN-ului in mediu virtual ci pur si simplu solutia optima pentru un SAN. Imi imaginez ca cea mai performanta solutie intr-o VM are sanse mari sa fie in continuare cea mai performanta solutie si pe o masina fizica. In cazul asta ma interesa Openfilerul si performanta sa, pentru ca nu pot sa spun ca am facut mai mult decat sa ma joc cu el pana acum deci nu am idee de comportamentul real-life, fie el pe masina fizica ori virtuala.

Din pacate SAN-ul meu a cam fost faultat pe partea software in momentul in care s-a mers pe o varianta bloated, pana si cu X-ul instalat. Nu am termen de comparatie pentru iSCSI Target si inca nu am idee daca transferul ala slab de 2-7MB/z se datoreaza placilor de retea sau alta este cauza.
 
Nu am acasă (unde am făcut testele) rețea Gigabit ca să văd cum se comportă 2 mașini WIn 2008 în transfer, eventual o să încerc să testez cu un cablu crossover.

Pe mine mă înteresează SAN din două motive: cu iSCSI pot face unele chestii pe care nu le pot face cu un shared volume de pe un NAS (de pildă partiții sau boot from) și teoretic performanța e mai bună decât volume sharing pentru că accesul e la un nivel mai jos și fără overhead de filesystem pe computerul care partajează resursa.

Al doilea motiv: clustering, mai ales pentru SQL. Cu SAN merge, cu NAS nu.

Urmează să încerc să instalez Openfiler pe un stick USB pe un computer real (nu VM). Mai fiabil în teorie decât un HDD și elimin accesul concurent pe discul cu OF. Cu versiunile mai vechi de OF merge sigur, cu 2.3 nu am confirmarea.
 
Back
Top