最小限のダウンタイムでzfsプールを移行する方法は?


1

2つの5TBミラードライブと2つの1TBミラードライブを備えたRAID1 ZFSプールがあり、2つの1TBデバイスを4TBのものと交換したい。以来zpool add[1]、取り消し可能であり、それは所望のレイアウトで再現した後プールをDestoryは必要があります。

だから

  • 私は、zpool detachミラーリングされたデバイスを編し、彼らと新しいプールを作成しました。
  • 次のコマンドがマウントポイントの重複のために失敗した後、私はそれを使用して代替ルートでそれを元に戻し、再インポートしました zpool import -R /mnt/data1
  • 現在migrate1実行中のスナップショットを作成して実行できるようにしsudo zfs send -R data@migrate1 | sudo zfs receive -F data1ました。

今、私はzfs sendパイプを完了した後、最善の手順を知りたいと思います。なぜなら、理解するには、再起動後に古いプールdataを代替ルートにマウントし、新しいプールdata1を代替ルートなしで削除して削除する必要があるからです古いプールを作成し、そのデバイスを新しいプールに接続できるようにします。別の方法があるかもしれません。

Linux 4.13.0-16-genericでUbuntu 17.10のソースからビルドされたZFS 0.7.0-182_gc0daec32f8およびSPL 0.7.0-20_g35a44fcbを使用しています。

私はチェックした

これは複雑であり、1TBのデバイスをプール内に保持しても害がないことはわかっていますが、それは問題の一部ではありません。


[1]これをhttps://github.com/zfsonlinux/zfs/issues/6857でZFSOnLinuxの問題としてリクエストしましたこれは、複雑な計画/ロードマップへのリンクを提供します

回答:


1

2つの5TBミラードライブと2つの1TBミラードライブを備えたRAID1 ZFSプールがあり、2つの1TBデバイスを4TBのものと交換したい。zpool addは取り消し可能です[1]ので、目的のレイアウトでプールを再作成した後、プールを破棄する必要があります。

これは、RAIDZ1(少なくとも3x1)よりもストライプミラー(2x2)に似ています。どちらの方法でも、一度に1つのディスクを取り外して交換することにより、両方の構成を適切に拡張できます。各リシルバーが終了するのを待ってから、次のディスクを交換します。最後に、すべてのディスクが交換された後zpool offline、プールとzpool online -eそれを新しいサイズに拡張します(またはautoexpand=true拡張前に設定します)。

    zpool online [-e] pool device...
         Brings the specified physical device online. This command is not
         applicable to spares.

         -e      Expand the device to use all available space. If the
                 device is part of a mirror or raidz then all devices must
                 be expanded before the new space will become available to
                 the pool.

交換は十分な冗長性がある場合にのみ可能であるため、もちろん最初にケース内の切り離されたデバイスを再接続します。


それ以外に、マウントポイントをオンザフライで設定および変更でき、アクティブなマウントポイントを持つプールを破棄できます(アクティブなI / Oが存在しない場合)。動作しない場合、zpool export/ zpool importはほとんどの場合、リブートと同様に動作します(再起動を許可できる場合、これはルートプールではありません)。


パリティやストライピングなしのミラーリングという意味で、RAID1(!= RAIDZ1)を意味していました。残念ながら、この答えは正しいです。残念ながら、私はXYの質問をして、この解決策が役に立たない重要な詳細を省きました。
カールリヒター

@KarlRichter申し訳ありませんが、Z1の部分を読み間違えました。また、質問を編集し、追加の詳細を含めて、回答(私のものや他の人)がより役立つようにすることもできます。
user121391
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.