Jak mogę dodać jeden dysk do istniejącej platformy ZRUDZ?

21

Mam serwer OpenSolaris z zpool backupzskładający się z czterech napędów SCSI:

-bash-3.2# zpool status backupz
  pool: backupz
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        backupz     ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
            c7t3d0  ONLINE       0     0     0

errors: No known data errors

Chcę dodać piąty dysk ... ale zpool add backupz raidz c7t4d0nie działa ...

-bash-3.2# zpool add backupz raidz c7t4d0
invalid vdev specification: raidz requires at least 2 devices

Czy nie mogę mieć konfiguracji raidz z 5 urządzeniami? Czy muszę dodać dwa urządzenia jednocześnie? czy robię tu coś zupełnie niewłaściwego?

Josh
źródło

Odpowiedzi:

14

Nie możesz rozszerzyć istniejącego vdev raidz, musisz go zdmuchnąć i stworzyć go ponownie z nowymi dyskami. Zobacz drugą odpowiedź, aby uzyskać szczegółowe informacje.

Uwaga dodatkowa: Ktoś naprawdę się zorientował, że technicznie możliwe jest dodanie dysków do raidz, ale funkcjonalność nie została zaimplementowana. To samo dotyczy usuwania dysku.

Chris S.
źródło
5
O o. Jeśli tak jest, podjąłem gdzieś straszną decyzję! = o
Josh
2
-1 Oczywiście zpool można rozbudować. Jak myślisz, co zpool addrobi polecenie? Ograniczeniem, na które wpada Josh, jest to, że nie można zmienić składu raidz vdev (w jego przykładzie „raidz1”). Możesz dodać nowe urządzenia do samej puli. Jest to jeden z powodów, dla których preferowane są pliki lustrzane vdev: serverfault.com/questions/63809/zfs-mirror-vs-raid-z
Wim Coenen,
8
@ Wim, jestem świadomy, że możesz dodać dodatkowe wirtualne pliki do puli. To była drobna literówka i nie ma powodu, żeby mnie tak przeskakiwać.
Chris S
Fajnie, nie wiedziałem, że ktoś znalazł sposób obejścia architektury, aby umożliwić dodawanie dysków! Czy masz link, gdzie mogę przeczytać więcej na ten temat?
lip
31

Zobacz ten wątek z jednej z list FreeBSD: http://lists.freebsd.org/pipermail/freebsd-fs/2009-June/006327.html

Cytując Dana Naumova,

Mówiąc inaczej, nie można po prostu dodać pojedynczego napędu dyskowego do puli raidz1 lub raidz2. Jest to znane ograniczenie (możesz to sprawdzić za pomocą dokumentów SUN ZFS). Jeśli masz istniejące podwyższenie i MUSISZ zwiększyć możliwości pamięci dla konkretnej puli, masz 3 opcje:

1) Dodaj pulę o tej samej konfiguracji do puli (na przykład pomyśl o 3 dyskach + 3 dyskach lub 5 + 5)

2) Wymień każdy (i każdy) dysk w puli raidz jeden po drugim, umożliwiając mu resilver po włożeniu każdego uaktualnionego dysku

3) Wykonaj kopię zapasową danych, zniszcz pulę i utwórz nową pulę raidz z większą liczbą dysków.

brent
źródło
3
+1: Dzięki @brent! Twoja odpowiedź była bardziej szczegółowa niż Chris, jednak udzielał mi szczegółowych informacji na czacie, więc zaakceptowałem jego odpowiedź. Doceniam informacje!
Josh
1
Dlaczego należy dodać RAIDZ o tej samej konfiguracji i nie można np. Dodać RAIDZ z 8 dyskami do jednego z 3? Czy dane nie są rozłożone we wszystkich VDEV, czyli RAIDZ?
Thorsten Schöning
@Thorsten Schöning Odpowiedź brzmi: wydajność, ZFS działa najlepiej z VDEV tego samego rozmiaru: serverfault.com/a/564436/333397
Thorsten Schöning