====== FreeBSD 11.2-RELEASEでZFSのトップレベルvdevの削除機能が取り込まれてた ====== [[http://open-zfs.org/wiki/OpenZFS_Developer_Summit_2018|OpenZFS Developer Summit 2018]]を眺めてたら、Device Removalなる[[https://docs.google.com/presentation/d/1u4gIGHJCbKAUxpFjU6VpUJaTX_pHAyT_HVpQJxUOFR8/edit?usp=sharing|スライド]]を発見。タイトルの通りvdevの取り外しに関する機能である。 ご存知の通りZFSでは、一度プールに組み込んだデバイスの削除に非常に厳しい制約がある。プールのスケールアップは極めて容易な一方、スケールダウンは事実上不可能だった。しかしDevice Removalによって、ミラー構成のvdev限定ではあるものの削除が可能となる。 嬉しい人には嬉しいと思われるこの機能、なんとFreeBSD 11.2-RELEASEで既に取り込まれてた。11.2Rのmanから説明を引用してみる。
Removes the specified device from the pool. This command currently only supports removing hot spares, cache, log devices and mirrored top-level vdevs (mirror of leaf devices); but not raidz.
スライドの方にしか書いてないけど、この機能でミラー構成トップレベルvdevを削除するには、各vdevのashiftが同量じゃないと駄目らしい。[[blog:2015:2015-05-20|ashiftはvdev単位での設定]]なので、デバイス追加時は注意が必要。 RAID-Zでも使えるようになってほしいけど、実装面ではRAID-Z Expansion頼みかしら…?こっちの進捗具合はどうなってんだろうなー。去年のちょうど今ごろ[[blog:2017:2017-10-27|RAID-Z Expansionに関する記事]]を書いたものの、とんと続報がない。FreeBSD 12で実装見込みとのことだったが、十中八九間に合わないだろうなー。現時点で12.0Rは12月頭のリリース予定だし…。