Aktualności - Moim zdaniem
Image
MOIM ZDANIEM
Autor

Partnerstwo firm Citrix i Microsoft było burzliwe i interesujące od zawsze - niezależnie od tego, czy w modzie były akurat usługi terminalowe, czy wirtualizacja i chmury obliczeniowe. Wielu zadaje sobie pytanie, czy na dłuższą metę da się współpracować oferując niemalże identyczne produkty na wąskim jak by nie patrzeć rynku, w tym przypadku hypervisorów? Citrix mówi, że się da i że nie konkuruje z Microsoftem - a co na to Microsoft?

21.10.2010
19.10.2010
16.07.2010
Image
Nowe oprogramowanie do serwerów sieciowych QNAP – wersja V3.3
01.07.2010
QNAP Systems udostępnił nową wersję firmware do obsługi swoich dysków sieciowych NAS. Aktualizacja V3.3 wprowadza nowe funkcje oraz udoskonalenia,...  
Analitycy Gartnera i IDC są zgodni: na umowie VMware-Novell skorzystają klienci obu firm – i one same
24.06.2010
W tym miesiącu firmy VMware i Novell ogłosiły rozszerzenie strategicznego partnerstwa o nową umowę OEM, na mocy której VMware będzie dystrybuował i...  
Nowe produkty HP do zarządzania usługami
22.06.2010
HP zaprezentował nowe produkty do zarządzania usługami, które pomogą klientom wdrażać hybrydowe modele dostarczania aplikacji. Obejmują one...  
Oracle prezentuje pakiet oprogramowania Oracle Business Process Management Suite 11g
22.06.2010
Firma Oracle zaprezentowała pakiet oprogramowania Oracle Business Process Management Suite 11g, który pozwoli klientom obniżyć koszty, lepiej...  
Cryptzone zaprezentował AppGate Satellite
18.06.2010
Cryptzone przedstawił dziś nowy pomysł dotyczący kontroli dostępu do sieci – AppGate Satellite. Jest to sposób na budowę bezpiecznych wirtualnych...  
Asmax prezentuje nowe urządzenie klasy NAS
18.06.2010
W ofercie Veracomp jest już dostępne nowe rozwiązanie kategorii NAS - Asmax GIGA NAS-Print Serwer. Jest to jedno z najmniejszych urządzeń NAS,...  
Oracle rozszerza ofertę rozwiązań do wirtualizacji komputerów biurkowych
14.06.2010
Nowy klient Sun Ray oraz nowa wersja oprogramowania Oracle Virtual Desktop Infrastructure zapewniają wyższy poziom wydajności, elastyczności i...  
Niższe ceny na serwery i dyski sieciowe QNAP
14.06.2010
EPA Systemy wprowadziła nowy cennik na dyski i serwery sieciowe QNAP. Podstawowe modele, kierowane głównie do odbiorców indywidualnych oraz małych...  
Nowy ProxyAV 1200 firmy Blue Coat chroni przed złośliwym oprogramowaniem
09.06.2010
Firma Blue Coat Systems rozszerzyła rodzinę urządzeń Blue Coat ProxyAV o model Blue Coat Proxy AV1200, służący do skanowania treści w czasie...  
Exploity – najczęściej wykorzystywane szkodliwe narzędzia w maju
08.06.2010
Kaspersky Lab prezentuje listę szkodliwych programów, które najczęściej atakowały użytkowników w kwietniu 2010 r. Podobnie jak w poprzednich...  
Image

O licencjonowaniu Microsoftu dla wirtualnych procesorów

27.07.2009 16:10, Autor: Wojciech Kowasz (Docent), Komentarze (11)

Licencjonowanie to zawsze gorący temat, a w przypadku niektórych producentów – takich jak na przykład Microsoft – często mocno skomplikowany. Jednym z zastanawiających scenariuszy jest licencjonowanie per procesor w środowiskach wirtualnych. Procesory fizyczne, logiczne, wirtualne – jak to wszystko ugryźć? Podjęliśmy starania, by u źródła wyjaśnić istotę problemu i znaleźć odpowiedzi na wszystkie nurtujące pytania.

Na początek przedstawmy potencjalne problemy z interpretacją zapisów licencyjnych, na jakie można natrafić w środowiskach wirtualnych. Pierwszy scenariusz to jednoprocesorowy serwer z czterema rdzeniami (procesorami logicznymi), na którym pracuje Windows Server 2008 Standard z rolą Hyper-V. Generalnie nie ma to dla nas znaczenia, jaki system pracuje na partycji fizycznej – interesuje nas tylko temat partycji wirtualnych. Serwer ten hostuje jedną maszynę wirtualną z czterema wirtualnymi procesorami, na której pracuje SQL Server 2008 licencjonowany per procesor. Ile licencji na serwer bazodanowy potrzebujemy? Wariant tego scenariusza – dwie maszyny wirtualne z dwoma lub czterema (wtedy mamy do czynienia z overcommitmentem) wirtualnymi procesorami i dwoma SQL Serverami.

