Virtual-IT.pl
https://www.virtual-it.pl/forum/

Obliczanie mocy vCPU
https://www.virtual-it.pl/forum/viewtopic.php?f=16&t=5974
Strona 1 z 1

Autor:  MichałS [ 27 lis 2014, 13:45 ]
Tytuł:  Obliczanie mocy vCPU

Witam. Mam pytanie o przelicznik vCPU. Istnieje coś takiego ? Czy można uznać 1 fizyczny rdzeń = 1 vCPU ? W sensie że jak mam 4 rdzeniowy procesor (i5) to mogę ustawić max 4 maszyny po 1 vCPU lub 2 maszyny po 2 vCPU ? By działały jednocześnie i nic ze sobą nie kolidowało ?

Autor:  boom [ 27 lis 2014, 20:22 ]
Tytuł:  Re: Obliczanie mocy vCPU

Cytuj:
Czy można uznać 1 fizyczny rdzeń = 1 vCPU ?

Spokojnie możesz uznać, że 1 logiczny CPU = 1 vCPU z tym, że dobrze pamiętać o jakimś zapasie mocy dla hosta.

Autor:  bienkowt [ 28 lis 2014, 09:35 ]
Tytuł:  Re: Obliczanie mocy vCPU

Jedna z zalet wirtualizacji to konsolidacja, czyli lepsze wykorzystanie istniejącego sprzętu. Możesz przeliczać 1 core = 1 vcore. Natomiast trzeba pamiętać, że obciążenie maszyn wirtualnych nie jest takie same w danej chwili. Dlatego możemy dawać więcej niż mamy. Ja mam wdrożenia gdzie na 2 hostach, każdy 2x6 core działa w sumie 60 maszyn wirtualnych. Średnie obciążenie CPU w klastrze to 40%.
Sam ESX rezerwuje sobie trochę ponad 300MHz, więc prawie nic.

Autor:  Washi [ 28 lis 2014, 11:54 ]
Tytuł:  Re: Obliczanie mocy vCPU

@MichałS, jak pisze @boom, bezpiecznie będzie jak rozpoczniesz od przydzielania po 1vCPU dla maszyny wirtualnej i gdy będzie on przeliczany 1:1 z vCore. Największą konsolidację możesz uzyskać w środowiskach VDI, gdyż tam najwięcej maszyn się 'nudzi'. Przy wymagających aplikacjach jak bazy danych spotkasz się z 2,4,.. vCPU na VM i tu z nadmiarowością nie poszalejesz. I analogicznie do tego co napisał @bienkowt jest z pamięcią RAM. To że masz np. w labie 16GB, to nie znaczy, że nie możesz przypisać do VM 20 GB, ale może się okazać, że w przypadku zasobożernych aplikacji te 14 GB to będzie max. A na wszystko to można sobie pozwolić dlatego, że hypervisor 'patrzy' na zasoby nie przez konkretne rdzenie czy kości pamięci ale jak na pewną pulę zasobów którą może rozdzielać w zależności od potrzeb.

Ogólnie kieruj się zasadą mniej=lepiej... Obserwuj co się dzieje a następnie koryguj konfigurację.

Autor:  MichałS [ 28 lis 2014, 14:04 ]
Tytuł:  Re: Obliczanie mocy vCPU

Dziękuję za odpowiedzi.
@bienkowt aktualnie działam (mocne słowo) na Hyper-V ale sądzę że wymagania mają zbliżone. Platforma od WM Ware odpada u mnie, mam procka z K na końcu i ich darmowy HV u mnie nie ruszy.
@Washi z tym RAMem muszę doczytać, ciekawa sprawa.

Skro dajemy że 1 rdzeń procesora = 1 vCPU to jak to jest z rdzeniami w maszynach wirtualnych ? W WM Ware można ustawić 1 vCPU i ileś tam rdzeni. Czyli jak ustawię np. dla VM 1 vCPU i 2 wirtualne rdzenie to jakoś da się to przeliczyć (czysto orientacyjnie) ?

Autor:  Washi [ 02 gru 2014, 02:55 ]
Tytuł:  Re: Obliczanie mocy vCPU

Każdy vCPU jest postrzegany jako pojedynczy rdzeń procesora fizycznego przez system operacyjny VM. Co do przeliczania i przydzielania to nie jest to takie proste/jednoznaczne, gdyż trzeba mieć na uwadze nie tylko możliwości VM/hosta ale i postanowienia licencyjne dla systemów, aplikacji....

Zaś co do RAMu. Jest to funkcja Dynamic Memory (pamięć dynamiczna) dostępna nawet w Hyper-v pod Windows 8. Ustawiasz sobie Minimum (z reguły wartośc niezbędną do startu VM z danym OS) i wartość maksymalną. A system sam zarządza pamięcią. Jest to bardzo przydatna funkcja w środowisku z dużą liczbą maszyn wirtualnych, które nie konsumują stale dużej liczby RAM, co pozwala na wiele większą konsolidację VM niż w sytuacji sztywnych parametrów. Poza ustawieniem wielkości pamięci możesz również ustawić priorytet dostępności pamięci dla danej VM w stosunku do innych, a ponadto procentowo określić bufor pamięci jaki Hyper-V ma zarezerwować.

Autor:  Agryppa [ 12 wrz 2015, 22:37 ]
Tytuł:  Re: Obliczanie mocy vCPU

Tak się wtrącę ku potomności ;)
Gdzieś tam w KB jest fajny artykuł o soketach i corach per soket, sprowadza się ostatecznie do stwierdzenia, że z punktu widzenia VM nie ma to znaczenia. Znaczenie ma to jednak z punktu widzenia serwera (ESXi). Obserwując pracę procesorów w VM możemy odnieść (mylne) wrażenie, że każdy core sam sobie Panem. Otóż tak nie jest, zawsze (!) wykonanie pojedynczej operacji w VM wymaga zsynchronizowania wszystkich przyznanych VM procesorów w ramach jednego taktu. Czyli mając serwer który ma 4 procesory po 16 jednostek każdy możemy w ramach tego serwera przyznać n VM np. po 8 procesorów i to będzie ok. W ramach taktu zawsze uda się zsynchronizować n razy 8 jednostek i nie zauważymy spadku (!) wydajności. Jeśli jednak mamy serwer z jednym procesorem i cztery jednostki to jeśli dwóm VM przyznamy po cztery procesory to w ramach jednego taktu pracuje tylko jedna VM a druga czeka. Oznacza to spadek wydajności lub przyśpieszenie procesora ponad miarę (co ostatecznie też może prowadzić do spadku wydajności). To dlatego zaleca się w wirtualizacji aby VM przyznawać jeden vCPU (i ewentualnie skalować w górę). Dzięki temu przy czterech fizycznych jednostka w ramach jednego taktu pracują cztery VM z jednym vCPU. Proste nie? To są blaski i cienie wirtualizacji ;)

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/