web-dev-qa-db-ja.com

zpoolを新しいSASコントローラーに移行する

ずっと前に、Adaptec 31605を購入したのは、a)真のJBODを実行でき、b)OpenSolarisで十分にサポートされているという印象でした。これらの両方が正しくなかったことが判明しました。 zpoolをNexentaStorEnterprise OSにインストールしようとしていますが、そのためには、コントローラーをLSI SAS 9201-16iと交換する必要があります。

私はプールを安価に移行するための最良の方法を見つけようとしています。現在のzpoolは、14台のSASドライブで約1TBを使用しています。私が思いつくことができる最善の方法は次のとおりです。

  1. オフラインシステム
  2. オンボードSATAポートに一時的なzpoolとして3台の1TBコンシューマーグレードSATAドライブをセットアップします
  3. zfsはすべてのデータを一時プールに送信します
  4. コントローラを交換し、LSIアダプタに新しいzpoolを構築します
  5. zfsは一時プールから新しいzpoolに送信します
  6. オンラインシステム

私がここで欠けているもの、またはそれを行うためのより良い方法の考えはありますか?

このルートに行った場合、プロセスにどのくらいの時間がかかると予想されますか?私の基本的な計算によると、1TBは100MBpsで転送するのに約3時間かかります。コンシューマーグレードのドライブでzfssend/recvを使用して、そのようなスループットを得ることができますか?

1
Sysadminicus

あなたの計画は良さそうです、私はあなたが何の問題もないと思います。一時プール用に3つの1TBディスクについて言及しました。シングルパリティraidz(2TB使用可能)を使用することを計画していると思いますが、代わりに1.5または2TBディスクのミラーリングされたペアを検討することをお勧めします。このようにして、移行が完了すると、各ディスクにプールの完全バックアップが作成されます。壊滅的な障害が発生した場合に貸金庫に投げ込むのに最適です。速度に関しては、2つの2TB SATAディスクのミラーリングされたプールで90〜130MB /秒が得られるので、3時間/ TBの数値(〜100MB /秒)は妥当なように聞こえます。私のように偏執的である場合は、SASディスクを再フォーマットする前に、一時プールをスクラブすることもできます。

コントローラーの抽象化のレイヤーなしでZFSにディスク全体を処理させるように切り替えると、草は本当に環境に優しいものになります。同じディスクを使用する複数のコントローラーのパフォーマンスを比較したり、ハードウェアに障害が発生した場合にディスクを新しいシステムに接続したりすることもできます。生のデバイスマッピングを使用して、VMWareESXiの下のVMにzfsプールを一時的にインポートしましたが、それが機能しただけで意味がありません。

1
notpeter

IMHOは、状況によってはこれが可能である可能性があります(異なるコントローラーが同じディスクをどのように処理するかわからない)。

  1. システムをオフラインにする
  2. zpoolエクスポート
  3. コントローラを交換します
  4. zpoolインポート
  5. オンラインシステム

移行が終了するまでデータのコピーが常に2つあるため、提案はとにかくはるかに安全です。

これが役立つかどうかはわかりませんが、増分zfs送信も検討してください。

  1. オフラインシステム
  2. オンボードSATAポートに一時的なzpoolとして3台の1TBコンシューマーグレードSATAドライブをセットアップします
  3. オンラインシステム
  4. zfsはすべてのデータを一時プールに送信します
  5. オフラインシステム
  6. zfs send-Iすべての違いを一時プールに
  7. コントローラを交換し、LSIアダプタに新しいzpoolを構築します
  8. zfsは一時プールから新しいzpoolに送信します
  9. オンラインシステム

このアプローチを使用すると、サービスのダウンタイムを分割し、システムがオンラインのときに最初の大きくて遅いzfs送信(SAS-> SATA)を実行できます。

1
marcoc

あなたの解決策は良さそうです。手動のZFS送信よりも必要な場合は、Nexentaの自動同期セクションを使用できます。

0
Patrick Tescher