Mam 10 dysków o pojemności 8 TB każdy w sprzętowej macierzy RAID6 (czyli 8 dysków z danymi + 2 parzystość). Po odpowiedzi na bardzo podobne pytanie miałem nadzieję na automatyczne wykrycie wszystkich niezbędnych parametrów. Jednak podczas tworzenia systemu plików XFS na końcu mam
# mkfs.xfs /dev/vgdata/lvscratch
meta-data=/dev/vgdata/lvscratch isize=256 agcount=40, agsize=268435455 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=10737418200, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Wygląda na to, że paski nie zostały użyte. Ze względu na różne warunki, które znalazłem na różnych stronach (rozmiar paska, rozmiar paska, fragment paska, ...), chciałbym zapytać, czy poprawnie ustawiłem parametry ręczne.
RAID 6 został skonfigurowany z paskiem o wielkości 256 KB:
# ./storcli64 /c0/v1 show all | grep Strip
Strip Size = 256 KB
Zatem rozmiar paska wynosi 8 * 256 KB = 2048 KB = 2 MB. Czy to jest poprawne? Zgodnie z tym (i jeśli dobrze to rozumiem), pvcreate
należy użyć rozmiaru paska (lub fragmentu) jako argumentu do dataalignment
:
# pvcreate --dataalignment 256K /dev/sdb
Physical volume "/dev/sdb" successfully created
Pamiętaj, że korzystałem z całego urządzenia RAID bez partycji. Teraz a
# vgcreate vgdata /dev/sdb
Volume group "vgdata" successfully created
przy domyślnym rozmiarze PE 4 MB powinno być w porządku, ponieważ jest to wielokrotność rozmiaru paska 2 MB. Poprawny?
Teraz część grupy wirtualnej jest przypisana do woluminu logicznego:
# lvcreate -L 40T vgdata -n lvscratch
Logical volume "lvscratch" created.
Na koniec tworzony jest system plików, ale teraz z poprawnymi argumentami (rozmiar paska 2 MB, szerokość paska 8):
# mkfs.xfs -d su=2048k,sw=8 /dev/vgdata/lvscratch
meta-data=/dev/vgdata/lvscratch isize=256 agcount=41, agsize=268434944 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=10737418240, imaxpct=5
= sunit=512 swidth=4096 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Czy to podejście jest prawidłowe? Czy należy pamiętać o rozszerzeniu woluminu logicznego lub grupy woluminów? Przypuszczam, że jeśli grupa woluminów zostałaby rozszerzona o inny system RAID6, rozmiar paska powinien być równy obecnej RAID6.
EDYCJA : Moje zamieszanie wydaje się być oparte głównie na innym użyciu terminów związanych z paskiem. Producent mojego kontrolera RAID, LSI lub Avago, definiuje warunki w następujący sposób :
Szerokość paska
Szerokość paska to liczba napędów zaangażowanych w grupę napędów, w której zastosowano paski. Na przykład grupa napędów na cztery dyski z paskowaniem dysku ma szerokość paska wynoszącą cztery.
Rozmiar paska
Rozmiar paska to długość przeplecionych segmentów danych, które kontroler RAID zapisuje na wielu dyskach, z wyłączeniem dysków parzystych. Rozważmy na przykład pasek zawierający 64 KB miejsca na dysku i 16 KB danych znajdujących się na każdym dysku w pasku. W tym przypadku rozmiar paska to 64 KB, a rozmiar paska to 16 KB.
Rozmiar paska
Rozmiar paska to część paska, która znajduje się na jednym dysku.
Wikipedia (i IBM ) wydają się używać innych definicji:
Segmenty danych sekwencyjnych zapisywanych lub odczytywanych z dysku przed kontynuowaniem operacji na następnym dysku są zwykle nazywane fragmentami, krokami lub jednostkami pasków, podczas gdy ich logiczne grupy tworzące pojedyncze operacje pasków nazywane są pasami lub paskami. Ilość danych w jednym kawałku (jednostce pasków), często denominowana w bajtach, jest różnie określana jako rozmiar fragmentu, rozmiar kroku, rozmiar paska, głębokość paska lub długość paska. Liczba dysków z danymi w tablicy jest czasami nazywana szerokością paska, ale może również odnosić się do ilości danych w pasku.
Ilość danych w jednym kroku pomnożona przez liczbę dysków z danymi w tablicy (tj. Głębokość paska razy szerokość paska, która w analogii geometrycznej dałaby powierzchnię) jest czasami nazywana rozmiarem paska lub szerokością paska. Szerokie pasy występują, gdy fragmenty danych są rozmieszczone na wielu tablicach, być może na wszystkich dyskach w systemie. Wąskie paski pojawiają się, gdy fragmenty danych są rozmieszczone na dyskach w jednej tablicy.
Nawet w tekście Wikipedii powyższy rozmiar paska ma dwa różne znaczenia. Jednak przypuszczam, że teraz, podczas tworzenia systemu plików xfs, rozmiar pojedynczej porcji przechowywanej na jednym dysku musi być podany jako argument su. To powinno być mkfs.xfs -d su=256k,sw=8
w powyższym poleceniu. Poprawny?
pvcreate
„s--dataalignment
?