zpoolのupgradeをしたのでメモ。
結論としては、zpoolのupgradeとは、単にversionを上げるだけ以外にもあるようだ。
legacy on-disk formatでformat??
気がつくと、zpool statusで文句を言われていた。
$ zpool status
pool: vault
state: ONLINE
status: The pool is formatted using a legacy on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
pool will no longer be accessible on software that does not support feature
flags.
(略)
曰く、「このpoolはlegacy on-disk formatでフォーマットされている。
もちろんpoolは引き続き使えるけれども、いくかの機能が使えない。」とのこと。
zpoolを調べてみたが、最新のv28である。
$ zpool get all|grep vault
vault size 2.27T -
vault capacity 64% -
vault health ONLINE -
vault version 28 local
(略)
zpool upgradeで調べて分かってきた。
zpoolバージョンではなくfeature flagsのことを言っているわけだ。
$ zpool upgrade
This system supports ZFS pool feature flags.
The following pools are formatted with legacy version numbers and can
be upgraded to use feature flags. After being upgraded, these pools
will no longer be accessible by software that does not support feature
flags.
VER POOL
--- ------------
28 vault
Use 'zpool upgrade -v' for a list of available legacy versions.
Every feature flags pool has all supported features enabled.
で、もういちど調べてみると。
$ zpool get all|grep vault
vault size 2.27T -
vault capacity 64% -
vault health ONLINE -
vault version 28 local
(略)
vault feature@async_destroy disabled local
vault feature@empty_bpobj disabled local
vault feature@lz4_compress disabled local
featureがいくつかdiabledになっている。
そうと分かれば素直にupgradeである。
zpoolのupgrade
zpool upgradeとするだけ。
ただ、バージョンが変わらないとはいえ、ファイルシステムの基盤をアップグレードするわけだからバックアップは取っといた。
$ sudo zpool upgrade vault
This system supports ZFS pool feature flags.
Successfully upgraded 'vault' from version 28 to feature flags.
Enabled the following features on 'vault':
async_destroy
empty_bpobj
lz4_compress
あっけなく終了。
調べてみるとversionが消えて(なぜ….でもpropertiesがdefaultだからよしとしよう)、その代りfeatureはすべてenabledに変化したことが分かる。
なお、enabledは「その機能が使えますよ」という表示。
実際に有効にするとenabledはactiveに変化する。
$ zpool get all|grep vault
vault size 2.27T -
vault capacity 64% -
vault health ONLINE -
vault version - default
(略)
vault feature@async_destroy enabled local
vault feature@empty_bpobj enabled local
vault feature@lz4_compress enabled local
zpool upgrade、zpool statusの表示いずれも問題なし。
$ zpool upgrade
This system supports ZFS pool feature flags.
All pools are formatted using feature flags.
Every feature flags pool has all supported features enabled.
$ zpool status
pool: vault
state: ONLINE
scan: scrub repaired 0 in 4h53m with 0 errors on Sat Jul 27 14:35:23 2013
config:
NAME STATE READ WRITE CKSUM
vault ONLINE 0 0 0
ada1 ONLINE 0 0 0
errors: No known data errors