[自鯖] 新規サーバーへ移行しました [緊急避難]

最近、ひそかにこのサーバーを新しいマシンへ移行しました。
Debian etch を ESXi 上の仮想化環境へ移動したのですが、いろいろとネタがありましたので、ココにまとめておきます。

だいぶ長くなったので、詳細の移行実施内容については、別記事にして執筆しています。こちらでは、全体感・概要を認識していただければと考えています。

背景・経緯

5年あまりに渡って稼働している Pentium !!! 1.13GHz のエコじゃない自鯖のHDDがやばくなりました。HDD を買ってきて交換するにも、HOT-SWAPできないので、電源を落としたときに他にもイロイロと道連れをするんじゃないかと考えられました。従って、安い新しいマシンを準備して、一時的にそこで稼働させたらどうか、という考えに至りました。

私は5階に住まいを持っていますが、我が家のサーバー自体は 2階の義妹の部屋にあります。従って、基本的にはリモート管理を実施しています。
特にログ監視を実施しているわけではないため、ハードウェアの障害は定期的に /var/log/messages や dmesg、/var/log/kern.log を確認するコトが重要です。

そのときも、いつもの通り /proc/mdstat の内容を確認し、dmesg をしたら・・・。どうでしょう。

hdg: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdg: dma_intr: error=0x40 { UncorrectableError }, LBAsect=28194261, sector=28194111
ide: failed opcode was: unknown

こんなものがたくさん・・・。これは危険です。危険です。

来年を目処に、自鯖は更改の予定です。こういった危険からの回避や処理能力の不足、障害時の対応などの課題について対策をうつためです。しかしながら、それを前倒ししてサーバーを購入するには、基盤の方針もなにも準備も出来ていませんでした。できれば、今のサーバーをそのまま延命させ、更改までは稼働してもらいたい、そう考えました。
そこで私は、最近、安サーバーが大量に出回っていることに気がつき、一時的に安サーバー上に仮想化して移行すればよい、という発想に行き着いたわけです。

目的

  • 現行のサーバーを、安定したサーバー上で一時的な安定稼働を実装する

要求事項

  1. 現行のOSを含むソフトウェア構成は変更せずに、そのままコピーして稼働させること。
  2. 最低限、ディスク障害時においては復旧が即時可能なこと
  3. 次期更改を鑑みて、仮想化環境へ移行すること。
  4. 長くても2週間程度で移行が可能なこと
  5. 3〜5万程度の予算範囲で準備

実施概要

  1. ハードウェアを準備する
  2. 仮想化ソフトウェアを準備する
  3. 仮想化ソフトウェアを導入する
  4. P2V 移行を実施する
  5. 仮想化環境で稼働するように調整する。
  6. データファイルを同期する
  7. サーバーを切り替え

移行内容詳細

別記事を参照のこと。

Lessons Learned

  • 提供されるP2V移行ツールは簡便で確実性が高い。(1)完全コピーのため、構成を引き継いで移行できる (2)稼働したままコピーが作成できる
  • P2V サポートされていない Debian Linux においても、移行後に/etc/fstab と kernel をあわせて変更できれば、それ以外のすべての構成変更なく移行できる。
  • 現行サーバーが100Mbpsや低スペック機器だったため、転送に10時間とかかった。この間に vCenter Converter のネットワークが切断されると、エラーが発生して終了。途中からのやり直し方法が発見できなかったため、一からやり直しとなる。障害時の対策を検討できていなかったことで、時間を浪費した。
  • 移行時には、外部向けサービスを停止して、ユーザーデータ部分のみ、rsync で同期することで、直前まで稼働していたままで移行可能。rsync 万歳。