ニフティクラウド探検隊 ニフティクラウドにサーバを持ち込んでみた。
こんにちは、ちなつです。
本日は、ニフティの五月女の記事をご紹介します。
(*本記事の最後に五月女のプロフィールを掲載しています)
*********************************************************************
こんにちは。
ニフティでインフラを守るお仕事をしている五月女です。
08/22に実施された機能追加で待望のコンソール接続機能が提供されました!ヽ(*´∀`)ノ
前々から「提供して欲しい!」と言い続けてきた機能なのでとても嬉しいです。
コンソール接続によって様々な事が実現可能になりました。
コンソール接続は、対象サーバのネットワーク設定状態に依存しないため、iptablesやsshといったサーバのネットワーク周りの設定に失敗してしまった場合も「設定を元に戻してサーバを救う」といった事が出来ます。
また、アクセス過多でssh経由のログイン出来なくなってしまったサーバをコンソールから状態を確認したり、前々回紹介した「カーネルアップデート」の様なサーバの根幹に関わる作業も、コンソール画面を確認しながら実施する事で、より確実に実施出来る様になりました。
こんなにも便利なコンソール接続機能ですが、今回はさらに便利な使い方として、コンソール接続機能を利用した「手元のサーバをニフティクラウドに持ち込む方法」を紹介します。
※内容は、2011年09月現在時点の情報です。
■ニフティクラウドに手元のサーバを持ち込みたい!
ニフティクラウドは「サーバが欲しい!」と思ってから約5分でサーバを提供してくれます。
しかし、当然の事ながら、提供されたサーバの環境構築は自分で実施しなければなりません。
一旦、ニフティクラウド上に環境構築してしまえば、後はコピー機能を使って同じ環境を無限に増やす事が可能ですが、どうしても最初の環境構築作業は外せません。
ワンライナーで構築出来るような簡単な環境なら良いのですが、複雑な作業が求められたり、大量の設定確認が必要な場合、環境構築は多くの作業時間を必要とします。
さらに、担当者が退社しており、構築手順書も無いサーバだったりする場合、ニフティクラウド上にもう一度同じ環境を構築する事は困難を極めるでしょう。
最近の電力事情やBCP対応で「社内にあるサーバをクラウドに移行しよう!」なんてプロジェクトを進めてる人で、頭を抱えてる人もいるのでは無いでしょうか。
自分自身、そんな事をしていた時「手元のサーバをそのままニフティクラウドに持ち込めたら楽なのになぁ」と思っていました。
そこで、そんな悩みを解消する「サーバのイメージ化」と「ニフティクラウドへの持ち込み」について考えてみました。
■サーバ持ち込みに必要な要素の確認
ニフティクラウドが提供するコンソール機能とサーバのイメージ化について
ニフティクラウドが提供するコンソール機能は、ISOイメージのマウントとISOイメージからのサーバブート機能を備えています。
この機能を使い、ISOイメージとして手元のサーバを「バックアップ」し、コンソール接続を介してニフティクラウドへ「リストア」すれば、手元のサーバをニフティクラウドに持ち込む事が出来ます。
サーバをまるごとイメージとしてバックアップするツールは、有償・無償を含めて様々なツールが提供されていますが、今回は、サービスを提供中のサーバを電断せずにイメージ化する手段として、実績あるOSSプロダクトである「Mondo Rescue」を利用してみたいと思います。
持ち込むサーバについて
- 今回、ニフティクラウドへ持ち込むサーバはVMware vSphere Hypervisor(ESXi4.1)上に作成したCentOS5.5な仮想マシンでやってみました。
- 持ち込むサーバ(仮想マシン)
OS CentOS5.5(x86_64) CPU 2CPU Mem 4GB HDD 40GB NIC 1枚 - ホスト
Hypervisor
VMware vSphere Hypervisor(ESXi4.1) CPU* Core2Quad Q9550 Mem 16GB ストレージ NFS接続
■サーバをイメージ化する
Mondo Rescueのセットアップ
(1)yumからインストールする方法
Mondo RescueはCentOS標準のパッケージでは提供されていませんが、サードパーティリポジトリを追加することで、yumを利用してインストールする事が出来ます。
- サードパーティリポジトリのセットアップ
「ニフティクラウド探検隊 CentOSで手軽に最新のソフトウエアを使いたい!」の記事を参考に、サードパーティリポジトリである「RPMforge」をセットアップします。
- パッケージの確認
- パッケージのインストール
インストール完了
(2)RPMパッケージからインストールする方法
- Mondo Rescueのインストールに必要なパッケージを準備
- Mondo Rescueのダウンロード
Mondo Rescue公式サイトからパッケージをダウンロードします。
※FTPから最新のパッケージをダウンロードします。
- ダウンロードしたファイルの確認
- Mondo Rescueのインストール
インストール完了
ディスク構成の確認
- バックアップイメージ作成時に指定する必要があるのでメモしておいて下さい
- ※上記の構成なら「/」配下をバックアップすれば良さそうですね。
バックアップイメージ作成
Mondo Rescueを利用したバックアップイメージの作成方法はいくつか方法がありますが、今回は対話式インターフェースを使います。
Mondo Rescueの対話インターフェース起動
- 下記コマンドで対話インターフェースが起動します
バックアップイメージ作成先ディバイスの選択
- 今回はローカルHDDの空き領域内にバックアップイメージを作成するので「Hard disk」を選択して「Enter」
- ※注意)十分な空き領域のあるディバイスを選択する事
バックアップイメージ作成先ディレクトリを設定
- 適当に開いてそうな領域として「/mnt」を入力して「Enter」
圧縮方法を選択
- 「bzip2」を選択して「Enter」
圧縮率の選択
- 圧縮率が高ければバックアップイメージのサイズは小さくなりますが、イメージ作成・展開に時間がかかってしまいます。
今回は「Average」を選択して「Enter」
ISOファイルの最大サイズを設定
- 標準の「4480」のまま「Enter」
ISOファイルのファイル名先頭文字を設定
- 標準の「mondorescue」のまま「Enter」
対象のパスを設定
- 事前に調べておいたディスク構成から、今回は「/」を入力して「Enter」
対象外のパスを設定
- 今回は「/mnt」配下にバックアップイメージを作成するので、バックアップ対象外にしたい「/mnt」と入力して「Enter」
テンポラリ領域を設定
- こちらも「/mnt」配下を利用したいので「/mnt/mondo.tmp」と入力して「Enter」
スクラッチ領域を設定
- こちらも「/mnt」配下を利用したいので「/mnt/mondo.scratch」と入力して「Enter」
拡張属性のバックアップ可否を選択
- このまま「Yes」を選択して「Enter」
作業後の検証実施を実施するか選択
- このまま「Yes」を選択して「Enter」
対象OSのカーネルタイプを選択
- 今回は対象OSがCentOSなので「Yes」を選択して「Enter」
最終確認
- バックアップイメージ作成を実行して良いか聞いてくるので「Yes」を選択して「Enter」
- ※注意)イメージ作成中はIdleが0%になることもしばしば起こります。サービス提供中のサーバに対して実行する場合は、システムは負荷が低い時間を見計らって実行すると良いと思います。
- バックアップイメージ作成開始
- バックアップイメージ作成完了
作成されたバックアップイメージの確認
- それなりのサイズのISOファイルが作成されていればバックアップイメージ作成成功です。
■サーバをニフティクラウドに持ち込む
ニフティクラウドで受け入れ用サーバを作成する
- ニフティクラウドのコントロールパネルにログインして、受け入れ用サーバを作成します。
作業に失敗した際のリスクを最小限にするため、ここでは「CentOS 5.6 64bit Plain」で「mini(1vCPU 512MB)」を「従量課金」で作成します。
受け入れ用サーバにバックアップイメージの展開
コンソール接続
- コンソールに接続します。
- コンソール接続の方法については下記の記事が詳しいです。
=>【ニフティクラウドの機能アップデートを実施しました】
バックアップイメージのISOのマウント
- コンソールメニューの「Devices」から「CD/DVDドライブ1」内の「Connect to Disk Image File(iso)..」を選択し、バックアップイメージのISOファイルを指定します
ISOから起動
- コンソールメニューの「VMware Remote Console」から「Reset」を選択しサーバを再起動させます。
- 起動中にコンソール内で素早く「Esc」を押し「Boot Menu」を表示させ「CD-ROM Drive」を選択して「Enter」
- ※注意)複数回「Esc」を押すと「Boot Menu」が閉じてしまうので、素早く確実に一度だけ押す事
バックアップイメージ展開実行
- コンソールメニューの「VMware Remote Console」から「Reset」を選択しサーバを再起動させます。
動作確認
カーネルで「準仮想化ドライバ」が読み込まれているか確認
- ※注意)確認内容の詳細は「ニフティクラウド探検隊 お手軽ワンライナーでカーネルアップデートしてみた。【取扱注意!】」を参考にしてください。
ネットワークの確認
- IPアドレスがDHCPによる自動取得になっているか確認
OS初期化スクリプト適用
- 「OS初期化スクリプト」の適用
コントロールパネルで異常が出てないか確認
- 特にエラーやワーニング等が出力されていなければ作業完了。
- お疲れ様でした。
■まとめ
無事、手元のサーバをまるごとニフティクラウドに持ち込む事が出来ました。
今回は手元にあったvSphereHypervisor上の仮想マシンの持ち込みを紹介しましたが、もう一工夫すれば、XenServerやKVM、Hyper-vといった別のHyperviser上の仮想マシンの持ち込みや、物理サーバですらイメージ化によって持ち込む事が可能です。
また、今回、サーバのイメージ化ツールとして利用したMondo rescueは、サーバを動作させたままイメージ化出来るのが魅力的なツールですが、他にもAcronisやNorton Ghostといった商用ソフトやClonezillaといったOSSもサーバのイメージ化に使える大変便利なツールです。
それぞれのツールに特徴があるので、環境によって使い分けるのが良いかと思います。
実際のサーバ移行には、ここで触れなかった様々な問題が出るかもしれません。
しかし、手元のサーバをそのままニフティクラウドに載せる事で環境構築で楽が出来るのは確実です!
是非チャレンジしてみて下さい。
※本記事は全ての環境からのサーバ持ち込みを保証する物ではありません。
また、サーバーにデフォルトで設置されているVMware toolsに変更が入った時点でサポートが対象外になりますので、ご了承の上、お試しください。
------------------------------------
プロフィール
ライターネーム:五月女 雄ー
Twitter
入社3年目になる新米エンジニアです。
ニフティでは「インフラを守る簡単な様で奥が深い
お仕事」をしています。
夢はインフラの気持ちが読めるエンジニアになること。
------------------------------------