OpenZFS 2.1 / dRAID
Больше 20-25 дисков в системе? Диски объёмом больше 1-2Тб? Хотим OpenZFS? Добро пожаловать в дивный новый мир dRAID.
zpool create -f -o autoreplace=on -o ashift=12 \
-O recordsize=1m -O compression=zstd storarray_ext \
draid3:21c:5d:1s \
wwn-0x5000c50063470f97 \
wwn-0x5000c50063471e63 \
wwn-0x5000c50063479f93 \
wwn-0x5000c5006347a25f \
wwn-0x5000c5006347a3ff \
wwn-0x5000c5006347a4db \
wwn-0x5000c5008390a7bb \
wwn-0x5000c5008390b0af \
wwn-0x5000c5008390b147 \
wwn-0x5000c5008390c3d7 \
wwn-0x5000c5008390c7f7 \
wwn-0x5000c5008390c867 \
wwn-0x5000c5008390cd2f \
wwn-0x5000c5008390ce87 \
wwn-0x5000c5008391300b \
wwn-0x5000c500839137af \
wwn-0x5000c50083913c1f \
wwn-0x5000c500839162df \
wwn-0x5000c50083916493 \
wwn-0x5000c500839227d3 \
wwn-0x5000c500839228ff
recordsize можно проигнорить, ashift ИМХО ставить надо обязательно (AF/4К диски наше всё, а пулы пересоздавать не охота). draid3:21c:5d:1s – 21 диск всего, 1 распределённая спара, страйп-юнит теперь – это 5d – пять дисков, draid3 – 3 блока чётности. По умолчанию всё проще (см. хорошую статейку). Не понятно – лучше слазить в коммиты OpenZFS. Не понятно совсем = лучше не использовать.
Кратко: резильвер действительно в РАЗЫ быстрее. Подковырок для себя пока не наблюдаю (а они есть и описаны).
Живуч и быстр, но загнать, понятно, можно и эту штуку (мастерское владение echo offline что угодно заставят приболеть):
pool: storarray_ext
state: SUSPENDED
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-HC
scan: scrub in progress since Sat Jul 3 20:00:58 2021
17.8G scanned at 123M/s, 13.2G issued at 90.8M/s, 21.4G total
0B repaired, 61.67% done, 00:01:32 to go
scan: resilvered (draid3:16d:21c:2s-0) 2.30G in 00:02:46 with 0 errors on Sat Jul 3 20:00:58 2021
config:
NAME STATE READ WRITE CKSUM
storarray_ext DEGRADED 0 0 0
draid3:16d:21c:2s-0 DEGRADED 32 104 0
wwn-0x5000c50063470f97 ONLINE 0 0 0
wwn-0x5000c50063471e63 ONLINE 3 104 0
wwn-0x5000c50063479f93 ONLINE 0 0 0
wwn-0x5000c5006347a25f ONLINE 0 0 0
wwn-0x5000c5006347a3ff UNAVAIL 10 8.70K 0
wwn-0x5000c5006347a4db UNAVAIL 27 8.17K 0
wwn-0x5000c5008390a7bb UNAVAIL 6 8.62K 0
spare-7 DEGRADED 0 0 0
wwn-0x5000c5008390b0af UNAVAIL 33 411 0
draid3-0-1 ONLINE 0 0 0
spare-8 DEGRADED 0 0 0
wwn-0x5000c5008390b147 UNAVAIL 3 685 0
draid3-0-0 ONLINE 0 0 0
wwn-0x5000c5008390c3d7 ONLINE 0 0 0
wwn-0x5000c5008390c7f7 ONLINE 0 0 0
wwn-0x5000c5008390c867 ONLINE 0 0 0
wwn-0x5000c5008390cd2f ONLINE 0 0 0
wwn-0x5000c5008390ce87 ONLINE 0 0 0
wwn-0x5000c5008391300b ONLINE 0 0 0
wwn-0x5000c500839137af ONLINE 0 0 0
wwn-0x5000c50083913c1f ONLINE 0 0 0
wwn-0x5000c500839162df ONLINE 0 0 0
wwn-0x5000c50083916493 ONLINE 0 0 0
wwn-0x5000c500839227d3 ONLINE 0 0 0
wwn-0x5000c500839228ff ONLINE 0 0 0
spares
draid3-0-0 INUSE currently in use
draid3-0-1 INUSE currently in use
errors: 7932 data errors, use '-v' for a list
Для особо одарённых – dRAID бэкапы не заменяет 😉 Более того, фича новая, я бы повременил с внедрениями, но в случае чего без бэкапов никуда.