Jaka jest różnica między tworzeniem tablicy mdadm przy użyciu partycji lub całych dysków bezpośrednio

26

Czy ktoś może mi wyjaśnić, jaka jest różnica między tworzeniem mdadmtablicy przy użyciu partycji lub całych dysków bezpośrednio? Załóżmy, że zamierzam korzystać z całych dysków. Pamiętaj, że są z GPT.

Wyobraź sobie RAID6 utworzony na dwa sposoby:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

lub:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Czy jest jakaś różnica?

EDYCJA 1: Mam na myśli np. Niezawodność lub zarządzanie lub operacje odzyskiwania na takich tablicach itp.

EDIT2: Używam dysków różnych producentów. Ale tak naprawdę nie jest to pytanie. Wszystkie mają dokładnie taki sam rozmiar, ale mam na myśli to, że mogą istnieć producenci, którzy produkują dyski nieco inne. Ale ze względu na to pytanie, załóżmy, że mają ten sam rozmiar.

EDIT3: Rodzaj wyłączenia odpowiedzialności: Jak dotąd zawsze dzielę dyski na partycje.

LinuxSecurityFreak
źródło
2
Zawsze byłem tym ciekawy, ale nigdy nikogo nie pytałem. Jedną z różnic, jakie widzę, jest użycie partycjonowanych dysków (sda1 itp.), Które otrzymujesz trochę mniej miejsca na dysku (część KB), ponieważ GPT rezerwuje trochę miejsca na informacje o partycjach.
GMaster

Odpowiedzi:

25

Najważniejszą różnicą jest to, że pozwala zwiększyć elastyczność wymiany dysku. Bardziej szczegółowo opisano go poniżej wraz z szeregiem innych zaleceń.

Należy rozważyć użycie partycji zamiast całego dysku. Powinno to być zgodne z ogólnymi zaleceniami dotyczącymi konfigurowania macierzy i może z pewnością zaoszczędzić ci pewnych problemów w przyszłości, gdy konieczna będzie dalsza wymiana dysku.

Najważniejsze argumenty to:

Dyski różnych producentów (lub nawet różne modele o „tej samej” pojemności tego samego producenta) niekoniecznie mają dokładnie taki sam rozmiar dysku, a nawet najmniejsza różnica rozmiaru uniemożliwi wymianę uszkodzonego dysku na nowy jeśli drugi jest mniejszy niż pierwszy. Partycjonowanie pozwala na obejście tego;

Uwaga dodatkowa na temat używania dysków różnych producentów: dyski ulegną awarii, nie jest to kwestia „jeśli”, ale „kiedy”. Dyski tego samego producenta i tego samego modelu mają podobne właściwości, a tym samym większe prawdopodobieństwo niepowodzenia razem w tych samych warunkach i czasie użytkowania. Sugeruje się, aby używać dysków różnych producentów, różnych modeli, a szczególnie, które nie należą do tej samej partii (rozważ kupowanie w różnych sklepach, jeśli kupujesz dyski tego samego producenta i modelu). Nierzadko zdarza się, że drugi awaria dysku występuje podczas resotre po wymianie dysku, gdy używane są dyski tej samej partii. Na pewno nie chcesz, aby ci się to przytrafiło.

Więc zalecenia:

1) Podziel dyski na partycje, które będą używane z nieco mniejszą pojemnością niż ogólne miejsce na dysku (np. Mam macierz RAID5 z dyskami 2 TB i celowo podzieliłem je, marnując około 100 MB na każdym). Następnie użyj / dev / sd? 1 każdego z nich do komponowania tablicy - To doda margines bezpieczeństwa na wypadek, gdyby nowy dysk zastępujący miał mniej miejsca niż oryginalne dyski użyte do złożenia tablicy podczas jej tworzenia;

2) Używaj dysków różnych producentów;

3) Użyj dysków różnych modeli, jeśli różni producenci nie są dla ciebie opcją;

4) Używaj dysków z różnych partii;

5) Proaktywnie wymieniaj dyski, zanim ulegną awarii i nie wszystkie jednocześnie. To może być trochę paranoiczne i naprawdę zależy od krytyczności posiadanych danych. Zwykle mam dyski, które różnią się wiekiem od siebie o 6 miesięcy;

6) Rób regularne kopie zapasowe (zawsze, niezależnie od tego, czy korzystasz z tablicy, czy nie). Raid nie służy temu samemu celowi tworzenia kopii zapasowych. Tablice zapewniają wysoką dostępność, kopie zapasowe pozwalają przywracać utracone pliki (w tym te, które zostaną przypadkowo usunięte lub uszkodzone przez wirusy, niektóre przykłady czegoś, przed czym użycie tablic nie ochroni Cię).

