2008の新しい仮想化技術であるHyper-Vのアーキテクチャと簡単な構築手順について解説した。Hyper-Vの登場により、仮想化環境を容易に導入できるようになってきたが、思いつきや勢いに任せてサーバの仮想化を進めていくと、思わぬ落とし穴にはまってしまうことがある。そこで本連載では、仮想化環境を導入する際の注意点やノウハウ、そして構築後の管理・運用方法について述べていきたいと思う。仮想化ソフトウェアとしてはHyper-Vを対象に解説をしているが、一般な仮想化ソフトウェア全般に適用できる内容も含んでいるので、仮想化環境を導入するうえでの一助になれば幸いである。後ろ側の画面はHyper-Vを管理するための「Hyper-Vマネージャ」、手前側の画面は仮想マシンに接続して操作しているところ。仮想化環境の導入作業を進める前に、初めに仮想化の対象として考えているサーバが仮想化環境に適しているかを確認しておこう。一般的に仮想化に向かないサーバとしては、特殊なハードウェアを接続して使用する場合が挙げられる。プリンタ/FAX/USBデバイスなどが代表的である。これらのデバイスは、仮想化ソフトウェアに対応していない場合が多く、仮想化環境では接続しても利用できない場合があるので、各ハードウェア・ベンダに動作状況について確認しておく必要がある。リソース(プロセッサ/メモリ/ネットワーク/ストレージ)を多く占有するサーバについても、ほかの仮想マシンと共存する上で問題となりやすいので、無理に仮想化すべきではない。■事前調査(アセスメント)とサイジング一般的な物理サーバのサイジングと同様に、まずは仮想化の対象としているサーバに関する事前調査(アセスメント)が重要である。各サーバの用途を明確化し、関連するITインフラ環境も併せて整理しておくとよい。これらの結果をもとに、各サーバを仮想マシンとして構築するためのサイジングを行う。以下に、整理しておくべき項目と注意点を挙げておく。●オペレーティング・システム(ゲストOS)とアプリケーション仮想化ソフトウェアでゲストOSやアプリケーションがサポートされているかを事前に確認する。マイクロソフト製品の情報は、サポート技術情報に掲載されているので、ここで確認しておく。サポート技術情報)●プロセッサとメモリの使用量(すでに稼働しているサーバの場合)すでに稼働しているサーバのプロセッサの動作クロックとコア数、搭載メモリ容量とそれらの使用率から、仮想化環境を構築するサーバを動作させるために必要なプロセッサの動作クロックとメモリ容量を算出する。対象サーバが所属するネットワーク・セグメントやIPアドレスの設定、VLANの有無、必要となるネットワーク・インターフェイス(NIC)のポート数などを調査しておく。仮想化環境では、物理サーバの1つのネットワーク・ポートを複数の仮想マシンで共有して使用するケースが多々あるため、各サーバがどれぐらいネットワーク帯域を使用するかも確認しておくとよい。●ストレージ環境システム領域とデータ領域、それぞれに必要となるデータ容量を洗い出しておく。通常、システム領域は仮想ハードディスク(VHDファイル)形式を採用する。データ領域については、ハードディスクの形式による条件に加え、後述のバックアップ/リストア要件も含めて考慮し、仮想ハードディスク形式(ホストOSから見ると拡張子が「.VHD」の1つのファイルとして認識される方式)とパス・スルー形式(物理ディスクをボリューム単位でそのまま仮想マシンに割り当てる方式)のどちらを選択するかを検討する。●可用性要件サーバに求められる稼働率やメンテナンスなどによる計画停止が可能な時間帯、その頻度を整理しておく。仮想化環境にサーバの集約化を進めることで、集約先の物理サーバのメンテナンスや障害による停止の影響も受けるようになる。複数の仮想マシンを集約する場合、計画停止のタイミングを合わせなければならないといった課題も上がってくるだろう。勤務開始時間や月末・月初めなど、ユーザーの利用傾向によっては急に負荷が高まるアプリケーションがある。それらを事前に考慮したうえで、最大ピーク時の負荷にも耐えられるスペックで仮想マシンのサイジングを行う。運用時に携わる管理者ごとに権限の範囲を明確化しておく。「管理者Aは仮想マシンの作成のみ可能」「管理者Bは仮想マシンの電源オン/オフ操作のみが可能」といった具合に、それぞれ役割に応じた権限のアカウントを準備し、それぞれの管理者に適切に割り当てる。セキュリティ・パッチやファイアウォールなどの管理については、物理サーバや仮想マシンといった区別は特になく、一般的なサーバと同様に考えてよい。なると、監視対象は、物理サーバ/仮想化ソフトウェア/仮想マシンと多岐にわたってくる。それぞれのくくりの中で、リアルタイムに検知する必要がある項目や定常的にデータ収集してレポートとしてまとめておく項目などを洗い出しておき、監視システムに反映させることが可能かを確認する。仮想マシンをオフラインにした上で、仮想マシンの構成ファイルと仮想ハードディスクをファイルとしてバックアップ(エクスポート)する方法が最も単純である。オンラインのままバックアップを取得したい場合は、仮想マシンにバックアップ・ソフトウェアのエージェントを導入し、ネットワーク経由でバックアップする方法などもあるが、多くのデータがネットワーク上に流れるため、ネットワーク・パフォーマンスの低下などの影響を考慮する必要がある。Service)を利用した方法が考えられるが、バックアップ・ソフトウェアの対応状況や、仮想マシン上で稼働させているアプリケーション・データの整合性などを考慮する必要があるため、事前に検証を行ってから導入することをお勧めする。データ領域をパス・スルー形式のディスクで構築した場合には、外部ストレージの複製機能などと連携したバックアップ方法も考えられる。ストレージとアプリケーションの連携やサポート状況などが特に構築時のポイントとなるため、あらかじめ各ベンダに構成を確認していただきたい。本番運用を開始する前に、少数のパイロット・ユーザーによるテスト運用を行うとよい。既存サーバからの移行を行う場合は、移行前と移行後のサーバを同時に起動できないケースもあるが、その場合はテスト用の閉じられた環境でテスト運用を行う。重要な点としては、本番運用時と同様の管理オペレーションを行うことである。仮想化環境に移行すると、仮想化ソフトウェアという新たな「レイヤ」が追加されるため、どうしても環境全体の複雑さは増し、それゆえ管理上の課題が浮き彫りになることもある。そこで、テスト運用時に監視/バックアップ/リストア/そのほかの定常的なオペレーションを実施し、本番運用の開始前に課題を解決しておく。■本番運用の開始テスト運用時に、管理オペレーションに関する課題はすでに解決しているはずだ。本番運用では、利用ユーザーが大幅に増加し、負荷が増大するため、設計フェイズで想定した負荷状況との比較を行い、そのギャップを把握する。本番運用を開始する際には、想定外の負荷によるパフォーマンス悪化を防ぐためにも、物理サーバのリソース(特にプロセッサとメモリ)は余裕を持って搭載しておき、緊急時にはすぐに仮想マシンにリソースを追加できる準備をしておくとよい。仮想化環境の導入後に関しては、通常のサーバを新規に導入した場合と同じである。継続的にパフォーマンス・データを収集し、過去のパフォーマンス・データと比較して将来的に必要となるリソースを予測する。イベント・ログなどからエラーや警告などで重要なものを洗い出し、障害の予兆を事前に把握しておくことが重要である。(2017/7/21)キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。