ZFSでのディスクエラー、回復できません

2014年3月8日FreeBSD,NAS

しばらく前から、ファイルサーバにしているFreeBSDのファイルシステム(ZFS使用)で、エラーが起きています。

エラーは決定的で、修復できない様です。

データ移行のため、HDDを買いました。省電力化と将来的な容量増加を見越して、2.5インチの2TBモデルです。

[amazonjs asin="B00E3S5TRO" locale="JP"]

通常のNotePCで使われている9.5mmの物ではなく、厚さ15mmの特殊な物です。でも、デスクトップPCに入れて使うので、問題ありません。一時的に3TBの容量が必要になる事、また、その後でmirror構成に組み込む事を考えて、2台購入しました。

まずは、パーティショニングです。AFTディスク(4kセクター)なので、次の様にします。

# gpart create -s gpt ada0
# gpart add -a 4k -t freebsd-zfs -l disk4 ada0
# gnop create -S 4096 ada0
# gpart create -s gpt ada1
# gpart add -a 4k -t freebsd-zfs -l disk5 ada1
# gnop create -S 4096 ada1
# zpool create zpool gpt/disk4 gpt/disk5

このあと、スナップショットを転送しようとしたのですが、スナップショットの読み出しでエラーが起きてしまって、先へ進めません。

# zfs send -vRp upool@20140306 | zfs receive -uvdF zpool

オプションは、次のページを参考にさせていただきました。ありがとうございます。

発想を転換して、既存プール(upool)に、新しいディスク(gpt/disk4, gpt/disk5)をmirrorとして追加しようとしました。

# zpool destory zpool

として、先ほど作ったzpoolを破壊します。そして、きそんプールへの追加です。upoolは、二つのプールの集合となっています。

# zpool attach upool gpt/disk0 gpt/disk4
# zpool attach upool gpt/disk1 gpt/disk5

さすがZFS、簡単な操作で実現できます。次の様な構成になります。赤い部分が追加した部分です。

ZFS mirror

昨日から始めたのですが、初回は失敗しました。今、やり直している所です。

mirrorとしてコピーする時にエラーになってしまいました。

やはり、ダメなのか? zfs send/recvではなく、rsyncでコピーした方が良いのだろうか?

重要なファイルは、先にバックアップしてあるから大丈夫なのですが。

どうするのが良いのだろうか…。

Posted by お市のかた