Drugi problem dotyczy dwuprocesorowej maszyny i identycznego układu maszyn z SQL Serverami. Powstaje pytanie, czy fizyczne procesory mają w jakikolwiek sposób przełożenie na procesory wirtualne? W niektórych hypervisorach, np. w ESXi 4.0 mamy możliwość przypisania danego procesora fizycznego tylko do konkretnej maszyny wirtualnej, w Hyper-V takiej możliwości już nie ma. Oznacza to, że nawet maszyna wirtualna z jednym wirtualnym procesorem może korzystać z obu procesorów fizycznych. Ile zatem licencji per procesor dla SQL Servera potrzebujemy?

Z braku jednoznacznych informacji na stronach Microsoftu zapytaliśmy u źródła, jak powinno się rozumieć niektóre zapisy licencyjne. Rozwiązania obu problemów szczęśliwie udało się podać jednocześnie, choć mogą być nieco zadziwiające – w kwestii licencjonowania produktów Microsoftu per procesor (np. SQL Servera) pod uwagę brane są jedynie procesory bezpośrednio obecne w systemie, w którym pracuje instancja licencjonowanego produktu. Mówiąc jaśniej, na maszynie wirtualnej interesują nas jedynie procesory wirtualne i nie zastanawiamy się nad tym, ile procesorów fizycznych jest „pod spodem”. Niestety w praktyce oznacza to, że nawet na serwerze jednoprocesorowym potrzebujemy czterech licencji per procesor, jeśli przydzielimy maszynie wirtualnej cztery wirtualne procesory... Co więcej, gdy dodamy drugą maszynę wirtualną – na przykład także z czterema wirtualnymi procesorami (overcommitment) – to SQL Server zainstalowany na takiej maszynie wymaga kolejnych czterech licencji per procesor. Jeśli dodatkowo na partycji fizycznej pracuje trzecia instancja produktu, ona również wymaga własnej licencji na procesor - w przypadku jednoprocesorowej maszyny już tylko jednej. W scenariuszu ilustrowanym przez poniższy schemat potrzebowalibyśmy więc sześciu licencji per procesor.

Rozwiązaniem tego dosyć drogiego problemu są, niestety także dość drogie, licencje per procesor na edycje Enterprise serwerów SQL Server 2005 i 2008. Posiadają one specjalny zapis, który po przypisaniu licencji na każdy procesor fizyczny serwera-hosta pozwala na pracę dowolnej liczby instancji na tym serwerze, włączając w to instancje fizyczne oraz wirtualne. W przypadku, gdy mamy więcej maszyn wirtualnych z SQL Serverem na jednym serwerze fizycznym, licencja Enterprise może okazać się tańsza niż zakup kilku licencji per procesor w edycji Standard. Na przykład w tym samym scenariuszu (obrazek powyżej) zamiast sześciu licencji per procesor wystarczą dwie, ale Enterprise.

Przy okazji przypomnijmy jeszcze, jak wygląda kwestia licencjonowania wirtualnych instancji systemów Windows Server 2008. Edycja Standard pozwala na uruchomienie jednej fizycznej i dodatkowo jednej wirtualnej instancji systemu. Edycja Enterprise rozszerza tę możliwość do czterech wirtualnych instancji systemu, zaś edycja Datacenter nie posiada żadnych ograniczeń co do uruchamiania dodatkowych wirtualnych instancji. Należy jednak pamiętać, że istnieje zapis w licencji stanowiący wyraźnie, że instancja fizyczna może być wykorzystywana jedynie do hostowania i zarządzania instancjami wirtualnymi. Możemy więc posadzić na niej Hyper-V i administrować maszynami wirtualnymi, ale zgodnie z licencją nie możemy na niej skonfigurować serwera IIS i hostować na nim firmowej witryny WWW czy wewnętrznego SharePointa.

Abstrahując od momentami dość absurdalnych rozwiązań, temat licencjonowania per procesor w środowiskach wirtualnych jest ciekawy. Warto jednak najpierw zastanowić się, czy wirtualizacja SQL Servera jest aby na pewno konieczna – nawet w średniej wielkości środowiskach koszty licencjonowania per procesor mogą być wyższe, niż zakup dedykowanego i prawdopodobnie wydajniejszego niż maszyna wirtualna sprzętu do obsługi baz danych. Ostatecznie nawet Microsoft w szumnie reklamowanej migracji serwisu internetowego TechNet na Hyper-V zdecydował się na wirtualizację wszystkiego oprócz SQL Serverów...

