Jak skonfigurować obsługę RAID SSD i TRIM?

9

Chcę skonfigurować nowy serwer. Mogę używać wyłącznie dysków SSD MLC Intel 520 Series 240 gb lub standardowych dysków Seagate 7200 rpm.
Są to niezbywalne opcje.

Oczywiście, ponieważ będzie to działało MySQL, a jego podstawowym zadaniem będzie serwer MySQL. Jako największe wąskie gardło w wydajności we / wy dysków, wolałbym używać dysków SSD.

Muszę mieć prawie 1 TB miejsca na dysku. Teraz RAID5 nie daje najlepszej wydajności i podobno nie są najlepsze dla dysków SSD, więc patrzę na konfigurację Raid 10 (1 + 0), która dałaby mi 720 GB (240 GB * 3)

Muszę wiedzieć, jak mogę to skonfigurować w Ubuntu 12.04.01 LTS przy użyciu raidu programowego i upewnić się, że obsługa TRIM (odrzucam, myślę, że jest wywoływana w Linuksie) jest włączona dla konfiguracji raidu.

Czy ktoś nie zrobił tego pomyślnie? Wszelkie informacje na temat howto i rzeczy, na które należy uważać, i w zasadzie, jakich narzędzi użyć itd., Byłyby bardzo pomocne.

Idealnie powinienem być w stanie uruchomić system RAID RAID.

Czy ktoś może skierować mnie we właściwym kierunku?

Dzięki.

Rumak
źródło
1
Niedawno wystąpił duży problem przy korzystaniu z TRIM na SSD w RAID. Błąd sprawił, że TRIM wyzerował losowo aktywne pliki. Mówi się, że dotyczy to tylko dysków SSD Samsung, ale AFAIK, ponieważ testowano tylko dyski SSD Samsung. W tym celu zdecydowanie sugeruję zastanowienie się nad użyciem BTRFS RAID10 zamiast mdadmlub LVM.
Barafu Albino

Odpowiedzi:

4

Odpowiedź brzmi „to zależy” i powinieneś naprawdę zrozumieć, co robi TRIM, zanim utrzymasz tak nieelastyczną pozycję.

http://www.spinics.net/lists/raid/msg39641.html

MD RAID potrzebuje szczególnego wsparcia do przesyłania żądań DISCARD, które nie zostało nawet zaproponowane do wersji 3.6, dlatego wsparcie nie będzie w dokładnym jądrze. Właśnie spojrzałem, nie ma go tam.

https://lkml.org/lkml/2012/3/11/261

Dyski SSD są ładne, ale są najbardziej opłacalne w połączeniu z magnetycznym magazynowaniem o wysokiej prędkości obrotowej. Na przykład użyj macierzy RAID 1 SSD do przechowywania dziennika systemu plików, gdy system plików jest wspierany przez RAID 10 składający się z dysków 15K.

http://insights.oetiker.ch/linux/external-journal-on-ssd/

Im wyższe RPMS, tym krótszy jest twój najgorszy czas wyszukiwania, losowe obciążenia IO korzystają najwięcej ze sklepów z dużymi RPM. SQL może intensywnie zapisywać, więc wszelkie obliczenia parzystości są złym pomysłem, np. RAID 4 i 5.

Organizacja macierzy RAID i systemu plików jest tak samo ważna jak magazyn kopii zapasowych.

Zawsze możesz przyciąć dyski ręcznie, co tydzień można rozpocząć, powinieneś zaobserwować, jaki wpływ ma wydajność, zanim zaczniesz częściej. Och, wypalą się, więc dobrym pomysłem byłoby oszacowanie liczby cykli zapisu / usuwania dysków SSD i obsługiwanie macierzy RAID 1 pojedynczo.

https://wiki.archlinux.org/index.php/Solid_State_Drives#Apply_TRIM_via_cron

ppetraki
źródło
4

Wiem, że ostatnio jestem tym Johnnym, ale chciałbym sprawdzić, czy mogę rzucić nieco światła na to dla każdego, kto szuka.

Po pierwsze, odpowiedź @ ppetraki jest doskonała.

