Cytując artykuł w Wikipedii na temat RAID :
RAID 0 można utworzyć z dyskami o różnych rozmiarach, ale przestrzeń dyskowa dodana do tablicy przez każdy dysk jest ograniczona do rozmiaru najmniejszego dysku. Na przykład, jeśli dysk 100 GB jest rozłożony razem z dyskiem 350 GB, rozmiar tablicy wyniesie 200 GB (100 GB × 2).
W artykule nie podano jednak, dlaczego nie można ich razem z RAID-em i zużyć całego miejsca na dysku. Rozumiem, że paski zapisują między nimi, ale z pewnością nie powinno to uniemożliwiać zapisywania do późniejszych sektorów drugiego dysku, działając z obniżoną wydajnością? Czy istnieje alternatywny system RAID (np. Programowy RAID), który oferuje taką funkcję?
hard-drive
raid
stripe
Wielomian
źródło
źródło
mdadm --create --verbose /dev/md0 --chunk=512 -l0 -n16 /dev/sdd5 /dev/sde5 /dev/sde6 /dev/sde7 /dev/sde8 /dev/sde9 /dev/sde10 /dev/sde11 /dev/sde12 /dev/sde13 /dev/sde14 /dev/sde15 /dev/sde16 /dev/sde17 /dev/sde18 /dev/sde19
. Skończyło się na tym, że mam mniej miejsca niż właśnie użyłem napędu 16 GBOdpowiedzi:
Przyczyną ograniczenia rozmiaru do rozmiaru najmniejszego dysku jest fakt, że paski są zapisywane „na przemian” i muszą mieć ten sam rozmiar.
W systemie z dwoma dyskami wszystkie nieparzyste paski znajdują się na jednym dysku, a parzyste na drugim. Zapisuje na przemian dyski, nieparzyste / parzyste / nieparzyste / parzyste / ...
Ponieważ paski muszą mieć ten sam rozmiar i są sparowane (dla dwóch dysków), ograniczona jest maksymalna przestrzeń do wykorzystania 2 * (rozmiar najmniejszego dysku).
źródło
Państwo może wykorzystać pozostałą przestrzeń. Możesz utworzyć wolumin, korzystając z pozostałej przestrzeni, a nawet użyć go jako części innej macierzy RAID. Jednak użycie tej dodatkowej przestrzeni obniży wydajność macierzy RAID 0, ponieważ dwa różne procesy mogą próbować uzyskać dostęp do tego samego kontrolera fizycznego i dysku.
Dlaczego nie możesz dodać tej dodatkowej przestrzeni do oryginalnej macierzy RAID? Cóż, bez wchodzenia w szczegóły, wynika to z algorytmów używanych w macierzach RAID. RAID 0 zapisuje na pierwszym dysku w macierzy RAID, a następnie na następnym. Zwiększa to wydajność, ponieważ nie musi czekać, aż poprzedni dysk zakończy odczyt lub zapis. Gdyby użyto 250 GB postu, większość zapisu byłaby zapisana na pierwszym dysku, co praktycznie eliminowałoby wzrost wydajności.
RAID może nie być rozwiązaniem, którego szukasz, jeśli chcesz wykorzystać całe miejsce na dyskach, powinieneś rozpinać woluminy. Łączenie pozwala pobrać wiele tomów i połączyć je razem w jeden duży tom. Łączenie nie oferuje zwiększenia wydajności ani redundancji.
źródło
RAID to pseudo standard opisujący sposób przechowywania danych na macierzy dysków. Standard opisuje cztery różne sposoby przechowywania danych (technicznie więcej, ale przeważnie nikt nie dba o inne):
Raid-0: Striping. Każdy blok danych jest podzielony na każdy element urządzenia RAID. Brak nadmiarowości, więc jest to po prostu tablica niedrogich dysków, a nie nadmiarowa tablica niedrogich dysków.
Raid-1: Mirroring. Każdy blok danych jest przechowywany na każdym dysku w tablicy. To naprawdę sprawia, że tylko z dwoma dyskami. RAID 1/0 lub po prostu RAID 10 to połączenie kopii lustrzanych i pasków i może być użyte do wykorzystania więcej niż dwóch dysków.
Raid-5: Parzystość. Każdy blok danych jest podzielony na każdy element urządzenia RAID + jeden dysk jest przeznaczony na parzystość.
Raid-6: Double Parity: Taki sam jak Raid-5, ale z dwoma dyskami parzystości.
to jest to! Raid nie opisuje, co zrobić z błędnym dopasowaniem rozmiaru lub czymkolwiek innym, ale striping naprawdę działa tylko z dyskami o równej wielkości. Zazwyczaj sposobem na obejście tego jest wykorzystanie pozostałej przestrzeni jako osobnego napędu dyskowego.
Odchodząc od RAID jako sposobu tworzenia dużej macierzy dyskowej, możesz używać takich rzeczy jak ZFS i po prostu dodawać dyski do puli pamięci. ZFS zawsze starałby się używać obu dysków tak skutecznie, jak to możliwe, i można było powiedzieć ZFS, z jakiego poziomu redundancji jesteś zadowolony.
Wcześniejsze technologie to takie jak mapowanie woluminów (tj. LVM lub jego odpowiednik w systemie Windows), które wyodrębniają pomysł mapowania bloków na dysk na wyższy poziom. Dzięki LVM możesz rozciągać się między dyskami, rozszerzać partycje, mieć niesąsiadujące partycje i tak dalej. Mapowanie woluminów nie jest RAID, a zamiast zwiększania wydajności w miarę zwiększania dysków, po prostu losowo wybiera zapis na jednym lub drugim dysku, w zależności od tego, gdzie jesteś w systemie plików. Jest to określane jako łączenie i zwykle jest lepsze niż RAID, jeśli wybierasz IOPS zamiast surowej wydajności.
źródło
Może to być prawda i będzie prawdą w przypadku większości implementacji RAID0. Jednak nie dla wszystkich.
Istnieją dwa powody korzystania z RAID 0:
Opcja 2 jest najbardziej popularna i myślę, że jest używana w prawie wszystkich obecnych implementacjach RAID 0. Technicznym wyjaśnieniem jest to, że informacje są zapisywane na przemian między dyskami.
W nietechniczny sposób: pomyśl o dyskach jak o dwóch książkach. Te książki mają ograniczony dostęp (odczyt / zapis). Dlatego zamiast dwóch 100-stronicowych książek przekształcamy je w dwie książki, ale przenumerujemy strony tak, aby wszystkie liczby parzyste były zapisane w jednej książce, a wszystkie liczby nieparzyste w drugiej.
Teraz nasza nowa „książka R0” zachowuje się tak, jakby była to pojedyncza książka z dwukrotnie większą liczbą stron i dwukrotnie większą prędkością.
Opcja 1 może być tak prosta, jak „przyklejanie książek do książek tyłem do siebie”. W takim przypadku nie zyskujesz prędkości, ale możesz przyklejać książki o różnej liczbie stron. Wydaje mi się, że przypominam sobie niektóre implementacje „RAID0” około 1990 roku. Jednak nie jest to, co większość ludzi uważa za „właściwą RAID 0”.
źródło