Czy sprzętowa macierz RAID1 oferuje znaczącą przewagę nad programową macierzą RAID w wysoce nadmiarowym klastrze komputerowym?
Mam zamiar utworzyć klaster Linux składający się z 5 fizycznych węzłów serwerów (być może więcej węzłów zostanie dodanych później).
- klaster będzie zarządzany Proxmox http://www.proxmox.com/(i tak to działa w programowym RAID)
- pamięć współdzielona zostanie zaimplementowana z Gluster http://www.gluster.org/w nadmiar konfiguracja z każdym fizycznym serwerem zawierającym cegiełkę (aby dane były redundantnie dostępne ze wszystkich maszyn)
- Klaster Percona XtraDB http://www.percona.com/softwar ... usterbędzie używana jako główna baza danych z wieloma wzorcami - ponownie z danymi współdzielonymi przez wszystkie fizyczne maszyny
- każda maszyna będzie miała dwa dyski twarde po około 2-3 TB każdy w konfiguracji RAID1
- wszystkie maszyny zostaną umieszczone w dużym centrum danych z redundantnym zasilaniem itp.
- można zobaczyć specyfikacje serwera Tutaj https://www.hetzner.de/uk/host ... px120
- celem całego klastra jest dystrybucja obciążenia + zapewnienie wysokiej dostępności. Maszyna może ulec awarii w dowolnym momencie, nie powodując problemów dla całego systemu.
Pozostaje jeszcze jedna decyzja, czy użyć
oprogramowanie RAID1
lub
sprzętowy RAID1 + BBU
.
Software RAID to rozwiązanie, które bardzo dobrze znam (zarządzam wieloma serwerami od 15 lat i wiem, jak działają narzędzia). Nigdy nie miałem z tym większych problemów (głównie awaria dysku twardego). Oto powody
Wolę oprogramowanie RAID
.
To, co mi się nie podoba w sprzętowych macierzach RAID, to niekompatybilność między producentami kontrolerów i mój brak doświadczenia z nimi: różne opcje konfiguracji, różne metody monitorowania, różne narzędzia - złe przeczucie podczas budowania systemu klastrowego.
Wiem, że przy użyciu sprzętowej macierzy RAID BBU można
szybki
i
niezawodny
(pisz przez pamięć podręczną). Ponieważ jednak wszystkie dane będą przechowywane w wysoce nadmiarowym klastrze, moim pomysłem jest
użyj oprogramowania RAID1 i
wyłącz bariery w systemie plików
https://access.redhat.com/docu ... .html
aby zwiększyć wydajność zapisu. Spodziewam się, że to się skończy
podobna wydajność jak sprzętowy RAID1
... Oczywiście narażam się na utratę danych ze względu na ulotną pamięć podręczną zapisu, jednak IMHO i tak powinno to załatwić mechanizmy klastrowe (cała maszyna powinna być w stanie odzyskać dane z innych węzłów po awarii).
Nie martwię się o zasoby procesora wymagane do wdrożenia programowego RAID.
Czy moje przypuszczenie jest prawidłowe, czy też brakuje mi ważnego szczegółu, który pomoże mi dokonać właściwego wyboru?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Jednak w twojej konfiguracji zakładam, że nadmiarowość jest na poziomie węzła, a nie na poziomie dysku. Jeśli węzeł ulegnie awarii z jakiegokolwiek powodu (procesor, zasilacz, kontroler RAID itp.), Węzeł ten opuści klaster i zostanie jak najszybciej zastąpiony przez nowy lub odnowiony węzeł, a następnie dane zostaną przywrócone z klastra , a nie z nalotu. Powiedziawszy to, pytanie brzmi, czy naprawdę potrzebujesz RAID w ogóle!
Można powiedzieć: „Moja baza danych jest w większości czytelna, RAID 1 z grubsza podwoi przepustowość, ponieważ odczyty mogą być dystrybuowane na oba dyski”. Należy jednak pamiętać, że awaria dysku, po której następuje wymiana tego dysku i odbudowa macierzy RAID, tymczasowo zmniejszy prędkość odczytu w tym węźle do poziomu jednego dysku. Jeśli twoja baza danych nie może w inteligentny sposób rozdzielić ruchu między nierówne węzły, przekazując mniejszy ruch do wolnych węzłów, to całe obciążenie, które może obsłużyć baza danych, spadnie do połowy normalnej wartości! Może to zmusić Cię do całkowitego wykluczenia węzła z uszkodzonym dyskiem z bazy danych, mimo że jest zajęty odbudowywaniem wewnętrznej macierzy RAID. Ale to sprawia, że RAID jest praktycznie bezużyteczny.
Alternatywą jest nie używanie żadnego rodzaju macierzy RAID, ale umożliwienie każdemu węzłowi połączenia się z bazą danych dwukrotnie, raz na każdy dysk. Zwiększa to obciążenie procesora, ale jeśli dysk jest Twoim czynnikiem ograniczającym, to kogo obchodzi czas procesora? A jeśli dysk ulegnie awarii, ten półwęzeł przechodzi w tryb offline i ponownie łączy się po wymianie dysku. W ten sposób obciążenie zostanie rozłożone na wszystkie dyski.
Jeśli masz duże obciążenie zapisu, oddzielne rozwiązanie dyskowe zapewni dwukrotnie większą przepustowość niż RAID 1.
W związku z tym jedynym powodem, aby nadal myśleć o jednostkach BBU, jest to, że wymagania dotyczące opóźnienia są tak małe, że nie możesz czekać, aż dane fizycznie trafią na dysk. W przypadku awarii zasilania BBU zapewni rejestrację danych. Ale są alternatywy, a mianowicie moduły pamięci podręcznej SSD, takie jak dm-cache lub bcache. W trybie zapisu zwrotnego najpierw zapisują dane na dysku SSD, co jest znacznie szybsze niż zapis na dysk, a następnie zatwierdzają zapis. Nawet po awarii zasilania będą poprawnie odczytywać bloki z dysku SSD. dm-cache i bcache są dostarczane ze wszystkimi najnowszymi jądrami Linuksa, a mały (np. 64 lub 128 GB) serwerowy dysk SSD (!!) jest nadal tańszy niż kontroler BBU RAID.