自宅サーバ ESXi 化完了
ひどい頭痛のため、この日曜日に予定していた大学時代の友人の結婚披露宴をキャンセルしてしまったので週末は時間が空いてしまった<。金曜日に処方された薬が割と効いているので再挑戦することにした。
結局、既存サーバ環境 (openSUSE 10.3) の VM 化を諦め、新規構築した VM (openSUSE11.1) にデータをコピーしてからちまちまと調整するという、旧態依然とした作業になった。サーバの停止が前提なら、コピーも含めて正味丸2日かければなんとかなる。
(1) ハードウェア環境
(A) 臨時環境(旧サーバ)
- 組み上げ自作ハード
- AMD Duron 800MHz
- メモリ 768MB
- HDD ATA 80GB
- OpenSUSE 11.1 (32bit) インストール
- PCI に SATA カードを増設
- (B) のサーバで使っていた HDD SATA 160GB (OpenSUSE 10.3) を追加
- 内蔵の LAN I/F などなく、PCI で 100M Ether を増設
(B) 移行先環境
- HP ProLiant ML115 G1
- AMD Dual-Core Opteron 2.2GHz
- メモリ 2GB
- HDD SATA 500GB (Seagate 祭り仕様)
- 内蔵 Broadcom Giga Ether LAN I/F
- USB メモリから VMware ESXi を boot
(2) 移行手順
- (B) に移行先の仮想マシン(VM) を作成。
- VM に OpenSUSE 11.1 をインストール
- (A) を ATA の HDD (OpenSUSE 11.1) で起動する。
- コピー対象の SATA HDD は /mnt/system/root 等にマウントしておく。
- (A) の全てのファイルを、(B) の /home/backup 以下にコピーする。双方ともファイルシステムは XFS。
- (B) で受信準備
netcat -l -p 9001 | xfsrestore – /home/backup/ - (A) で送信
xfsdump – /mnt/system/root | netcat em>B_IP_ADDR/em> 9001 - XFS の拡張アトリビュートを含めすべてコピーされる。
- (B) で受信準備
- ファイルがすべてコピーできたら、(A) はシャットダウンする。
- あとは (B) の仮想環境内だけでごりごりコピーを行いながら調整する。
xfsdump/xfsrestore を使うことで、ファイルシステムの整合を保ちながら HDD のサイズを変更することが可能になる。ext2/ext3 の場合は dump/restore を使用する。netcat (RedHat 系では nc) が双方にインストールされていれば上記のように簡単だが、ない場合は ssh や rsh を使用することになり、いずれもパフォーマンスが問題であったり設定が面倒等の問題がある。netcat 便利ですね。
ファイル単位なので、LVM なパーティションから LVM なしの環境に抜くこともできる。dd と違って何も書かれていない領域はコピーしない。ただし dump/restore は ext3→ext3、xfsdump/xfsrestore は XFS→XFS というように、同じファイルシステムにしかコピーできない。afio や dar といったツールを使えばいいのかもしれないが、ファイルシステムに密着したダンプツールの方が、正確な権限やアトリビュートを再現できるはず。
さて、この blog サーバは移行後の ESXi 上の OpenSUSE 11.1 VM で動作している。リモートで使用していると、VM であることを意識することはなく快適だ。さすが ESXi。Native で VM が動くというのが実にいい感じだ。
今のところ (B) 機につけた HDD 500GB のうち、 250GB 程度しか割り当てていないので、残りの領域にも他の OS をインストールできる余地がある。評価用の CentOS とか Windows7 beta とかもそのうち入れてみよう。そうなるとメモリが 2GB だと心許ないな。せめて 4GB 程度には増やしたい。
最近のコメント