古いハードウェアから新しいハードウェアへのホスト間移行を行う必要があります。具体的には、HP BL460G7 から HP BL460G8 への移行です。古いサーバーと新しいサーバーの両方に 2 x 600GB 2.5 インチ ドライブがあり、RAID1 用に構成されています。サーバー 1 台あたり 30 分のダウンタイムは許容できます。
移行するサーバーは 4 台あり、最小のサーバーには論理ボリュームに合計 120 GB が割り当てられ、最大のサーバーには 510 GB が割り当てられています。3 台のサーバーは RHEL5 を実行しており、1 台のサーバーは RHEL6 を実行しています。
私は、OS と重要なデータを破壊せずに、指定された時間内にこれを実行する方法について頭を悩ませてきました。
私の唯一の考えはこれです:
- 古いサーバーからドライブを 1 つ削除します (サーバーはオンになっています)
- 新しいサーバーから両方のドライブを取り外します(サーバーはオフになっています)
- G7ドライブをキャディから取り外して脇に置いておく
- G8ドライブをキャディから取り外し、G7キャディに取り付けます
- G7キャディのG8ドライブを古いサーバーにインストールする
- RAIDコントローラがRAID1アレイを再構築するのを待つ
- 終了したら古いサーバーをシャットダウンします
- G7キャディのG8ドライブを取り外す
- G8 ドライブを G8 キャディに取り付け、G8 に挿入します (ドライブが 1 つ取り付けられている)
- G8サーバを起動する
- OSが起動するまで待つ
- OSが起動したら残りのドライブを挿入します
- RAIDアレイが再構築されるまで待つ
これは正気のように思えますか?
編集: RHEL5 は RHEL5.10、RHEL6 は RHEL6.6 です
また、システムのうち 2 つは、アプリケーションの「イベント」をほぼ常時複製するホット 4 ノード クラスターの一部であることにも言及しておくべきでした (これは重要なインフラストラクチャ システムの一部です)。バックアップはありますが、システム全体に障害が発生した場合にのみ使用します。
以前のテストでは、システム間の最大 'dd' は約 50MBps であることが示されており、これは非常に遅い値です。
編集: ハードウェアの変更を拾い上げて対処するために、kudzu に頼るつもりでした。
答え1
ディストリビューションによっては、他の手順が必要になる場合があることに注意してください。最も注目すべきはドライバーです (@ewwhite さん、指摘していただきありがとうございます)。
- livecd/usb から新しいサーバーを起動します。
- 新しいドライブにパーティションとブートブロックを準備します。
- 設定によっては、MBR/ブートブロックをコピーすることでこれを実行できます。
- ファイルシステムを作成します。
- 古いサーバーから新しいサーバーに rsync を実行します。
- 後続の rsync にどれくらい時間がかかるかを確認するために、もう一度実行することをお勧めします。30 分未満の場合は、続行します。
- これは、新しいシステムが起動するかどうかを実際に試すことができる時間です。IP (またはその他の) 競合が発生しないように注意してください。
- ファイルシステムに書き込むすべてのサービスをシャットダウンします
- できればライブCD/USBで再起動してください
- 古いサーバーから新しいサーバーにデータを再度rsyncする
- 新しいサーバーを再起動して使用します
この方法だと、元のサーバーはそのまま残るので、何か問題が起きても簡単に元に戻すことができます。ただし、ある程度の知識 (grub/rsync/パーティション) が必要なので、実際に実行する前に、事前に準備作業とテストを行うことをお勧めします。
答え2
2つのこと:
- 新たに構築し、データをrsyncします。
- ダウンタイムの割り当て/ウィンドウが短すぎるようです。30 分は特定の状況では機能しますが、そうではありません。あなた実際に作業を完了するために必要なものに基づいて、現実的なダウンタイム要件を指示しますか?
各サーバーに含まれるデータに応じて、データの量は解約する、およびプロビジョニング スキームによっては、必要な OS を新しい Gen8 ProLiant にインストールし、データを静止できる時点で設定とその他のデータ部分を同期することが合理的である可能性があります。
シードコピーを作成し、その後のrsyncでファイルの変更を拾うのにかかる時間からダウンタイム要件を導き出すこともできます。転送プロセスを高速化する必要がある場合や、小さなファイルがたくさんある場合は、それを助けることができる技術。
私はこのようなタイプの移行を頻繁に行います。同様の Linux インストールでは、正確なパッケージ リスト (Yum または RPM で簡単に取得可能)、構成ディレクトリ (例 )、およびデータ パーティション以上のものが必要になることはほとんどありません。キックスタート プロビジョニング システムをまだお持ちでない場合は、ファイルを利用して、G7 システムがどのように構築されたかを把握/etc
できます。/root/anaconda-ks.cfg
ディスクを移動するだけの質問にお答えすると、ご指摘の特定の RHEL バージョンに基づくと、これは絶対に可能です。ディスク/キャディを移動できます。HP Smart Array メタデータは、システム内にある可能性のある P410 および P420 コントローラー間で互換性があります。ただし、新しいシステムのドライブとコンポーネントのファームウェアを完全に更新してからでないと、この操作は実行しません。
答え3
以前のOSバージョンが新しいハードウェア(主にRAIDコントローラ)に対応している場合は、クローンジラ。
あるハードウェアから別のハードウェアに移動できるかどうかを確認するには、dd を使用していくつかのトリックを実行し、古いサーバーから新しいサーバーにすべてのデータを渡すことができます。
ライブディストリビューションで新しいサーバーを起動します。システムレスキューCD次のように、IP アドレスと dd コマンドを使用して設定します。
nc -l 8000 | dd of=/dev/sda
現在のサーバーで実行する
dd if=/dev/sda | nc ${newserverip} 8000
これにより、サーバーの /dev/sda の生のコピーが新しいサーバーの /dev/sda に作成されます。この方法では、元のサーバーでダウンタイムなしでテストを実行でき、リスクはほぼゼロになります。
答え4
プロジェクト マネージャーは、停止期間の延長を求める私の要求を拒否しました。
質問で概説されている提案された手順は、テストではうまく機能しました。ダウンタイムは 20 分未満でした。私は hpacucli ユーティリティを使用して、G7 と Gen8 の進行状況を監視しましたが、これは非常に役立ちました。
まだ実際にこれを実行したわけではありませんが、前述のとおり、BL460G7 から BL460 Gen8 上の RHEL 5.10 のテストではうまく機能しました。
ファームウェアをアップデートしませんでした。
G7 での最初の RAID1 再同期には 1 時間強かかりました。Gen8 での再同期には 50 分もかかりませんでした。これは心配でしたが、問題は見つかりませんでした。
有益なコメントと提案をいただき、改めて感謝申し上げます。