できませんでした(完)
以前書いたように 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 のほうが楽チンというか、ホームユースにはいい感じだなー
コメントを残す