Co się stanie, gdy fizyczna maszyna ulegnie awarii w środowisku wirtualnym? [Zamknięte]

12

Zaczynam od wirtualizacji, więc proszę o cierpliwość.

W środowiskach wirtualnych aplikacje działają w warstwie hiperwizora. Tak więc na jednej maszynie fizycznej może być wiele maszyn wirtualnych z wieloma aplikacjami.

Jak na razie dobrze?

Co się stanie, gdy fizyczna maszyna ulegnie awarii? Czy nie spowodowałoby to awarii wielu aplikacji z jednego komputera?

Szukam rozwoju chmury prywatnej za pomocą OpenStack , ale najpierw chcę w pełni zrozumieć wirtualizację.

szeryf
źródło

Odpowiedzi:

14

Specyfika zależy od tego, jakiego dokładnie rozwiązania wirtualizacji używasz, ale chodzi o to, że masz wirtualną farmę, w której jest wiele fizycznych hostów z kilkoma maszynami wirtualnymi. Następnie wykorzystujesz część wydajności, którą zyskałeś, nie potrzebując fizycznego hosta dla każdej maszyny wirtualnej, dzięki czemu masz wystarczająco dużo narzutu do pokrycia w przypadku awarii fizycznej maszyny.

Ponadto można zlokalizować dyski VHD dla każdej maszyny wirtualnej we wspólnej (nadmiarowej) sieci SAN. Hiperwizory na każdym hoście fizycznym można ustawić tak, aby ze sobą rozmawiały i dzieliły pamięć z różnych maszyn wirtualnych. Występuje pewne opóźnienie i duża część pamięci zostanie utworzona przez dysk, ale jeśli jeden z hostów fizycznych ulegnie awarii, nie będziesz nawet czekać na ponowne uruchomienie maszyn wirtualnych z tego hosta. Zamiast tego te maszyny wirtualne zostaną automatycznie rozdzielone między pozostałe hosty. Ostatecznym celem jest, aby maszyny te odbierały niemal z miejsca, w którym zostały przerwane, w ogóle bez przestojów. W pewnym sensie wszystkie maszyny wirtualne są już uruchomione na co najmniej dwóch fizycznych hostach. W praktyce obecnie hiperwizory mogą wykonywać tego rodzaju migrację tylko jeden komputer na raz, gdy wiedzą, że nadchodzi, zanim host ulegnie awarii ... ale nie popełnij błędu: natychmiastowa migracja po awarii sprzętu jest ostatecznym celem wszystkich głównych hiperwizory.

Dlatego czasami widzisz serwer zwirtualizowany na jednym fizycznym hoście w farmie. Możesz nie uzyskać żadnej wydajności sprzętowej (możesz nawet stracić trochę wydajności), ale nadrabiasz to spójnością zarządzania i wbudowaną wysoką dostępnością.

Joel Coel
źródło
dziękuję za odpowiedź joel ... Mam 2 pytania ... czy środowisko wirtualne postrzega maszyny fizyczne jako pojedynczą pulę zasobów? czy to pomaga zaspokoić samoobsługę na żądanie? Czy witalizacja pomaga również w wykorzystaniu zasobów?
Sherif
1
@Sherif: Zasadniczo tak i tak. Jeśli chcesz to zrozumieć bardziej szczegółowo, zapoznaj się z artykułem w Wikipedii , krótko opisuje migrację VM i przełączanie awaryjne. Jeśli nadal masz pytania, zadaj bardziej szczegółowe pytanie.
śleske,
1
Czy jesteś pewien części współdzielonej pamięci? Z mojego zrozumienia, awaria maszyny wirtualnej z powodu awarii sprzętu zostanie ponownie uruchomiona na innym hoście. Może to być postrzegane jako pełne ponowne uruchomienie lub przywrócenie punktu kontrolnego, w zależności od konfiguracji hiperwizora, ale pierwotnego stanu pamięci nie można odzyskać. Dla vspere: vmware.com/products/vsphere/features/high-availability Na marginesie, niektóre projekty zostały uruchomione dla KVM, aby umożliwić prawdziwie współdzieloną, nadmiarową pamięć wśród kolekcji hostów sprzętowych , ale zostały one porzucone.
shodanshok
1
Migracja maszyn wirtualnych może nastąpić tylko wtedy, gdy fizyczna maszyna ma szansę przenieść kontrolę przed upadkiem. Jeśli fizyczna maszyna zawiedzie bezceremonialnie, maszyna wirtualna będzie musiała zostać ponownie uruchomiona na innej maszynie. Jeśli masz serwer bezstanowy, ten proces przesyłania jest trywialny, ponieważ możesz po prostu uruchomić inną maszynę. W przypadku komputerów ze stanami trwałymi potrzebny jest schemat umożliwiający odzyskanie trwałych danych z uszkodzonej maszyny fizycznej.
Lie Ryan,
13

