切っても切れない仮想化とストレージの関係:続・実践! Xenで実現するサーバ統合(1)(2/2 ページ)
仮想化ソフトウェアの「Xen」を用いてサーバを統合するのはいいけれど、肝心のデータやアプリケーションを格納するストレージはどのように配置するのが最も効果的でしょうか? 続編では仮想化とストレージの効果的な活用にフォーカスを当てていきます(編集部)
ファイルかボリュームか、それが問題だ
その前に、まず、仮想マシンのフォーマットについて少し整理しておきたいと思います。Xenでは仮想マシンは「ファイル」または「ボリューム」という単位で作成することになります。
ファイルについては説明不要かと思います。ここでいうボリュームというのは、ディスクそのもの(/dev/sdaなど)、ディスク上のパーティション(/dev/sda1)、LVMの論理ボリューム(/dev/Vg-01/Vol-01など)のいずれかを指します。それぞれは以下のような階層構造になっています。
各フォーマットの特徴を簡単にまとめてみましょう。
■ファイル形式
取り回しが容易。仮想マシン実体をごっそりコピーしたり、ネットワーク経由で転送したりという操作が、普段使い慣れたcpやscpといったコマンドで簡単に行えます。実体ファイルは作成時にサイズ指定できるので、柔軟に容量を割り当てることができますが、いったん作成した後に容量を伸長するのは容易ではありません。
■ボリューム(ディスクそのもの)
データの階層構造が最もシンプル。しかしディスク全体を仮想マシンに割り当てることになるため、ホストサーバ側で容量の調節ができません。この形式を採用するとすれば、iSCSIで細かく区切ったLUをマウントして使う場合が想定されます。容量割り当てやバックアップなどのタスクをすべてストレージに任せてしまう場合は、このフォーマットが適しています。
■ボリューム(パーティション)
ホストサーバ側でサイズを指定できるので、柔軟に容量を割り当てることができますが、いったん作成した後に容量を伸長するのは容易ではありません。
■ボリューム(LVMの論理ボリューム)
ホストサーバ側でサイズを指定できるので、柔軟に容量を割り当てることができるうえ、いったん作成した後に簡単に容量を伸長することができます。そのほか、スナップショットといった高度な操作も行えるため、ホストサーバ側で仮想マシン実体の容量割り当てやバックアップを管理する場合にはこのフォーマットが重宝します。
各構成のメリットとデメリット
では、これを理解したうえで、ストレージごとの特徴を見ていきましょう。
■ローカルHDD構成
ローカルHDDはSCSIケーブルなどで直接サーバ機と接続されるので、ネットワーク構成を考慮する必要はありません。このローカルHDDは、まずブロックデバイスという形でホストサーバに認識されます。OSからは、/dev/sdaというような形で、/devディレクトリ以下にスペシャルファイルとして見えます。仮想マシンは、このデバイスを基にしてボリュームやファイルという単位で作成することができます(図はファイルベースの場合)。
この構成の特徴は、シンプルだがストレージを複数のホストサーバで共有できないことです。このため、仮想マシンとホストサーバの組み合わせがスタティックになってしまい、ライブマイグレーションが行えません。
■iSCSI構成
iSCSIのストレージは、ホストサーバからはブロックデバイスとして認識されます。つまり、一度接続さえしてしまえば、取り回しはローカルHDDと同じように行うことができます。仮想マシンもボリューム、ファイルと、さまざまな形式で作成することが可能です(図はファイルベースの場合)。
この構成の特徴は、複数のホストサーバでストレージを共有できるので、ホストサーバと仮想マシンをダイナミックに組み合わせられることです。また、ブロックデバイスレベルでストレージを共有するため、仮想マシンをLVMの論理ボリュームで作成すれば、ホストサーバ側からデータに対してさまざまなオペレーションを行うことができます。
■NAS構成
ローカルHDDがブロックデバイスとしてホストサーバから認識されるのに対し、NASはファイルシステムとして認識されます。従ってNASの場合は、パーティションや論理ボリューム単位で仮想マシンを作成することはできず、常にファイル形式で作成することになります。
この構成の特徴は、複数ホストサーバでストレージを共有できるので、ホストサーバと仮想マシンの組み合わせをダイナミックに行えることです。
iSCSI構成との違いは、繰り返しになりますが、NAS構成ではファイルシステムレベルでストレージを共有するため、すべての仮想マシンはファイル形式で作成することになります。よって、ホストサーバ側で容量の変更やLVMのスナップショットなどの操作を容易に行うことができません(注2)。
注2:ただし、ファイル形式でもVHD形式やqcow形式など特殊なフォーマットを用いれば、スナップショットのような高度な操作も可能になります
このようにストレージの種類によって、データの階層構造は異なってきます。それに伴い、仮想マシンの配置方法も、ボリュームベースで作成できるのか、それともファイルベースで作成できるのか変わってきます。
iSCSIとNASはいずれも、複数のサーバから同じデータ(仮想マシン)へのアクセスを可能にするストレージですが、その仕組みは大きく異なります。
iSCSIは純粋にネットワーク経由でブロックデバイスへのアクセスを提供します。一方NASは、ブロックデバイスより上位のファイルシステムへのアクセスをネットワーク経由で提供し、さらにそのファイルシステムへの排他制御も提供しています。従って、複数のホストサーバで、NAS上の仮想マシンのデータ(ファイル)を共有するのは簡単に実現できますが、iSCSIの場合には、排他制御の部分など、共有に際して必要なさまざまな機能を補ってあげる必要があります。
では次回以降、仮想マシンからiSCSI、NASへの接続手順と、そのストレージ上に仮想マシンを作成して複数のホストサーバで共有するための環境構築手順を解説したいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します - 特集:サーバの仮想化技術とビジネス展開の可能性
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった - 特集:仮想化技術のアプローチと実装
1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう - 特集:仮想OS「User Mode Linux」活用法
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 - 特集:仮想化技術の大本命「Xen」を使ってみよう(インストール & Debian環境構築編)
高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう - 特集:仮想化技術の大本命「Xen」を使ってみよう(Xen対応カスタムカーネル構築編)
Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる - 特集:IPv6、UML、セキュリティ機能の統合-全貌を現したLinuxカーネル2.6[第4章]
今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう - Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう - 古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する