Saturday, May 17th, 2008...12:39 am

Wirtualizacja to rewelacja ???

Jump to Comments

Technologie wirtualizacji to duży przełom, który tak naprawdę już od dłuższego czasu zadomowił się w naszych systemach i nikt raczej nie wyobraża sobie teraz pracy bez maszyn wirtualnych. Mamy więc pozytywy.

Takie małe, na naszych prywatnych systemach, jak możliwość testowania różnych scenariuszy konfiugracji i korzystania z wielu systemów na zwykłym laptopie.

Takie większe, w przypadku firm, pozwalające na lepsze wykorzystanie zasobów sprzętowych i łatwiejsze zarządzanie usługami.

Ale czy wirtualizacja to tylko pączki z lukrem?? i to tanie??

Pewne wydarzenia z ostatniego piątku w pracy w połączeniu z wpisem na blogu Briana Puhla dotyczącego problemów w sieci powodowanych przez dużą liczbę wirtualnych maszyny uzmysłowiają mi, że w całości technologii brakuje nam jednego ważnego elementu – KONTROLI.

Nie jest to może tak ważne w przypadku rozwiązań przeznaczonych do wirtualizacji zasobów serwerowych. Zarówno VMWare ESX jak i Microsoft Hyper-V posiadają mechanizmy zarządzania uprawnieniami do tworzenia maszyn wirtualnych, a w dużych instalacjach istnieją przeważnie mechanizmy występowania o zasoby i provisioning maszyn. Ale w przypadku wirtualizacji używanej na mniejszych maszynach (desktop \ laptop)?

Żadna (a przynajmniej na mój stan wiedzy) z popularnych technologii wirutalizacji (myśle tutaj o VMWare w wersjach Workstation \ Server i Virtual PC), dostępnych na systemy desktop nie pozwala w prosty sposób na kontrolę:

  • Ile maszyn wirtualnych działa na hoście?
  • Ile maszyn wirtualnych użytkownik może uruchomić na hoście?
  • Czy użytkownik może podłączyć maszyny wirtualne bezpośrednio do interfejsu fizycznego, a w wyniku do sieci, w której działa host?
  • Licencji wykorzystywanych przez maszyny wirtualne
  • itp itd

Wynik tego jest jeden. W starciu “Administrator  sieci” vs. “Użytkownicy wirtualek” ten pierwszy stoi na z góry przegranej pozycji. Nie ma możliwości kontroli w scentralizowany sposób kto i ile maszyn wirtualnych uruchamia i jak je konfiguruje.

Z mojego punktu widzenia zarówno VMWare w ramach Server i Workstation jak i Microsoft w ramach Virtual PC \Hyper-V powinien takich mechanizmów dostarczyć. Dla platformy Windows najlepiej w postaci:

  • interfejsów WMI pozwalających na pobranie danych o działających maszynach (w Hyper-V mamy już WMI provider)
  • mechanizmów zarządzania przez GPO pozwalających na nakładanie ograniczeń w stosowaniu maszyn wirtualnych przez użytkownika. Minimalnie:
    • pozwalających na kontrolę podłączenia maszyn wirtualnych do sieci zewnętrznej
    • pozwalających na zablokowanie możliwości uruchomienia wirutalizacij na maszynie (można w tej chwili próbować przez Software Restriction Policy)
    • pozwalających na kontrolę usług sieciowych udostępnianych przez maszyny wirtualne (czyli takie rozszerzenie do FW).

Dodatkow bardzo miło bym powitał prosty interfejs (na platformie Win przez WMI), który pozwoliłby jednoznacznie określić na poziomie maszyny gościa że działa on w ramach maszyny wirtualnej i jakiego rodzaju jest to wirtualizacja (typ, wersja).

Cóż … pewnie to tylko takie moje widzimisię, i większość administratorów \ użytkowników nie widzi takiej potrzeby, przez co nie ma presji na producentów aby taką funkcjonalność dostarczyli. Ale dzisiaj akurat w tym temacie takie mam przemyślenia :).

A co wy o tym myślicie … komentarze mile widziane! A może coś przeoczyłem i takie mechanizmy już są?

Uaktualnienie: zapomniałem linku do postu Briana więc go dodałem 🙂