Jeśli nurtują Was podobne pytania odnośnie licencjonowania w niekonwencjonalnych scenariuszach, dajcie znać - być może uda nam się sprawę wyjaśnić i opisać.

Komentarze

Webio
27.07.2009 17:05

Webio
 

Mysle, ze powinniscie jeszcze dodac informacje, ze w ESXi (darmowym rowniez) mozna skonfigurowac ilosc rdzeni na wirtualny procesor poprzez odpowiedni wpis w zaawansowanych ustawieniach wirtualnej maszyny. Wiec teoretycznie z dwoch fizycznych procesorow po dwa rdzenie mozna zrobic jeden z czterema rdzeniami w wirtualnej maszynie.

Wiem, ze w XenServerze rowniez sie takie cos da osiagnac jednak dopiero w wersji platnej.

 
Webio
27.07.2009 17:10

Webio
 

P.S. Jest jakas szansa na dodanie powiadamiania droga e-mailowa o nowych komentarzach w newsach w ktorych sie komentowalo? Emblematy / avatary sa dostepne tylko dla specjalnej grupy uzytkownikow? :)

 
Docent
27.07.2009 20:26

Docent
 

@Webio:

Prawdę mówiąc nie wiedziałem o tej możliwości w ESXi, mógłbyś podać jakiegoś linka ktory to opisuje? Co do awatarów, można je ustawić na forum w opcjach profilu - są spójne z całym serwisem :)

 
Webio
27.07.2009 21:17

Webio
 

1. Power off the VM
2. Right click on the VM and select “Edit Settings…”
3. Select the “Options” tab
4. Click on “General” (in the “Advanced” options section)
5. Click “Configuration Parameters…” (in the pane on the right)
6. Click “Add Row”
7. Enter “cpuid.coresPerSocket” in the “Name” column
8. Enter a value (try 2, 4, or 8) in the “Value” column
9. Click “OK”
10. Power on the VM

 
jendras
27.07.2009 22:54

jendras (brak avatara)
 

Z tego co wiem to hyper-v może "złóżyć" fizyczne procesory w jeden wirtualny bez większych strat na wydajności. Podejżewam, że dużo zależy od systemu, ale testowałem kiedyś maszyny z 4 wirtualnymi prockami i z jednym (na tej samej maszynie fizycznej) i nie widziałem, żadnych różnic w wydajności.

Na wss.pl jest nawet wątek na ten temat:https://wss.pl/frmThread.aspx?tid=62290

To by znaczyło, że możemy kupić maszynę np. z 4 procesorami, ale wirtualce przydzielić tylko jeden procek, dzięki czemu można sporo zaoszczędzić.

 
Docent
28.07.2009 16:57

Docent
 

@Webio:

Dzięki, faktycznie ten hack działa :) Zrobię wieczorem jakiś mini-test wydajności takiego rozwiązania (choć jest eksperymentalne, to jednak ciekawe) i opublikuję.

@jendras:

Nie wydaje mi się, aby działało to tak, jak piszesz - nasze doświadczenia mówią co innego. Na dodatek zrobiłem przed chwilą test na serwerze, który miałem akurat pod ręka (ESXi 4.0, 2 x Xeon seria 5500) i wyniki mówią same za siebie - liczba wirtualnych procesorów przypisanych do maszyny wirtualnej jednak ma znaczenie:

1 vCPU
18610 MIPS
9893 MFLOPS

2 vCPUs
35531 MIPS
19786 MFLOPS

4 vCPUs
71020 MIPS
39505 MFLOPS

(wyniki z Sandry w możliwie identycznych warunkach, Windows Server 2008 x64)

 
jendras
28.07.2009 20:49

jendras (brak avatara)
 

@docent:

Miałem na myśli Hyper-V nie ESXi.
Na każdym szkoleniu z wirtualizacji Hyper-V mówili, żeby przydzielać tylko jeden wirtualny procesor, chyba że dany soft wymaga więcej.

 
Docent
28.07.2009 21:27

Docent
 

@jendras:

Wiem, przygotowuje materiał będący kontynuacją tego - tyle, że już nie w temacie licencjonowania, a wydajności różnych konfiguracji wirtualnych procesorów. Planuję też sprawdzić, czy jeden wirtualny procesor odpowiada kilku w Hyper-V - dzisiaj niestety już nie zdążę, jutro to realny termin :)

 
ponton
10.08.2009 12:42

ponton (brak avatara)
 

Interesujące... ja ostatnio też przerabiałem ten temat i też pytałem "u źródła" - w pomocy przedsprzedażnej Microsoft dla partnerów. Tam uzyskałem informację sprzeczną z tym co piszesz:

