Czy można połączyć jedną ogromną maszynę wirtualną na kilku fizycznych serwerach towarowych?
Oto nasz przypadek użycia:
- Musimy wdrożyć 32-procesorowy serwer db z 64 GB pamięci RAM
- Nie mamy fizycznego serwera o takiej pojemności
- Mamy wiele serwerów z mniejszymi zasobami.
Czy istnieje technologia lub (lepszy) produkt, który pozwala nam wykorzystać te serwery do stworzenia maszyny wirtualnej o wymaganej pojemności? Powiedzmy, czy jesteśmy w stanie połączyć 8 fizycznych 4-procesorowych maszyn z 8 GB pamięci RAM w jedną 32-procesorową „jednostkę logiczną” z 64 GB pamięci RAM i skonfigurować serwer Oracle, który wykorzystuje całą tę pojemność?
Przed opublikowaniem tego pytania czytaliśmy podobne pytania, ale nie znaleźliśmy odpowiedzi.
- Połącz kilka serwerów fizycznych w 1 serwer wirtualny
- Przetwarzanie w chmurze - wiele komputerów fizycznych, jeden komputer logiczny
Może ktoś mógłby nam teraz podpowiedzieć?
virtualization
użytkownik54614
źródło
źródło
Odpowiedzi:
Istnieje komercyjny produkt firmy ScaleMP o nazwie vSMP. Pozwala agregować wiele systemów x86 w jedną instancję wirtualną. Nigdy wcześniej tego osobiście nie próbowałem, ale przeszedłem od nich prezentację. Jeśli dobrze pamiętam, istnieją określone wymagania, aby to zadziałało i trzeba będzie uzyskać dodatkowy sprzęt (Infiniband dla szybkich połączeń o niskim opóźnieniu). Może to również kosztować całkiem grosza!
źródło
Nie ma sposobu, aby uzyskać dokładnie taką samą funkcjonalność jak pojedyncza maszyna z 32 procesorami ... z kilkoma oddzielnymi serwerami. Najlepiej jest spojrzeć na klastrowanie lub przetwarzanie sieciowe. Zrobione dobrze, możesz uzyskać porównywalną wydajność ... i wyższy poziom wysokiej dostępności. Wiele pytań zależy również od typu „db”. Microsoft SQL Server działa znacząco inaczej niż MySQL lub Oracle ... a skalowalność odbywa się również zupełnie inaczej.
Alternatywnie ... możesz rozważyć zezwolenie komuś na wykonanie bazy danych za Ciebie ... na przykład za pomocą EC2 RDS ...
Niestety, nie ma sposobu, aby połączyć kilka fizycznych serwerów razem i uderzyć w nich vmware i uzyskać wyjątkowy wirtualny serwer o potężnej mocy.
źródło
„TheCompWiz” pożytecznie odpowiedział na twoje pytanie.
Nadal chciałbym powiedzieć, że tak, można zbudować hiperwizor, który pozwoli jednej maszynie wirtualnej na kilka hostów fizycznych i może uruchomić tę maszynę wirtualną „poprawnie” tam, gdzie wszystko działa.
Ale nawet przy naprawdę dobrych, szybkich sieciach między fizycznymi hostami, wydajność takiej rzeczy byłaby naprawdę okropna, działając znacznie wolniej niż mniejsza VM, która mieści się w jednym z tych hostów. Trzeba będzie symulować właściwości koherencji pamięci podręcznej pojedynczej maszyny wirtualnej, przechwytując każdy odczyt lub zapis pamięci zapisany przez system operacyjny gościa i aplikację, co zwiększy koszt dostępu do pamięci przez tysiące, jeśli nie miliony.
Więc żaden sprzedawca komercyjny hypervisor nie umożliwia takiej rzeczy. Próbowano w laboratorium. Nikt nie zadał sobie trudu, aby zrobić z niego produkt.
Aby jeszcze raz podkreślić ten punkt, spójrz na rozwiązanie klastrowe.
źródło
VMWare ma. Nosi nazwę DRS lub Distributed Resources Scheduler. Pozwala łączyć zasoby 16 serwerów. Następnie możesz podzielić tę sumę na jedno lub więcej środowisk wirtualnych.
źródło