Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@yamori813

ZFSでraidzからmirrorに変更

More than 1 year has passed since last update.

以前から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を入れてみました。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?