Alokacja zasobów za pomocą vSphere Hypervisor

2

Buduję serwer domowy na starym komputerze (Core 2 Duo E6600 jako procesor, 4 GB pamięci RAM, dwa dyski twarde, po jednym na każdą maszynę wirtualną) i mam problemy z jedną z moich maszyn wirtualnych. Obecnie mam na nim dwie maszyny wirtualne, jedną z systemem operacyjnym Untangle OS, a drugą z systemem Windows Server 2008 R2. Maszyna wirtualna Untangle działa idealnie, ale Server 2008 działa bardzo wolno, z prawie wszystkimi instalacjami oprócz systemu operacyjnego (myślę, że zainstalowałem tylko program antywirusowy, który skanuje tylko na żądanie).

Mimo że komputer jest stary, jestem pewien, że powinien dobrze działać z serwerem 2008, chociaż możesz mnie poprawić, jeśli się mylę. Przeczytałem o procesorze i stwierdziłem, że faktycznie miał on 2 procesory fizyczne i 2 logiczne w każdym fizycznym (nie jestem pewien, jaka dokładnie jest różnica). To powiedziawszy, myślałem, że faktycznie ma cztery procesory do przydzielenia do moich maszyn wirtualnych. Następnie przypisałem 1 procesor i 1 GB pamięci RAM maszynie wirtualnej Untangle oraz trzy procesory i 3 GB pamięci RAM serwerowi 2008. System Windows Server był praktycznie bezużyteczny. Potem dowiedziałem się od współpracownika, że ​​proces może faktycznie zawiesić się, gdy zostanie przypisany do dwóch różnych procesorów fizycznych, ponieważ dane miałyby problemy z przejściem ścieżki przez każde gniazdo fizyczne (nie jestem pewien, czy jest poprawne). Zasugerował, żebym umieścił tylko 2 procesory na tej maszynie wirtualnej, tak aby wszystkie dane były przetwarzane na tym samym fizycznym procesorze. Wydawało się, że to rozwiązało problem na trochę, ale nadal mam pewien fragment czasu, w którym maszyna wirtualna działa bardzo wolno. Przychodzi przez fale. Mogę uruchomić skanowanie antywirusowe i działa ono bardzo szybko przez pierwsze 30 minut, ale potem znacznie spowalnia, a kiedy się kończy, ledwo mogę otworzyć Eksploratora Windows.

Zarezerwowałem również 4800 MHz dla maszyny wirtualnej z Server 2008 (nie jestem pewien, czy to faktycznie oznacza dwa pełne procesory, ponieważ działają one z częstotliwością 2,4 GHz każdy), ale nie znam się zbyt dobrze na tym pojęciu rezerwacji zasobów.

Zastanawiam się, czy zasoby maszyn wirtualnych są prawidłowo dystrybuowane (co myślę, że nie są, ale to tylko uczucie), czy tylko to, że jest to stary komputer i będzie miał problemy z uruchomieniem systemu Windows Server 2008.

Proszę wybacz mi, jeśli używam niewłaściwych terminów lub mieszam pojęcia, ponieważ jestem nowy w tym świecie wirtualizacji.

Dzięki za pomoc,

Louis

Louis
źródło
Najprawdopodobniej powolność pochodzi z dostępu do dysku. Jeden dysk nie zawsze może obsługiwać wiele systemów operacyjnych. IIRC, Untangle może zużyć dość dużo czasu na dysku, szczególnie jeśli masz włączony moduł buforowania sieci. Spróbuj użyć klienta vSphere do monitorowania wykorzystania zasobów hiperwizora.
Wszystkie w dniu
Nie powiedziałem tego, ale w rzeczywistości używam dwóch dysków twardych, jednego dla Untangle i jednego dla Server 2008.
Louis
Zakładam, że masz włączony VT-x w BIOS-ie?
ᴎᴅᴏƞᴎᴅᴏƞᴎᴅᴏƞ єєᴎєƞ
Tak, zrobiłem to również, kiedy po raz pierwszy zainstalowałem ESX5.5
Louis
spróbuj cofnąć rezerwację procesora do 3000 MHz
od

Odpowiedzi:

0

Trochę za długo na komentarz, więc dodaję go jako odpowiedź.

Twój procesor to dwurdzeniowy procesor o taktowaniu 2,4 GHz lub 2400 MHz na rdzeń. [ 1 ] Odpowiada to 4800 MHz całkowitego przetwarzania w danym momencie. Zwykle system operacyjny obsługuje zarządzanie zasobami komputera. VMWare ESXi to system operacyjny bez systemu operacyjnego, zwany także hypervisorem. Zasadniczo oznacza to, że nie ma tego wiele, dlatego możesz zainstalować ESXi na karcie SD 1 GB, jeśli naprawdę chcesz. [ 2 ]

