OSSを活用したLinuxのデータ・バックアップ
Mondo Rescueを使ったP2V
HP ProLiant G7サーバーは現在、Intel製CPU搭載機とAMD製CPU搭載機を用意しており、それらのCPUコア数は劇的に増えてきています。コア数が増えると、サーバー仮想化の利用が推進されます。1つのCPUコアあたり1つの仮想マシンを割り当てる運用が行われることが多いからです。
サーバー仮想化の主な用途の1つが、物理サーバーで稼働している既存システムを仮想サーバーへと移行するP2V(Physical to Virtual)です。OSやミドルウエアを含めた既存システム一式を、最新のハードウエア上に構築したサーバー仮想化環境で利用し続けることができます。
|
図9: P2V(Physical to Virtual)のメリットは、旧資産の延命だけではない。保守、消費電力、運用効率など、さまざまなメリットをもたらす |
P2Vは、Mondo RescueのリカバリDVDで実現できます。
移行元となある物理サーバーにMondo Rescueをインストールし、先述したmondoarchiveコマンドを用いてリカバリDVDを作成します。リカバリDVDが作成できれば、あとは、新しいサーバーで仮想サーバーを作成し、仮想サーバーに対してリカバリDVDでリストアします。OSイメージを含んだ物理ディスク全体を仮想サーバー上に復元するので、ディスク容量をかなり消費します。仮想サーバーを配置する共有ディスクの容量に注意してください。
仮想サーバーの作成には、virt-managerなどを利用します。インストール・メディアとして、リカバリDVDを使用します。
図10: Mondo Rescueにより作成したリカバリDVDを使ってP2Vを行う(左)。Mondo Rescueで作成したリカバリDVDをインストール・メディアとして仮想マシンを作成する(右)(クリックで拡大) |
P2Vには注意点があります。リカバリDVDを作成する前に、ハードウエア・ベンダーが標準で用意しているハードウエア監視エージェントや、SELinuxなどが備えるOSのセキュリティ機構を無効にする必要があるということです。特に、ハードウエア監視エージェントは、仮想サーバーでの稼働を想定していないため、仮想サーバーで起動させた場合、仮想サーバーのブートに失敗する可能性もあります。
インストール・メディアの指定をリカバリDVDにして、仮想サーバーを起動します。Virt-managerの仮想コンソールに、Mondo Rescueのリストアの画面が表示され、プロンプトが表示されます。nuke interactiveを入力して、仮想サーバーに対してリカバリを開始します。
この時、RAIDコントローラのデバイス名が異なる場合、新しいデバイス名に変更する画面が現れるので、新しいデバイス名を入力します。ProLiantサーバーが備えるSmart Arrayコントローラの多くは、デバイス名として/dev/cciss/cXdXをとります。さらに古いRAIDコントローラの場合は、/dev/ida/cXdYというデバイス名の場合もあります。KVMの仮想サーバーはデバイス名として/dev/hdXをとるのが一般的なので、これら古いRAIDコントローラのデバイス名を/dev/hdXに変更する必要があります。
|
図11: Mondo Rescueにより作成したリカバリDVDをインストール・メディアにして、仮想マシンに対してDVDブートを行う(左)。Mondo Rescueのリカバリ画面で、旧サーバーのRAIDコントローラ配下のデバイス名をKVM仮想マシンで利用するデバイス名/dev/hdXに変更する |
Mondo Rescue上でデバイス名を変更すると、リカバリが始まります。こうして、旧システムがKVM仮想サーバー上に構築され、P2Vが行われます。
|
図12: Mondo Rescueによって古いマシンから吸い出したリカバリDVDイメージを利用して、KVM環境にP2Vを行っている様子 |
Mondo Rescueではまた、P2Vの最中に新システムの設定変更が必要になることを想定した機能として、以下の設定ファイルの編集を促すP2V支援機能を備えています。
設定ファイル |
---|
/etc/fstab |
/etc/mtab |
/boot/grub/device.map |
/boot/grub/grub.conf |
これらのファイルには、Linuxの旧システムのRAIDコントローラ向けのデバイス名やパーティション名が含まれています。このため、KVM環境で正しくブートさせるためには、編集が必要です。古いProLiantサーバーのRAIDコントローラは/dev/cciss/cXdXや/dev/ida/cXdXというデバイス名なので、これをKVM環境に合うように/dev/hdXに変更します。