Pula ZFS o różnych rozmiarach dysków

9

Planuję skonfigurować pulę FreeNAS ZFS przy użyciu dwóch dysków 2 TB i dwóch dysków 1 TB. Chciałbym w jakiś sposób uzyskać nadmiarowość danych. Przeczytałem ten post, który sugeruje, że moje dwie opcje to zgubienie 1 TB na dysk 2 TB za pomocą RAIDZ lub użycie tego polecenia (co podwaja przestrzeń wymaganą do nadmiarowości danych):

zfs set copies=2 poolname

Czy jest lepszy sposób, aby sobie z tym poradzić i uzyskać coś więcej niż Drobo's Beyond RAID lub Netgear's XRAID? Alternatywnie, czy mogę podzielić każdy dysk 2 TB na partycje 1 TB i umieścić obie partycje w puli?

Timothy R. Butler
źródło

Odpowiedzi:

13

Jest lepszy sposób, utwórz pojedynczą pulę 3 TB złożoną z dwóch kopii lustrzanych.

zpool create test mirror disk1 disk2 mirror disk3 disk4

dysk 1 i dysk 2 to dyski 1 TB, a dysk 3 i dysk 4 to 2 TB.

Edytować:

Jeśli chcesz zmaksymalizować rozmiar i nie przejmujesz się tak bardzo wydajnością ani najlepszymi praktykami, możesz podzielić wszystkie dyski na takie same partycje (lub plasterki) i utworzyć pulę hybrydową o pojemności 4 TB z RAIDZ o rozdzielczości 4 vdev i lustrem 2 vdev.

zpool create -f test raidz d0p1 d1p1 d2p1 d3p1 mirror d0p2 d1p2

Zwróć uwagę na opcję „-f” wymaganą, aby wymusić na komendzie akceptację niedopasowania poziomu replikacji.

jlliagre
źródło
1
Dzięki za informację. Czyli byłoby to jak normalne tworzenie kopii lustrzanych, gdzie nadmiarowość „kosztuje” 100% więcej, wydaje się? Czy istnieje sposób na uzyskanie 50-procentowego „kosztu” podobnego do RAID5 zamiast parzystości? Jaka jest wydajność tej konfiguracji w porównaniu z konfiguracją ZRAID / RAID5 z 4 równymi dyskami?
Timothy R. Butler
@ TimothyR.Butler Nie można utworzyć kopii lustrzanej 1 TB i zastosować RAIDZ do dwóch kopii lustrzanych 2 TB i 2 TB, po prostu to nie działa. Aby korzystać z RAIDZ, musisz mieć dyski o równej wielkości (lub poświęcisz więcej miejsca na większych dyskach, albo będziesz musiał zacząć przechodzić do niezalecanych konfiguracji). Dwie konfiguracje lustrzane zalecane przez te odpowiedzi są twoimi najlepszymi zalecanymi konfiguracjami.
Chris S
Dzięki jilliagre i @chriss za komentarze. Myślę, że mogę kupić jeszcze dwa dyski i nazwać to dniem. To drugie dodane właśnie polecenie jilliagre jest intrygujące ... Czy miałbym rację zakładając, że wydajność byłaby tak dobra lub lepsza niż cokolwiek wspomnianego powyżej, gdybym zrobił RAIDZ 4x2 TB?
Timothy R. Butler
@ TimothyR. Butler RAIDZ 4x2TB miałby niewielki spadek wydajności w porównaniu do podwójnych lusterek 2x2TB (w zasadzie RAID10). Ci dwaj mieliby najlepsze wyniki ze wszystkiego, co tu omówiliśmy.
Chris S
4

To zależy od tego, ile potrzebujesz miejsca do przechowywania danych. Możesz utworzyć dwie pule po 1 TB i 2 TB za pomocą RAID 1. Jeśli nie, sprawdź, czy możesz uzyskać dyski o podobnej wielkości i wypróbuj RAID 1 + 0 lub RAIDZ.

ewwhite
źródło
Dzięki. Czy dwie pule byłyby lepsze niż jedna z dwiema macierzami RAIDZ?
Timothy R. Butler
@ TimothyR.Butler Każde lustro dysków to vdev w ZFS. Nie można usunąć Vdevs z puli ZFS; więc gdy pula zawiera dwa kopie lustrzane, musi zawsze mieć co najmniej te dwa (możesz dodać więcej, ale nie usuwać). Jeśli kiedykolwiek chciałbyś przejść na coś z mniejszą liczbą wirtualnych urządzeń, musisz zniszczyć pulę i zacząć od zera. Tak więc, zaczynając od dwóch basenów zpool, możesz je później rozdzielić, jeśli chcesz, ale tracisz elastyczność automatycznego udostępniania przestrzeni dyskowej (będziesz musiał umieszczać pliki w jednej lub drugiej puli, gdy się zapełniają).
Chris S
@ewwhite, wiem, co rozumiesz przez „RAID 1 + 0”, ale nie ma sposobu, aby to zrobić wprost w ZFS ... niektórzy mogą być zdezorientowani tą różnicą.
Chris S
2

Z przewodnika administratora ZFS:

„Urządzeniami mogą być pojedyncze wycinki na wstępnie sformatowanym dysku lub mogą to być całe dyski, które ZFS formatuje jako pojedynczy duży wycinek”.

Tak, więc możesz utworzyć dwie partycje o pojemności 1 TB na tych dyskach 2 TB, użyć ich dla RAID-Z vdev i pozostałego miejsca na niepotrzebne miejsce na dysku.

Jednak zgodnie z ZFS Best Practices Guide może wystąpić obniżona wydajność:

W przypadku systemów produkcyjnych używaj całych dysków zamiast plasterków do pul pamięci z następujących powodów:

  • Pozwala ZFS na włączenie pamięci podręcznej zapisu dysku dla tych dysków, które mają pamięci podręczne zapisu. Jeśli używasz macierzy RAID z nieulotną pamięcią podręczną zapisu, jest to mniejszy problem i krojenie, ponieważ vdevs powinny nadal korzystać z pamięci podręcznej zapisu macierzy.

  • Pamięć podłączona do JBOD, posiadająca włączoną pamięć podręczną dysku, umożliwia wydawanie niektórych zapisów synchronicznych w postaci zapisów wielu dysków, po których następuje pojedyncze opróżnianie pamięci podręcznej, umożliwiając kontrolerowi dysku zoptymalizowanie planowania operacji we / wy. Osobno dla systemów, które nie obsługują odpowiednio SATA NCQ lub SCSI TCQ, posiadanie włączonej pamięci podręcznej zapisu pozwala hostowi na wykonanie pojedynczej operacji we / wy asynchronicznie z fizycznymi we / wy.

  • Proces przywracania zepsutego dysku jest bardziej złożony, gdy dyski zawierają system plików ZFS i UFS na plasterkach.

Terlisimo
źródło
Cudowna robota wycinania i wklejania, ale wszystko, co zostało już omówione w pozostałych dwóch odpowiedziach.
Chris S