RAID-Z2を劣化した状態で作成できますか?

RAID-Z2を劣化した状態で作成できますか?

あるサーバーから別のサーバーに移行する予定で、いくつかのディスクをインポートしたいと思います。残念ながら、既存のサーバー上のすべてのデータをバックアップするのに十分なストレージがありません。

古いサーバー4ディスクRAID5
古いサーバーで、2つのディスクを
新しいサーバー6ディスクに移動します。RAID-Z2 (4+2)

古いサーバーでは、1つのディスクが失われる可能性がありますが、2つは失われません。

RAID-Z2 (4+2)ディスクがなくても新しいサーバーを設定できますか?すべてのデータを移動して最後のディスクを追加しますか?

それともこの問題を解決する他の方法はありますか?

ベストアンサー1

はい。偽のファイルバックアップディスクを冗長ディスクとして使用することは可能です。もちろん、サポートされておらず、バックアップが必要なので、まず古いプールの小さなファイルでシミュレートして、すべてが期待どおりに機能していることを確認してください。


詳細については、次を参照してください。https://www.mail-archive.com/[Eメール保護]/msg22993.htmlそしてhttps://www.mail-archive.com/[Eメール保護]/msg23023.htmlもっと学ぶ。他のシステム(FreeNASなど)がある場合は、オンラインで「create raidz2 Degraded」を検索することもできます。

重要な手順(Tomas ÖgrenとDaniel Rockのメーリングリストアーカイブスレッドから取得)は次のとおりです。

  1. 物理ディスクサイズ(この例では1000 GBと仮定)でスパースファイルを作成します。

    mkfile -n 1000g /tmp/fakedisk1
    
  2. 物理ディスクとスパースファイルを使用してzpoolを作成します。

    zpool create -f newpool raidz2 disk1 disk2 disk3 disk4 disk5 /tmp/fakedisk1
    
  3. 誰もファイルに書き込もうとしないように、スパースファイルをすぐにオフラインにします。

    zpool offline newpool /tmp/fakedisk1
    
  4. これでプールはダウングレードされますが、機能します。ファイルを新しいプールにコピーします(直接接続されたプールの代わりにネットワークを使用する場合、または間を使用ssh)。netcatsendrecv

    zfs snapshot -r oldpool@now
    zfs send -R oldpool@now | zfs recv -Fdu newpool
    
  5. 古いファイルを削除し、スパースファイルを現在利用可能なディスクに置き換えます。

    zpool replace newpool /tmp/fakedisk1 disk6
    

繰り返しますが、冗長性のレベルに応じて(Z2で2つのダミーディスクを使用する場合、またはZ3で3つのダミーディスクを使用する場合):

覚えておいてください:データ移行プロセス中は、シートベルトなしで実行されます。移行中にディスクに障害が発生すると、データが失われます。

おすすめ記事