OBS: Poza wszystkim nie-pomijalne racjonalne powyżej, istnieje niewiele dalej różnice techniczne między używając / dev / sd? vs / dev / sd? #.

Powodzenia

Marcelo
źródło
To w większości niezwiązane ...
user1133275
Wydaje mi się jednak, że ostrzeżenie @Kalavan odnosi się do używania wielu partycji na tym samym dysku jako składników tablicy. To z pewnością nie miałoby większego sensu, ponieważ usuwa nadmiarowość. Wiemy jednak, że nie było to celem twojego pytania, i tak Jego ostrzeżenie ma sens.
Marcelo
Jeśli ręczne zarządzanie partycjami wydaje się kłopotliwe, należy użyć sfdisk -d src | sfdisk tgtlubsgdisk --backup && sgdisk --load-backup
andyn
7

Innym ważnym argumentem jest to, że niektóre płyty główne mogą usuwać superbloki RAID, jeśli używasz urządzeń z całym dyskiem i nie są bardzo ostrożni z czyszczeniem ich podczas dodawania dysków do macierzy RAID, które kiedyś były urządzeniami GPT.

Nauczyłem się tego na własnej skórze, kiedy UEFI mojej płyty głównej ASRock sprawiło, że moja RAID nie nadaje się do użytku:

Aby się przed tym zabezpieczyć, zawsze uruchamiaj sgdisk --zapdyski sformatowane wcześniej w formacie GPT, których chcesz używać dla macierzy RAID dla całego urządzenia.

wipefs -a może również działać, aby usunąć wszystkie pozostałe informacje o partycjonowaniu (nie tylko GPT) przed dodaniem urządzenia do dysku.


To powiedziawszy, samo użycie partycji wydaje się najlepszą praktyką, aby zmniejszyć to prawdopodobieństwo .

Nigdy nie wiedziałem, jakie były prawdziwe argumenty za tą najlepszą praktyką (poza odpowiedzią @ Marcelo wyjaśniającą, że może poradzić sobie z dyskami o nieco różnych rozmiarach). Teraz wiem.

Nawiasem mówiąc, jeśli tak się stanie, Twoje dane nie zostaną utracone. Najprawdopodobniej możesz tylko sgdisk --zapurządzenie, a następnie ponownie utworzyć macierz RAID za pomocą np. mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd(Mdadm powie ci, że wykrywa już przeszłe dane, i zapyta, czy chcesz dalej używać tych danych). Próbowałem wiele razy i zadziałało, ale nadal zalecamy wykonanie kopii zapasowej, zanim to zrobisz.

nh2
źródło
2

Istnieje kilka postów wskazujących na problem z używaniem całego urządzenia jako elementu RAID zamiast partycji, jeden tutaj . Mogę to potwierdzić.

Tak więc, jeśli utworzyć macierz RAID przy użyciu całe urządzenie (powiedzmy /dev/sda, /dev/sdb... zamiast na /dev/sda1, /dev/sdb1...) urządzenie RAID nie Zamontować po restarcie nawet jeśli masz konfiguracja zapisana pod mdadm.conf. Istnieje również możliwość zastąpienia oprogramowania układowego płyty głównej lub usunięcia superbloku RAID. W mojej konfiguracji uruchomienie mdadm --assemble --scan --verbosenie przywraca mi konfiguracji RAID i wygląda na to, że superblok RAID jest niedostępny.

Lungten
źródło
Testowałem konfigurację RAID1 przy użyciu dysków 2x10GB w VirtualBox. RAID został stworzony na całym urządzeniu i po ponownym uruchomieniu jest w porządku. Problem może dotyczyć tylko urządzeń fizycznych.
Lungten
0

Aby uchronić się przed przyszłymi bólami głowy, użyj partycji. Wszystkie dyski ulegają awarii, to nie jest pytanie „jeśli”, ale „kiedy”. Jeśli używasz całych dysków, po awarii dysku musisz go zastąpić dokładnie tym samym modelem wielkości. Nawet kilka MB większy, ze względu na innego producenta lub zmiany procesu, cokolwiek, spowoduje awarię wymiany dysku.

Używając partycji, gdy jeden z twoich obecnych dysków 2 TB ulegnie awarii, otrzymasz zastępczy 4 TB (lub cokolwiek innego, po prostu musi być większy), a następnie utwórz na nim ten sam rozmiar partycji 2 TB. Tak, możesz marnować miejsce na tym nowym dużym dysku. Używanie reszty tego dysku jako partycji innej niż RAID może być możliwe, ale może wpływać na wydajność w dziwny sposób. Po kilku awariach i zamianach dysków ostatecznie zastąpisz wszystkie oryginalne dyski 2 TB, a teraz będziesz mógł rozszerzyć macierz RAID, aby używać większych rozmiarów partycji.

JavaMan07
źródło