LoginSignup
3
3

More than 3 years have passed since last update.

ZFSでraidzからmirrorに変更

Last updated at Posted at 2020-02-20

以前からviで保存しようとするとなかなか終わらないことがあり、ディスクがだめだったようなのですが、案の定zfs statusで見るとDEGRADEDになっています。/var/log/messageにもada1のエラーが出ています。再起動するとONLINEに戻ったりするのですが、諦めて対応することにしました。

自宅のMicroserver gen7には元から入っていた250Gがufsでシステムが入っていて、2Tx3でraidzを組んでいました。ネットのページを参考にzfsとjailの組み合わせで使っていました。ZRouter.orgのビルド用のjailとmruby on YABMの開発用のjailなどを作ってあります。

通常であれば、ディスクを購入してreplaceするのでしょうが、貧乏でお金がないので、新たに購入せずに対応できる方法を考えてみました。そもそもあまり容量を使ってなかったので、3発のraidzから2発のmirrorに変更することにしました。

ZFS.png

まずバックアップを取るために、各ボリュームにスナップショットを設定します。

% zfs snapshot storage/zrouter@20200220

次にada0の/var/tmpなどでsendしてバックアップを作ります。

% zfs send storage/zrouter@20200220 > zrouter.bin

幸いあまり使っていなかったので250Gで収まりました。バックアップを作ったらボリュームをdestroyしてzpoolもdestroyします。

壊れたディスクを抜いて、zpool create mirrorでプールを作ります。

これにバックアップしたボリュームをrecvで戻せば元通りです。

% zfs recv storage/zrouter < zrouter.bin

ざっくり200Gくらいのデータ量で、2時間くらいで上記の作業が終わりました。ミスオペがないように慎重に作業しました。

昔はtarコマンドでバックアップを取っていました。対象の容量が大きくなりtarコマンドでは遅かったり失敗したりすることがありますが、zfsは安定して操作できて素晴らしいです。

結構長いこと不調だったと思うのですが、今後は早めに対応できるように.loginにzpool status -xを入れてみました。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3