Używam ZFS od jakiegoś czasu bez problemów. Nadal jestem tym podekscytowany i bardzo mu ufam. Ale od czasu do czasu przychodzą mi na myśl nowe pytania (w szczególności po przeczytaniu dokumentacji, która czasami zwiększa liczbę pytań zamiast je zmniejszać).
W tym przypadku dodałem nowe vdev (dublowanie) do puli root i dlatego przeczytałem instrukcję zpool ( man zpool
). Na końcu tego rozdziału zpool add
znajduje się:
-o właściwość = wartość
Ustawia podane właściwości puli. Zobacz sekcję „Właściwości”, aby uzyskać listę prawidłowych właściwości, które można ustawić. W tej chwili jedyną obsługiwaną nieruchomością jest Ashift. Zwróć uwagę, że niektóre właściwości (w tym ashift) nie są dziedziczone z poprzedniego vdev. Są one specyficzne dla vdev, a nie dla puli.
Oznacza to, że ashift
właściwość nie jest specyficzna dla puli, ale dla vdev. Ale nie byłem w stanie znaleźć żadnego polecenia ani opcji, które pozwoliłyby mi zobaczyć tę właściwość (lub inną właściwość specyficzną dla vdev) na vdev.
Innymi słowy, na przykład, jeśli mam pulę, która zawiera jeden vdev z ashift=12
i jeden vdev z ashift=10
, jak mogę to sprawdzić?
Co już próbowałem:
root@cerberus:~# zpool list -v -o ashift rpool
ASHIFT
12
mirror 928G 583G 345G - 27% 62%
ata-ST31000524NS_9WK21HDM - - - - - -
ata-ST31000524NS_9WK21L15 - - - - - -
mirror 928G 74.4M 928G - 0% 0%
ata-ST31000524NS_9WK21FXE - - - - - -
ata-ST31000524NS_9WK21KC1 - - - - - -
root@cerberus:~# zpool get all rpool
NAME PROPERTY VALUE SOURCE
rpool size 1.81T -
rpool capacity 31% -
rpool altroot - default
rpool health ONLINE -
rpool guid 3899811533678330272 default
rpool version - default
rpool bootfs rpool/stretch local
rpool delegation on default
rpool autoreplace off default
rpool cachefile - default
rpool failmode wait default
rpool listsnapshots off default
rpool autoexpand off default
rpool dedupditto 0 default
rpool dedupratio 1.00x -
rpool free 1.24T -
rpool allocated 583G -
rpool readonly off -
rpool ashift 12 local
rpool comment - default
rpool expandsize - -
rpool freeing 0 default
rpool fragmentation 13% -
rpool leaked 0 default
rpool feature@async_destroy enabled local
rpool feature@empty_bpobj active local
rpool feature@lz4_compress active local
rpool feature@spacemap_histogram active local
rpool feature@enabled_txg active local
rpool feature@hole_birth active local
rpool feature@extensible_dataset enabled local
rpool feature@embedded_data active local
rpool feature@bookmarks enabled local
rpool feature@filesystem_limits enabled local
rpool feature@large_blocks enabled local
Więc ani zpool list
nie zpool get
pokazuj żadnej właściwości w sposób specyficzny dla vdev.
Jakieś pomysły?
zdb
nie pojawia się na żadnej ze stron firmy Sun, która zwykle pojawia się, jeśli używasz „ZFS <something>” w Google. Przed przejściem na ZFS poświęciłem niewiarygodnie dużo czasu na zbadanie, czy jest to dla mnie właściwe i jak mogę go zainstalować i skonfigurować, ale nigdy się nie natknąłemzdb
; ponadto, animan zpool
nieman zfs
ma na to żadnych wskazówek, w tym sekcja „ZOBACZ TAKŻE”. Wielkie dzięki!zdb
wydaje mi się to trochę naturalne. W tym momencie nie zdawałem sobie sprawy, że to czarna magia. :) Open-ZFS to konsorcjum IllumOS / OmniOS / OpenSolaris / FreeBSD / Linux / innych programistów, którzy starają się upewnić, że cały świat ZFS inny niż Oracle pozostaje ściśle z sobą związany. Ich Wiki jest całkiem dobra i zawiera wiele informacji, w tym kilka odniesień dozdb
: Patrz: open-zfs.org/w/…man zdb
robi to, czego można się spodziewać :-) Więc jest to jakoś udokumentowane, ale skoro jest wspomniane prawie nigdzie, nikt nie przychodzi na pomysł pisaniaman zdb
. Z wpisu na blogu, który podałeś: „[...] ale jest to, jak sądzę celowo, nieudokumentowane. Tylko dwie inne, które znam, miały odwagę o tym publicznie [...]” :-)