Martin Pavlis - KPCS CZ, s.r.o., www.kpcs.cz

konzultace a projekty v oblasti Microsoft technologií
posts - 782, comments - 239, trackbacks - 0

My Links

News

KONZULTANT.NET

KPCS CZ, s.r.o.

Subscribe with Bloglines

Article Categories

Archives

Odkazy

Remote Desktop

Licencování virtuálních CPU

Protože jsem nevěděl, jak se licencují CPU v rámci virtuálníhi prostředí (např. v rámci Hyper-V), položil jsem dotaz odborníkovi na slovo vzatému. Pí. Darině Vodrážkové ze společnosti DAQUAS. Emailovou komunikaci přikládám beze změn, myslím, že je to velmi zajímavé čtení.

-----

Otázka:

Máš server, který má 1x fyzický CPU a v něj 8 jader. Kdybych na tento server nainstaloval SQL a ten chtěl licencovat per CPU, zaplatím jednu licenci. Ale když nahodím Hyper-V, mám možnost zadat, že chci té jedné VM přiřadit až 4 CPU. Prostě Hyper-V vidí jádra, jako by to byly fyzické CPU. No a teď – když tedy dám VM 4 (virtuální) CPU (tedy 4 jádra), budu muset SQL ve VM licencovat per procesor 4x, nebo jen jednou?

-----

Odpověď:

Jednoznačně jen jednou! Dokud té jedné virtuální mašině nepřiřadím více jader, než kolik mám v tom původním procesoru, tak je to všechno jen jeden procesor. Nevím, jestli je to za současného stavu technologií vůbec možné, ale - pokud by v tom tvém příkladu byl ten server se DVĚMA CPU po 8 jádrech, tak když bude ta virtuální mít 8 jader (klidně po 4 z každého fyzického CPU), je to pořád jen jeden procesor /jedna licence. Až kdyby měla 16 jader, tak jsou to dva CPU. (Kdyby měla VM 12 jader– což opět: nevím, jestli to už „umíme“ – tak i k tomu je výklad, že se to vydělí počtem původních jader a zaokrouhlí na celé nahoru – takže 12:8 = 1,5 => 2 CPU – ale to už je fakt jen taková licenční perlička :)

A mimochodem: pořád platí (ale to je asi jasné), že se nepočítá, na kolika procesorech jede ten SQL, ale na kolika jede operační systém, na kterém ten SQL běží. (Na druhé straně také od SP2 SQL 2005 platí, že pokud je to ENTERPRISE Edition a pokryju všechny fyzické procesory, mohu ji ve virtuálech použít kolikrát jen budu chtít…)

PS: ještě více info:

Takhle to počítání jader platí už dávno – a doufám, že ani Hyper-V na tom nic nezmění. Zde ještě podrobnější popis, který jsem si na to téma sepsala už před půl rokem. Lze udělat virtuální procesor z více jader, i když pocházejí z více fyzických procesorů - virtuální manager by sice  ta jádra chápal jako oddělené procesory, ale z hlediska licenční politiky se počítají tak, že kolik jader fyzický, tolik jader virtuální, takže licence pak taky počítáš na celé procesory a ne na jádra, podle materiálu z DevCon:

    • U licencí typu Per Processor ve fyzickém prostředí se počítají vždy skutečné fyzické procesory, nezáleží na tom, kolik mají jader nebo vláken
    • Ve virtuálním prostředí, pokud je postaveno nad vícejádrovými procesory, lze virtuální procesor vytvořit tak, že využívá jádra z více fyzických procesorů.

V takovém případě platí, že:

  • pokud využije méně jader, než mají fyzické procesory v zařízení, považuje se tento virtuální procesor za jeden celý procesor a budiž mu přidělena odpovídající licence PPL
  • pokud použije stejný počet jader, jako mají fyzické procesory – a to bez ohledu na to, zda půjde o jádra z jednoho nebo z více fyzických procesorů, považuje se tento virtuální procesor za jeden procesor a budiž mu přidělena odpovídající licence PPL
  • pokud by chtěl využít více jader, než mají fyzické procesory, bude se počítat jako více procesorů – tj. počet použitých jader děleno počtem jader ve fyzických procesorech, zaokrouhleno nahoru – to dává příslušný počet potřebných licencí PPL.

A tady je původní originál z velkého Virtualization White Paper:

Virtual Processors Have the Same Number of Cores and Threads as Physical Processors—Each Fraction of a Virtual Processor Counts as a Full Virtual Processor

This section is relevant if you are using Per Processor products on multi-core processor systems. For reliability and performance, VM technology can allocate resources from separate physical processors in the server to create a virtual processor for use by a particular OS environment. Under the updated licensing, virtual processors are considered to have the same number of threads and cores as each physical processor in the underlying physical hardware system. Microsoft is adopting this definition to enable you to take advantage of the licensing policy we announced in 2004 for multi-core processors.[1] If the physical processors in the server have two cores, for licensing purposes, each virtual processor also has two cores, even if the cores are allocated from separate physical processors.

For example, in Figure 18 below, the virtual processor used by the virtual OS environment on the left is allocated a core from physical processor 1 and a core from physical processor 2. Although that virtual processor is using cores from different physical processors, it is considered to be only a single virtual processor because it has the same number of cores as the physical processors in the server. Consequently, you only need one license each for SQL Server (licensed Per Processor) and BizTalk Server for server A.

Figure 18 – The allocation of cores to virtual processors

clip_image002

However, if a virtual OS environment uses only a fraction of a virtual processor, the fraction counts as a full virtual processor. For example, in Figure 19 below, if you choose to allocate only a single core to each virtual OS environment, the licensing requirements do not change—a full license is required for SQL Server and a full license is required for BizTalk Server.

Figure 19 – Virtual OS environments that use only fractions of a virtual processor

clip_image004

Print | posted on Monday, March 24, 2008 9:31 PM |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET