できませんでした(完)
以前書いたように HP MicroServer に余ってた 2TiB のディスクを 3 本さして、 TimeMachine やバックアップ用に使っていたのですが、 TimeMachine 用に割り当ててた 2TiB を喰い尽くしたようなのです。で、 Drobo の好き勝手にディスクを追加したり交換できる仕様に慣れていた俺は余ってる 2TiB を刺して 4 本構成にするか、と軽い気持ちでいたのですが
goro@kyoka:~$ sudo zpool add tank ada5 invalid vdev specification use '-f' to override the following errors: mismatched replication level: pool uses raidz and new vdev is disk
だそーで。
Oracle Solaris ZFS 管理ガイドのストレージプールにデバイスを追加するによればどうも既存ストレージプールには、「ストレージプール上に既に存在している仮想デバイスと同じ形式の仮想デバイスであれば」という条件付で追加できるみたい。
ということで
goro@kyoka:~$ zpool status tank pool: tank state: ONLINE scan: scrub repaired 0 in 1h36m with 0 errors on Thu Jan 9 13:55:29 2014 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 ada4 ONLINE 0 0 0 errors: No known data errors
という構成の場合、ディスクを 3 本刺して raidz1 を作ってから、であれば tank に追加できるようです。つまり 1 本増やす、みたいな構成の変更には対応できないってことですね。
MicroServer には 2TiB のディスクが 3 本刺さっていて、それとは別に 1TiB と 2TiB と 3TiB のディスクが一本づつ余っています。これらをどう使って不足気味な容量を増やすべきでしょうかって小学校の算数の問題のようですね(そんな小学校は嫌だ)
使用状況を確認してみたら
goro@kyoka:~$ df -h |grep ^tank tank/Backups 1.4T 692G 725G 49% /Backups tank/TimeMachine 2.0T 2.0T 15G 99% /TimeMachine tank/Users 914G 189G 725G 21% /Users tank 732G 7.4G 725G 1% /tank
トータルで 3TiB ぐらい使ってるっぽいので、 3TiB と 1TiB のディスクを繋げて tank の内容を丸ごとコピーして、 tank 作り直し、というのが一番簡単そうです。 MicroServer の SATA の空きは、本来であれば光学ドライブ用のが一個だけなんですが、 mSATA の SSD を刺すのに使ってるボードに SATA3 が一本あるのでディスクの指定を間違えなければ一気に作業ができそうですね。ということでシングルユーザーモードに落として
goro@kyoka:~$ sudo zpool create escape ada1 ada6 goro@kyoka:~$ sudo zfs snapshot -r tank@escape goro@kyoka:~$ sudo -s root@kyoka:~$ zfs send -R tank@escape|zfs receive escape/tank root@kyoka:~$ zpool destory -f tank root@kyoka:~$ zfs send -R escape@escape|zfs receive -d -F tank root@kyoka:~$ zfs rename tank/tank/Backups tank/Backups root@kyoka:~$ zfs rename tank/tank/TimeMachine tank/TimeMachine root@kyoka:~$ zfs rename tank/tank/Users tank/Users root@kyoka:~$ zfs export escape
という感じで再構成して
goro@kyoka:~$ zpool status tank pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 ada4 ONLINE 0 0 0 ada5 ONLINE 0 0 0 errors: No known data errors
という期待通りの構成になりましたとさ。ちなみにこの 4 本の 2TiB を一本ずつ容量のデカいディスクに交換していくと、 2TiB のディスクがなくなったタイミングで容量の拡張が行われるようです。が、やっぱり多少遅くても Drobo のほうが楽チンというか、ホームユースにはいい感じだなー
「既存の ZFS ストレージプールにディスクを追加する」への3件の返信
@neko6_tweet ちょい古いですがこんな感じです。
http://t.co/nDNj1knIx6
[…] 構罠にはまってる(やる前に調べろよという話でもある。 ・既存の ZFS ストレージプールにディスクを追加する – 不定期な記録 ・いつか、そのとき、あの場所で。 | 自宅環境に於けるZFS […]
@murashin この記事に相当することを、意図しています(用語はzpoolですね…
https://t.co/v1nrRUyREh