"Niestety w praktyce oznacza to, że nawet na serwerze jednoprocesorowym potrzebujemy czterech licencji per procesor, jeśli przydzielimy maszynie wirtualnej cztery wirtualne procesory..."

Za ww. cytatem przemawia poniższy cytat: "For Standard, Workgroup, and Enterprise, if you decide to license on a per processor basis, you must buy a SQL Server license for each virtual processor" z FAQ: http://www.microsoft.com/sqlserver/2005/en/us/Pric...

Natomiast dokument whitepaper ( http://download.microsoft.com/download/9/0/5/9050d... )mówi:

"Uznaje się, że procesory wirtualne mają taką samą liczbę rdzeni i wątków, co każdy procesor fizyczny zainstalowany w serwerze. Firma Microsoft przyjęła taką definicję, aby umożliwić klientom wykorzystanie ogłoszonych w 2004 roku zasad licencjonowania produktów uruchamianych na procesorach wielordzeniowych. W celu uzyskania wysokiej niezawodności i wydajności pracy, oprogramowanie wirtualizacyjne może do jednego procesora wirtualnego, wykorzystywanego w określonym środowisku systemu operacyjnego, przydzielić zasoby z kilku różnych procesorów fizycznych zainstalowanych w serwerze. Jeśli procesory fizyczne w serwerze mają po dwa rdzenie, to wyznaczając liczbę potrzebnych licencji należy założyć, że każdy procesor wirtualny także ma dwa rdzenie, nawet jeśli rdzenie te zostały przypisane z dwóch różnych procesorów fizycznych. W przykładzie przedstawionym na ilustracji D5. do procesora wirtualnego 1 przypisano jeden rdzeń procesora fizycznego 1 i jeden rdzeń procesora fizycznego 2. Pomimo że procesor wirtualny wykorzystuje rdzenie z dwóch różnych procesorów fizycznych, jest uznawany za pojedynczy procesor wirtualny, ponieważ ma taką samą liczbę rdzeni, co procesory fizyczne zainstalowane w serwerze."

Poprosiłem o wyjaśnienie i skrócie można napisać, że jeśli serwer ma np. 2 rdzenie, to można maszynie wirtualnej nadać dwa wirtualne procesory. Co więcej, jesli maszyna ma np. 2 procesory 2 rdzeniowe to można jednej maszynie wirtualnej przypisac rdzenie z roznych procesorów o max. ilości nie przekraczającej rdzeni w jednym procesorze, przy koniecznej 1 licencji na procesor.

 
Docent
10.08.2009 18:34

Docent
 

@ponton:

Generalnie sprzeczności nie ma. Korzystałem z tego samego dokumentu, tyle że w wersji angielskiej :) Zauważ, że jest tam rysunek ilustrujący przykład, gdy wirtualnych procesorów jest więcej, niż fizycznych - i licencji trzeba tyle, ile wirtualnych procesorów.

Jeśli natomiast chodzi o rozłożenie obciążenia wirtualnych procesorów na fizyczne, to zgadza się - hypervisor rozrzuca obciążenie jednego wirtualnego procesora na wszystkie fizyczne (ESX pozwala to ustawiać, Hyper-V już nie), ale nadal jest to moc tylko jednego procesora. Ustawienie dwóch wirtualnych procesorów też powoduje rozrzucanie obciążenia, ale może być ono dwa razy większe. To przemawia za przypisywaniem większej liczby wirtualnych procesorów do maszyn. Nadal trzeba więc licencjonować software per procesor wirtualny, liczba rdzeni fizycznego procesora nie ma tu nic do rzeczy, bo Hyper-V prezentuje maszynie wirtualnej zawsze jednordzeniowy wirtualny procesor. Sprawa zmienia się wraz z ESX i XenServerem, które potrafią prezentować wielordzeniowe procesory.

Zerknij na wcześniejsze komentarze do tego artykułu oraz na jego drugą część, która trochę więcej wyjaśnia w tych tematach: http://www.techit.pl/MoimZdaniem/View.aspx?4349.wi...

 
Maro
(niezalogowany)
18.08.2009 21:00

Maro (niezalogowany)
 

TO ja tylko odnośnie ESX i przypisywania procesorów fizycznych do VM. Działa a i owszem, tylko co wówczas z klastrami DRS i HA :) Ooooo ale zonk, nie działa :) Więc jak dla mnie to jest bzdura wiązanie procesorów z maszynami, bo chyba większość wdrożeń VMWare (vSphere) to jednak rozwiązania klastrowa.

Pozdrawiam

 

Dodaj komentarz

Autor: