Linuxホストを新しいハードウェアにコピーする


13

古いハードウェアから新しいハードウェアへのホスト間移行をホストする必要があります。具体的には、HP BL460G7からHP BL460G8へ。古いサーバーと新しいサーバーの両方に2台の600GB 2.5インチドライブがあり、RAID1用に構成されています。サーバーあたり30分のダウンタイムを許容できます。

移行するサーバーは4つあり、最小のものには合計120GBが論理ボリュームに割り当てられ、最大のものには510GBが割り当てられています。3台のサーバーがRHEL5を実行しており、1台がRHEL6を実行しています。

OSと重要なデータを破壊せずに、指定された時間枠内でこれを行う方法について頭を悩ませてきました。

私の唯一の考えはこれです:

  • 古いサーバーから1つのドライブを削除します(サーバーの電源が入っています)
  • 新しいサーバーから両方のドライブを削除します(サーバーはオフになります)
  • キャディからG7ドライブを取り外し、脇に置きます
  • G8ドライブをキャディから取り外し、G7キャディにインストールする
  • G7キャディのG8ドライブを古いサーバーにインストールする
  • RAIDコントローラがRAID1アレイを再構築するのを待ちます
  • 古いサーバーのシャットダウンが完了したら
  • G7キャディのG8ドライブを削除する
  • G8キャディにG8ドライブをインストールし、G8に挿入します(単一ドライブがインストールされています)
  • ブートG8サーバー
  • OSが起動するのを待ちます
  • OSが起動したら、残りのドライブを挿入します
  • RAIDアレイが再構築するのを待つ

この音は正気ですか?

編集:RHEL5はRHEL5.10で、RHEL6はRHEL6.6です

また、2つのシステムは、アプリケーションの「イベント」(重要なインフラストラクチャシステムの一部)のほぼ一定の複製を行うホット4ノードクラスターの一部であることに注意してください。バックアップはありますが、システム全体に障害が発生した場合にのみ使用します。

以前のテストでは、システム間の最大「dd」が約50MBpsであることが示されましたが、これは非常に遅いです。

編集:私はピックアップとハードウェアの変更に対処するために葛に依存するつもりだった。


RHEL5およびRHEL6のどの特定のバージョンが使用されていますか?
ewwhite

編集で回答
user1174838

G7ディスクをGen8サーバー内に収めようとしないでください。物理的なトレイ以外にも変更があります。
チョッパー3

重要なデータを含むRAIDを意図的に劣化させることは、良い計画とは思えません。
カスペルド

回答:


18

ディストリビューションによっては、他の手順が必要になる場合があることに注意してください。最も顕著なドライバー(@ewwhiteを指摘してくれてありがとう)。

  1. livecd / usbから新しいサーバーを起動します。
  2. 新しいドライブでパーティションとブートブロックを準備します。
    • セットアップによっては、MBR / bootblockをコピーすることでこれを実行できます。
  3. ファイルシステムを作成します。
  4. 古いサーバーから新しいサーバーへのrsyncを実行します。
    • フォローアップrsyncの所要時間を確認するために、もう一度実行することをお勧めします。30分未満の場合は続行します。
    • 新しいシステムが起動したら、実際に試してみることができます。IP(またはその他)の競合を引き起こさないように注意してください。
  5. ファイルシステムに書き込むすべてのサービスをシャットダウンします
    • できればlivecd / usbで再起動してください
  6. 古いサーバーから新しいサーバーへのRsyncデータ
  7. 新しいサーバーを再起動して使用する

このようにすると、元のサーバーはそのまま残ります。したがって、何か問題が発生した場合は、簡単に戻ることができます。しかし、それはある程度の知識(grub / rsync / partitions)を必要とするので、実際に実行する前に事前準備とテストを行うことをお勧めします。


実際には2つのプラットフォームにはドライバーの違いがあるため、使用しているRHELのマイナーリリースを知ることが重要です。
ewwhite

ええ、私はエンタープライズディストリビューションに関連するものには答えるべきではありません...申し訳ありませんが
フォックス

@Fox:一般的な需要により削除されません。あなたの答えは良いです。
スベン

1
@ user1174838それは障害ではないはずです...私が目にする唯一の問題は、非常に大量の小さなファイルです。
フォックス

1
そして、この素晴らしいソリューションを忘れないでください、二重rsyncはサーバーのダウンタイムを最小限に抑えます:データの大部分は実行中のサーバーで転送されるため、2番目のrsync(現在サービス停止中のサーバー)は最新の違い。
peterh -復活モニカ

6

2つのこと:

  • 新たにrsyncデータを作成します。
  • ダウンタイムの割り当て/ウィンドウが短すぎるようです。30分には、特定の状況で動作することができますが、ないはずあなたはそれが実際に作業を遂行するために必要なものに基づいて、現実的なダウンタイムの要件を規定すること?

各サーバーに含まれるデータ、データチャーンの量、およびプロビジョニングスキームに応じて、必要なOSを新しいGen8 ProLiantにインストールし、設定を停止できるポイントでその他のデータ部分を同期するのが理にかなっている場合がありますデータ。

おそらくシードコピーを作成し、後続のrsyncでファイルの変更を取得するのにかかる時間からダウンタ​​イム要件を導き出します。転送プロセスを高速化する必要がある場合、または多数の小さなファイルがある場合は、それを支援するテクニックがあります。

私はこの種の移行を頻繁に行います。同様のLinuxインストールでは、正確なパッケージリスト(YumまたはRPMから簡単に入手可能)、構成ディレクトリ(例/etc)、およびデータパーティション以外のものはほとんど必要ありません。キックスタートプロビジョニングシステムがまだない場合は、この/root/anaconda-ks.cfgファイルを利用して、G7システムがどのように構築されたかを把握できます。

言及した特定のRHELバージョンに基づいて、単にディスクを移動するという質問に答えるために、これは絶対に可能です。ディスク/キャディを移動できます。HPSmartアレイのメタデータは、システムにあるP410コントローラーとP420コントローラーの間で互換性があります。ただし、最初に新しいシステムのドライブとコンポーネントのファームウェアを完全に更新せずにこれを行うことはできません。


このスレッドのいくつかの本当に良いコメント、ありがとう。PMに戻って、より大きな変更ウィンドウをリクエストします。
-user1174838

1

以前のOSバージョンが新しいハードウェア(主にRAIDコントローラー)を処理できる場合、CloneZillaを試してみることができます。

あるハードウェアから別のハードウェアに移動できるかどうかを確認するには、ddを使用して、古いサーバーから新しいサーバーにすべてのデータをcadで渡します。

SystemRescueCDなどのライブディストリビューションで新しいサーバーを起動し、次のようなIPアドレスとddコマンドで構成します。

nc -l 8000 | dd of=/dev/sda

現在のサーバーで実行します

dd if=/dev/sda | nc ${newserverip} 8000

これにより、サーバーの/ dev / sdaの新しいコピーが新しいサーバー/ dev / sdaに作成されます。このようにして、元のサーバーでダウンタイムを発生させることなく、ほぼゼロのリスクでテストを実行できます。


2
古いディスク、特にデータベースサーバーなどのファイルに書き込むプロセスを古いサーバーで実行したままにすると、破損した(コピーされた)ファイルシステムと(コピーされた)ファイルの破損したデータが残る可能性が非常に高くなります。マウントされていないか読み取り専用でマウントされていない限り、rawディスクをddしないでください。
ガントラムBLOHMはモニカ・サポート

@GuntramBlohm私が知っているのは、donwtimeなしで古いサーバーを新しいサーバーに複製できるかどうかを確認することです。テストが完了したら、サーバーのクローンを作成できます。もちろん、サーバーをシャットダウンしたり、主要なサービスを停止したりできます。
alphamikevictor

CloneZillaおよび関連する技術は、システム間でデータをコピーするのに30分以上かかります。
user1174838

0

プロジェクトマネージャーは、停止時間を長くするという私の要求を拒否しました。

質問で概説された提案された手順は、テストでうまく機能しました。ダウンタイムは20分未満でした。hpacucliユーティリティを使用してG7の進行状況を監視し、次にGen8を監視しました。これは非常に役立ちました。

私はまだ怒りながらこれをやっていませんが、述べたように、これはBL460G7からBL460 Gen8上のRHEL 5.10のテストでうまく機能しました。

ファームウェアを更新しませんでした。

G7での最初のRAID1再同期には1時間以上かかりました。Gen8での再同期には50分もかかりませんでした。これは心配でしたが、私は問題を見つけることができませんでした。

すべての有益なコメントと提案をありがとう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.