10 Comments

  • napisałeś : “W starciu “Administrator sieci” vs. “Użytkownicy wirtualek ….” – zazwyczaj jest to jedna i ta sama osoba 🙂 (w jakiś 85%przpadkach -dane własne 🙂
    postaram się odpowiedzieć na twoje pytania
    ad1) ograniczonie sprzętowo
    ad2) ograniczonie sprzętowo
    ad3) jak nie jest adminem to musi mieć z nim kontakt co udziela odp na pytanie nr. 2
    ad4)w przypadku win2k8 jest bardzo dobrze rozwiązane (4 licencje virtualne) w przypadku XP to 1 licencja wirtualna na jedną licencje oryg. co w przypadku dużych firm nie sprawia zadnej różnicy (bo mają dużo licencji) istnieją również wersje trial wirtualnych maszyn systemów MS
    ad 5 ) itp itd ?

  • Tomku, maszyny wirtualne są czasami wykorzystywane do tego, by choćby analizować złośliwe oprogramowanie. A złośliwe oprogramowanie wcale głupie nie jest i coraz częściej posiada wbudowane mechanizmy wykrywające nie tylko ewentualną obecność debuggera, ale również to, czy przypadkiem nie są uruchomione w maszynie wirtualnej, a jeśli tak, to tchórzliwie odmawiają działania… Wprowadzenie takiego interfejsu skutecznie wyłączyłby produkty, które go oferują, z takich zastosowań. Już teraz czasami trzeba sobie pomagać mniej znanymi rozwiązaniami jak Qemu na przykład. A tego typu rozwiązaniom często brakuje istotnych funkcji ułatwiających analizę tego, co się dzieje w systemie…

  • @Wampir
    Tak Paweł, wiem … wirtualizacja nie jedno ma imię. Ale to co w jednym zastosowaniu jest niewskazane w innym byłoby bardzo przydatne. Wiele firm wdrażając rozwiązania związane z monitorowaniem i zarządzaniem chciałoby mieć taką funkcjonalność dostępną.
    Idealnie byłoby więc mieć możliwość włączenia \ wyłączenia takiej opcji. Lub udostępnienia jej poprzez instalację odpowiedniego sterownika itp. Oczywiście w tej drugiej opcji “złośliwe oprogramowanie” mogłoby wcześniej je instalować :).

    Problem nie jest prosty i nie wiem nawet czy jest ogólne zapotrzebowanie na tego typu funkcjonalność. Takie mam po prostu przemyślenia :).

  • @pow3r_shell
    Ze znakiem równości pomiędzy Administrator a “Użytkwonik wirtualek” mocno się nie zgodzę. Przykład mojej organizacji w pracy chociażby. Każdy z konsultantów ma conajmniej jedną maszynę na której hostuje systemy wirtualne a żaden z nas nie ma uprawnień administratora w naszej sieci. A tych konsultantów jest ze 40.

    Teraz co do rozwiązań:
    – ograniczenia sprzętowe: rozumiesz przez to “ile sprzęt pozwoli uruchomić”. Średnie ograniczenie IMO. To nie kontrola a po prostu obserwacja rzeczywistości i limitów w niej obowiązujących. Fakt … w fizyce jej prawa też ograniczają niektóre rzeczy. Ale czy dokładnie o to nam chodzi?
    – w przypadku sieci to jeszcze mniejsze ograniczenie. Wystarczy jeden interfejs fizyczny i już … możemy się do niego bindować z poziomu maszyn wirtualnych.
    – licencje, chodziło mi raczej o punkt widzenia administratora sieci. nie ma kontroli nad tym jakie i ile licencji jest wykorzystywanych w jego sieci. Oczywiście jeżeli to jest tylko OS pracujący pod kontrolą bezpłatnych systemów nie ma problemu (o ile polityka fimy na to pozwala), ale dodatkowe oprogramowanie itp. Inny aspekt – jeżeli jakieś oprogramowanie jest zabronione w sieci .. użytkownicy utrzymują je w wirtualkach … zaobserwowane w rzeczywistej sieci.

    Tak więc IMO problem nie jest taki prosty jak piszesz … ale komentarze w temacie cieszą 🙂

  • @t.onyszko może twoja firma jest specyficzna jednak w sektorze średnich i małych firm to admin i “Użytkwonik wirtualek” to jedno i to samo(warto podkreślić ,że takich firm jest najwięcej) ,a jeśli chodzi o licencjonowanie to wszystko pod kontrolą bo … wykorzystują mało maszyn wirtualnych. [[Idealnie byłoby więc mieć możliwość włączenia \ wyłączenia takiej opcji]] owszem jednak dla wyklikania jakieś opcji stawia się vm w wersji trial i po problemie z licencjonowaniem

  • @pow3r_shell nie zgodzę się. Jest masę firm choćby programistycznych gdzie developerzy mają na swoich stanowiskach maszyny wirtualne. Muszą oni na bieżąco sprawdzać czy działa tu i tu, jak się zachowuję z innymi ustawieniami. Sam miałem przypadek gdy paru pracowników wparowało z vmwarem na swoich prywatnych notebookach i zaczęli robić problemy:/

  • @kaarol może masz rację – jednak dalej będę powtarzał ,że zawsze może wykorzystywać maszyny trialowe. [[na swoich prywatnych notebookach i zaczęli robić problemy:/]] no tak ale nijak ma się to do firmy – są to notebooki prywatne nie firmowe- nie są podpinane do domeny więc narzędzia o których pisał Tomek i tak by nie pomogły . [[Cóż … pewnie to tylko takie moje widzimisię]] pewnie tak z 2 powodów – jeśli stawiamy systemy serwerowe – wiemy o ich przeznaczeniu i w 80% jest to zgodne z licencją – MS pozwala wirtualizować od 1-4 systemów – zależnie do wersji(poza tym na pewno robi to admin) . Po drugie są to nieliczne maszyny – ze względu na ograniczenia sprzętowe , praktyczne
    oraz bezpieczeństwa (więcej niż 5 MV na jednym sprzęcie to już delikatnie rzecz ujmując ryzyko chyba ,że ma się również maszynę do backupowania serv MV)

  • @pow3r_shell
    Odpowiadając na wcześniejszy komentarz – tak można powiedzieć, że moja firma jest “specyficzna” :).

    A teraz co do ostatnieg – myślę że patrzysz na to przez trochę wąski pryzmat:
    – problemem nie jest to czy te licencje są legalne czy nie (może na początek), problemem jest IMO to, że nie jesteś w stanie kontrolować ile ich wykorzystujesz faktycznie w sieci (nie samym OS człowiek żyje).
    – takie kłopoty o których pisze karol nie zdarząją się tylko z powodu “prywatnego” sprzętu, okazyjnie przyniesionego do pracy. Powodowane też są właśnie przez maszyny wirtualne, które pracują na maszynach wpiętych do sieci legalnie. I tutaj właśnie brakuje mi elementu kontroli …

  • nie zgodze sie, ze admin NIE MA MOZLIWOSCI – wydaje mi sie, ze po prostu systemy wirtualne sa traktowane jak smietnik i NIE CHCE SIE ICH KONTROLOWAC. jesli bylaby taka potrzeba i polityka firmy to mozliwych rozwiazan sa krocie:

    – ograniczenia DHCP per MAC
    – ograniczenia per MAC na switchach
    – ograniczenia via GPO na uruchamianie aplikacji o zadanym hashu
    – regulacje dot. sposobu przydzielania dostepu do wersji instalacyjnych/kluczy instalacyjnych
    – restrykcje instalacji oprogramowania
    – kontrola na pozimie sieci typu NAC [kto, gdzie, kiedy, co to za komputer, ktorego nie bylo a jest]
    – i wiele wiele innych mozliwosci jakie ma w zanadrzu IT. problemem zatem jest PODESJSCIE do tematu – swiadome pozwalanie uzytkownikom na korzystanie z virtualizacji, a nie brak sposobu na ich kontrole. poza tym jest ktos ma srodowisko developerow to moze dac stacje aka terminal – gdzie developer nie moze niemal nic, i pozowlic na dostep do maszyn wirtualnych na serverze z ustawionymi odpowiednio uprawnieniami gdzie juz jest pelna kontrola.

    to co napisales przypomina mi troche wypowiedz w stylu – ‘windowsy nie daja zadnej mozliwosci kontroli (nie pisze o bussiness w domenie tylko o wersji home basic) bo nie da sie nimi centralnie zarzadzac’ – jest to dokladnie przelozenie celu produktow (VPC/WMware workstation vs ESX/hyper-v) na ich zastosowanie.

  • @nexor
    To prawda ze rozwiazania ktore wskazujesz istnieja … ale czy faktycznie uwazasz ze sa one mozliwe do _efektywnego_ zastosowania w wiekszej sieci.

    Rozwiazania takie jak ograniczenia DHCP po MAC czy kontrola MAC na przelacznikach sa mozliwe do wdrozenia. Maja jednak zasadnicza wade – _zarzadzanie_. Zarzadzanie takimi rozwiazaniami w srodowisku sieci jest koszmarem. Jezeli zespoly administujace systemami operacyjnymi i urzadzeniami sieciowymi sa osobne w firmie to tym bardziej zaczyna to byc problemem.

    Ja nie mowie ze nie da sie nic zrobic, jednak mozliwosc kontroli na poziomie produktu rozwiazalaby problem w sposob latwy i efektywny.

    Ale jak napisalem w samym poscie … nie wiem czy problem istnieje, w koncu gdyby istnial to ktos (niekoniecznie producent) pewnie by juz go zaadresowal.

Leave a Reply