Uruchamianie serwera plików Linux * jako * maszynę wirtualną kontra * w * maszynie wirtualnej [zamknięte]

1

To jest ostatecznie pytanie o to, jak zoptymalizować fizyczny>> ruch maszyny wirtualnej. Znalazłem pewną liczbę postów, które są w jakiś sposób powiązane, ale nic (jeszcze?) Nie wydaje się bezpośrednio na nie reagować. Możesz wskazać i zrzucić winę, jeśli nie będę wystarczająco dobrze szukać ... ;-)

Mój fizyczny sprzęt składa się z pół tuzina 2 TB pamięci masowej, 8-rdzeniowej / 32 GB płyty supermicro Xeon i kilku stosunkowo szybkich dysków SSD SATA.

W tej chwili mam jedną fizyczną maszynę, która działa jako dedykowany serwer plików, działający pod kontrolą Ubuntu i ext4 przez MDADM w trybie raid5. To naprawdę jedyna „ważna” maszyna w mojej konfiguracji, ponieważ jest to moja lokalna domowa kopia zapasowa, a także służy jako rodzaj serwera obliczeniowego do transkodowania filmów i innych podobnych rzeczy. Mam też kilka innych małych maszyn linuxowych, których używam do losowych, w większości nieistotnych rzeczy - często je odbudowuję, a jeśli się zepsują, nie obchodzi mnie to, ponieważ ważne dane znajdują się na serwerze plików. Mam też dwie starsze maszyny z systemem Windows, które chciałbym częściowo zwirtualizować, aby zaoszczędzić miejsce / energię, ale równie mocno, aby uzyskać dostęp do sprzętu o znacznie wyższej wydajności.

Chciałbym przenieść serwer plików do nowszej dystrybucji Linuksa, a także przenieść większość pamięci do systemu plików opartego na ZFS. Znam ESXi ze środowiska pracy, ale tam nie zarządzam pamięcią, więc ta część jest dla mnie trochę nieprzejrzysta. Próbuję wymyślić, jak obsługiwać pamięć masową w tej konfiguracji. Widzę przynajmniej te opcje:

  • uruchom Linux na boso. Skonfiguruj tę maszynę jako serwer plików, z ZFS skonfigurowanym na dyskach fizycznych, tak jak na każdym innym komputerze. Następnie uruchom KVM na tym komputerze i stamtąd hostuj maszyny wirtualne.
  • uruchom Linux na boso, uruchom KVM tam i użyj tego wystąpienia jako po prostu hiperwizora. Stamtąd zbuduj maszynę wirtualną, która uruchamia serwer plików i inne maszyny wirtualne dla wszystkich innych maszyn. W takim przypadku potrzebuję pomocy w ustaleniu, w jaki sposób udostępnię pamięć dla maszyny Wirtualnej serwera plików ZFS /. Czy po prostu przekazuję wszystkie te dyski do serwera ZFS? Uniemożliwiłoby to innym maszynom wirtualnym korzystanie z tego miejsca lub musiałyby się podskakiwać kilka razy, gdyby były hostowane gdzie indziej.

  • uruchom ESXi na boso i uruchom jedną maszynę wirtualną jako serwer plików, a drugą dla innych maszyn wirtualnych. Tutaj mają zastosowanie głównie te same pytania dotyczące sposobu udostępnienia pamięci masowej serwerowi plików. Czy wydajność może być lepsza w ESXi vs. KVM? Co powiesz na rozszerzenie przestrzeni dyskowej w przyszłości? Jestem pewien, że są inne rzeczy, których nie rozważam ... ale co to za inne?

ljwobker
źródło
Jedynym sposobem, w jaki mógłbym uruchomić coś takiego jak Samba na maszynie wirtualnej, jest uruchomienie hiperwizora typu 1 i skonfigurowanie woluminów w sieci SAN, w przeciwnym razie korzyści wynikające z innej konfiguracji nie byłyby zmniejszone przez ryzyko problemów powodując, że pliki w udziale plików są niedostępne
Ramhound,
1
Należy pamiętać, że ZFS powinien mieć bezpośredni dostęp do całych dysków w celu uzyskania optymalnej wydajności i niezawodności. Który pozostawia Ci albo uruchomienie ZFS na hoście, albo przechodzenie przez całe dyski. Generalnie sugeruję uruchomienie ZFS na hoście - stamtąd możesz uruchomić KVM lub spojrzeć na rozwiązania kontenerowe takie jak LXD (które zmniejszają obciążenie w porównaniu do tradycyjnych pełnych maszyn wirtualnych). Niestety, cała ta sprawa staje się raczej oparta na opiniach (a zatem źle dopasowana do pytań i odpowiedzi) - ale chętnie omówię dalej na czacie .
Bob

Odpowiedzi:

0

ESXi może korzystać z lokalnej pamięci, instalacji NFS lub jednostki iSCSI LUN. Jeśli zainstalujesz ESXi na czystym metalu, może on uzyskać dostęp do lokalnej pamięci, w której po prostu utworzysz jeden lub więcej magazynów danych (z którymi powinieneś się zapoznać, jeśli używasz ESX w pracy). ESXi ma jedno poważne zastrzeżenie, że jest dość wybredny w kwestii obsługiwanych kart sieciowych. Jeśli nie masz karty Intel lub Broadcom, prawdopodobnie nie zadziała (ponieważ w ESXi nawet go nie rozpozna). Przed przejściem w tym kierunku sprawdź zgodność sprzętu. Należy również sprawdzić, czy karta RAID jest obsługiwana. Jeśli karta NIC lub RAID nie jest obsługiwana, byłby to showstopper w zakresie opcji ESXi.

Nie znam KVM, więc nie mogę komentować ESXi vs KVM ani żadnych kroków konfiguracji KVM.

Charles Burge
źródło
0

Już prawie to rozgryzłeś. Wszystkie trzy alternatywy są realne.

  • Opcje 2 i 3 są zasadniczo takie same z różnymi wariantami, ponieważ ESXi to tylko dystrybucja Linuksa z oprogramowaniem do wirtualizacji (mniej więcej równa innej dystrybucji Linuksa z KVM). Główną różnicą między nimi jest administracja / konserwacja (na przykład ESXi ma narzędzia takie jak vSphere do zarządzania hostem, KVM ma różne narzędzia) i wsparcie dla niektórych funkcji (na przykład niektóre karty Nvidia są certyfikowane do pracy jako wirtualne GPU, podczas gdy prawie wszystkie Karty AMD działają z ESXi, podczas gdy KVM może mieć szersze wsparcie, ale może być trudniejsze do uruchomienia, sądząc z samouczków w Internecie).

  • Różnica między 1 a 2/3 polega na tym, że pierwszy jest mniej skomplikowany (w odniesieniu do liczby posiadanych warstw), ale bardziej zintegrowany (co oznacza, że ​​nie można łatwo zastąpić magazynu czymś innym, nie że nie byłoby takiej potrzeby. ..).

Sugeruję zrobienie tego, co ma wszystkie funkcje, których potrzebujesz, i czujesz się najlepiej. Osobiście sugerowałbym ESXi, ponieważ cenię przewidywalność i stabilność i uważam, że takie systemy powinny działać przez wiele lat bez potrzeby zmiany systemu podstawowego (oczywiście poza aktualizacjami zabezpieczeń). Gdybym miał wybrać KVM, wybrałbym zatem dystrybucję z długoterminowym wsparciem od 5 do 7 lat.

użytkownik121391
źródło