Wszystkie serwery wirtualne działające na hoście fizycznym przejdą w tryb offline, jeśli wystąpi jakaś awaria.

To powiedziawszy, większość platform oferuje rozwiązanie wysokiej dostępności dla pojedynczej maszyny wirtualnej. Innym razem system składa się z wielu węzłów, aby zapobiec zakłóceniom usługi w przypadku awarii jednego węzła.

Jeśli dwa węzły maszyny wirtualnej stanowią wysoce dostępną usługę, można skonfigurować hiper visor, aby upewnić się, że dwa węzły nie są zależne od tej samej infrastruktury fizycznej (odporność na awarie). Może to być coś więcej niż tylko fizyczna odporność na awarie serwera, w tym różne ścieżki sieciowe, aż do geograficznie odmiennej lokalizacji.

blaughw
źródło
2
Na przykład AWS, w zależności od usługi, replikuje usługę we wszystkich strefach dostępności (obszarach fizycznych) na wypadek klęski żywiołowej w tym obszarze, która zakłóci działanie komputerów fizycznych.
Michael Bailey,
czy środowisko wirtualne postrzega maszyny fizyczne jako pojedynczą pulę zasobów? czy to pomaga zaspokoić samoobsługę na żądanie? Czy witalizacja pomaga również w wykorzystaniu zasobów? i bardzo dziękuję za wysiłki
Sherif
5

Masz rację, zakładając, że jeśli fizyczna maszyna ulegnie awarii, maszyny wirtualne staną się niedostępne.

Ale openstack może się tym zająć i uruchomić maszyny wirtualne uszkodzonego serwera fizycznego na innym serwerze lub możesz użyć systemu hiperwizora, który jest już rozproszony, myślę, że vsphere może to zrobić.

Aby uzyskać więcej informacji, przeczytaj dokumentację OpenStack na temat HA .

Henrik Pingel
źródło
2

Jeśli chodzi o twoje pytanie - tak, utracisz dostęp do wszystkich maszyn w tym fizycznym hoście. Oczywiście zależy to od tego, który komponent zawiódł. Jeśli jest to dysk - to rodzaj problemu, jeśli to płyta główna - jest o wiele łatwiejszy. Zasadniczo odzyskiwanie sprzętu jest łatwiejsze, ponieważ funkcja hypervisor jest niezależna od sprzętu. W tej chwili istnieje wiele technologii specyficznych dla dostawców, których możesz użyć, aby mieć wysoce dostępne usługi.

Pule zasobów (vmware) - NIE są w stanie agregować wielu fizycznych zasobów hosta (procesor, pamięć itp.), Jak ktoś wspomniano powyżej, więc jeśli masz 2 hosty fizyczne (powiedzmy, że 1CPU quad rdzenie bez hyperthreading - 8 GBRAM każdy) NIE będzie można tam mieć maszynę wirtualną 5vCPU-12Gb. Pule zasobów są logiczne, nie są w stanie tworzyć systemów superkomputerowych. W tej chwili jest to sposób kontrolowania wykorzystania zasobów.

Dostępność (vmware) - możliwe jest użycie technologii takich jak High Availability (HA), które pozwalają na automatyczne odzyskiwanie (na podstawie mojego doświadczenia w ciągu 1-2 minut ) wszystkich maszyn wirtualnych w klastrze automatycznie, JEŻELI korzystasz z macierzy pamięci masowej (NAS, iSCSI, FC) i przechowuj tam wszystkie pliki VM. Co więcej, HA działa tylko w przypadku awarii procesora, pamięci RAM, płyty głównej, jest oczywiste, że nie będzie działać w przypadku awarii macierzy pamięci. Aby zapobiec awariom RAID / kontrolerów, ludzie używają replikacji, dublowania jednostek LUN pamięci masowej itp.

Jeśli odzyskiwanie w ciągu 1-2 minut nie jest opcją, istnieją technologie takie jak Fault Tolerance (FT), które pozwalają osiągnąć ZERO przestojów maszyny wirtualnej w przypadku awarii poprzez przechowywanie (działającej) kopii skonfigurowanej maszyny wirtualnej w tle. Ale ta technologia ma również wiele ograniczeń - problem odporności maszyn wirtualnych z wieloma procesorami vCPU nie jest w pełni rozwiązany.

Ogólnie rzecz biorąc, każde rozwiązanie zależy od celu.

Dmitrij Savinkov
źródło