Krótka odpowiedź na „Czy mogę RAIDować dyski SSD i uruchamiać je z nich” brzmi „Tak!”. Oto instrukcje dla 14.04. Instrukcje konfiguracji macierzy RAID w wersji 12.04.x ​​są identyczne, ale ten samouczek z użyciem wersji 9.10 zawiera obrazy. Oto kilka ważnych błędów i szczegółów, które musiałem odkryć na własnej drodze:

Używam Ubuntu 12.04.5 z jądrem 3.8 na konfiguracji MD RAID0 i przyjaznym dla SSD systemie plików Btrfs. Prowadzę fstrim jako cron cotygodniowy.

Moje dodatkowe opcje montowania Btrfs z fstab:

defaults,ssd,ssd_spread,space_cache,compress=no,noatime

Jądro 3.8 jest wymagane, jeśli chcesz użyć go compress=nojako opcji montowania Btrfs i może być również wymagane do użycia fstrimpolecenia ręcznego przycinania używanego do zaplanowanego przycinania.

Musisz także ręcznie wyrównać partycje (w dowolnej konfiguracji wielopartyjnej, rajdowej lub nie) na dyskach SSD PRZED uruchomieniem do instalatora, ponieważ w zależności od rozmiaru strony dysku SSD tylko pierwsza partycja zostanie poprawnie wyrównana (zajęło mi to trochę czasu aby go złapać), co może poważnie wpłynąć na żywotność dysku. Możesz to zrobić z wiersza polecenia w instalatorze lub z dysku USB na żywo przed próbą instalacji. Uwaga: Zrób matematykę sam. Fdisk będzie kłamał na temat wyrównania.

Dalsza lektura: Myślę, że Btrfs może nawet tworzyć własne tablice rajdowe .

W odniesieniu do TRIM:

Jest to prawdopodobnie niepotrzebne dzięki nadmiernej kontroli

14.04 jest pierwszą wersją, która włącza obsługę TRIM od razu po wyjęciu z pudełka, ale jest łatwa do włączenia w poprzednich dystrybucjach, pod warunkiem, że używasz jądra 2.6.33+.

W zależności od wybranego systemu plików, możesz włączyć przycinanie / odrzucanie , edytując fstab i ustawiając odpowiednią opcję montowania. Różnica między zrobieniem tego a uruchomieniem go za pomocą crona polega na tym, że pierwszy przycina / odrzuca w locie, a drugi robi to w kawałku zgodnie z harmonogramem. Używam drugiego.

Czy to ma znaczenie? Podobno odrzucanie online (przy użyciu opcji montowania) nie jest wspaniale zaimplementowane i jest powolne, więc „nie jest zalecane”. Mogę powiedzieć, że moje lampki „hdd” (hehe) szaleją na 10-20 minut, gdy cotygodniowe zadanie cron działa, ale czas reakcji systemu operacyjnego jest prawie całkowicie niezmieniony.

Ładowanie z tablicy

Chociaż nie widzę tego w szybkim skanu instrukcji Ubuntu 14.04, musiałem utworzyć dodatkową partycję podstawową, która NIE jest częścią moich tablic rajdowych. Dysk 0 ma 500 MB partycji podstawowej ext3fs. Podczas instalacji powiedziałem instalatorowi, że ma być zamontowany w „/ boot” i ustawiłem flagę rozruchową. Program ładujący jest następnie instalowany tutaj, aby system operacyjny mógł uruchomić, a następnie zamontować RAID. Pozostałe miejsce na dysku 0 jest podzielone na 2 partycje, które są później używane dla tablic MD, które stają się „/” i „/ swap”. Dysk 1 ma tę samą, ale bez partycji rozruchowej. Ponadto utworzyłem swap tylko na wypadek, gdy będę go kiedyś potrzebować, a btrfs nie obsługuje plików wymiany. Ta partycja nigdy nie jest montowana; po instalacji skomentowałem to w moim fstab.

Wybacz wszystkie zmiany, starając się to wszystko udostępnić.

Darth Cookie
źródło
Dziękuję za te wnikliwe informacje. Wypróbuję to przy następnym wdrożeniu systemu
Steed