Jeśli chodzi o zarządzanie zasobami procesora, istnieje coś, co nazywa się harmonogramem, który reguluje sposób i czas uruchamiania procesów na procesorze. ESXi ma wbudowany harmonogram w jądro. [ 4 ] Wszystko jest w porządku i dobrze, pod warunkiem, że dostępne jest wystarczające przetwarzanie dla programu planującego, aby zapewnić wszystkim procesom działającym na czas potrzebny procesorowi. Komputer może zacząć działać wolno i nie reagować, jeśli trzeba wykonać więcej pracy niż jest w stanie z łatwością przetworzyć. Kiedy dzieje się to w ESXi, jądro zaczyna następnie odcinać fizyczne rdzenie procesora, aby wszystkie maszyny wirtualne miały szansę uruchomić potrzebne instrukcje. [ 3 ]

Ponieważ wszyscy wiemy, że komputery działają magicznie, wszystko powinno po prostu działać, prawda?

Spójrzmy na to w ten sposób: obecnie masz dwie maszyny wirtualne i masz moc procesora 4800 MHz dla wszystkich. Ups, prawie zapomniałem o ESXi ... Oznacza to, że na stacji roboczej działają w sumie trzy rzeczy. Wszystkie te trzy rzeczy próbują wykorzystać część z 4800 MHz, które są dostępne. Dobrą wiadomością jest to, że w większości przypadków powinno być wystarczająco dużo do obejścia, ponieważ większość systemów operacyjnych nie wykorzystuje przez cały czas 100% procesora.

Teraz zła wiadomość: Powiedziałeś ESXi, aby poświęciła cały procesor 4800MHz procesora maszynie wirtualnej gościa Windows bez względu na jej dostępność. W efekcie nie pozostawia to nic innego do użycia. ESXi następnie pokroi czasowe fizyczne procesory, aby inne rzeczy mogły również działać. To ograniczenie czasu tak naprawdę nie wpływa na Untangle ani ESXi, ponieważ działają one dokładnie tak, jak muszą, kiedy muszą działać. Wpływa na maszynę wirtualną z systemem Windows, ponieważ gdy próbuje coś zrobić, zostaje zatrzymana w połowie przez szereg krótkich odstępów czasu przez program planujący ESXi. Mała przerwa tutaj lub tam nie jest zauważalna, ale zdarza się to wiele razy w ciągu sekundy, co może wyjaśniać, dlaczego maszyna wirtualna z systemem Windows jest czasami tak powolna.

Twój współpracownik nie miał racji w diagnozowaniu twojej maszyny, ponieważ ma tylko jedno gniazdo i jeden procesor, chociaż jego zalecana rozdzielczość była krokiem we właściwym kierunku. Odliczanie wirtualnego procesora od 3 do 2 pomogło, ponieważ „nadmiernie zainwestowano” zasoby procesora. Zasadniczo twoja konfiguracja w odniesieniu do rezerwacji procesora jest również wywoływana pod tą samą nazwą. Aby rozwiązać ten problem, musisz przenieść rezerwację do około 1000 MHz i ustawić limit procesora na około 3000-3800 MHz. Może to nie rozwiązać wszystkich problemów związanych ze spowolnieniem, ale powinno pomóc.

Źródła:

[1] http://ark.intel.com/products/27250/Intel-Core2-Duo-Processor-E6600-4M-Cache-2_40-GHz-1066-MHz-FSB
[2] http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vsphere.install.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
[3] http://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.vsphere.resmgmt.doc%2FGUID-DFFA3A31-9EDD-4FD6-B65C-86E18644373E.html
[4] http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf
вʀаᴎᴅᴏƞ вєнᴎєƞ
źródło
Wyjaśnienie + szczerze. Bardzo dziękuję za poświęcenie czasu na napisanie tej odpowiedzi. Pomogło mi to na pewno zrozumieć, jak działa ESX i alokacja zasobów, i na pewno pomoże mi rozwiązać problem z moim serwerem. Mimo że nie testowałem jeszcze zmian, zaznaczam to jako odpowiedź, ponieważ pomogło mi to znacznie bardziej, niż chciałem. Dzięki jeszcze raz!
Louis
@louis Nie ma za co, mam nadzieję, że to pomoże.
Wideo od