切っても切れない仮想化とストレージの関係続・実践! Xenで実現するサーバ統合(1)(2/2 ページ)

» 2008年04月18日 00時00分 公開
[中嶋一樹@IT]
前のページへ 1|2       

ファイルかボリュームか、それが問題だ

 その前に、まず、仮想マシンのフォーマットについて少し整理しておきたいと思います。Xenでは仮想マシンは「ファイル」または「ボリューム」という単位で作成することになります。

 ファイルについては説明不要かと思います。ここでいうボリュームというのは、ディスクそのもの(/dev/sdaなど)、ディスク上のパーティション(/dev/sda1)、LVMの論理ボリューム(/dev/Vg-01/Vol-01など)のいずれかを指します。それぞれは以下のような階層構造になっています。

図3 データの階層構造 図3 データの階層構造

 各フォーマットの特徴を簡単にまとめてみましょう。

ファイル形式

 取り回しが容易。仮想マシン実体をごっそりコピーしたり、ネットワーク経由で転送したりという操作が、普段使い慣れたcpやscpといったコマンドで簡単に行えます。実体ファイルは作成時にサイズ指定できるので、柔軟に容量を割り当てることができますが、いったん作成した後に容量を伸長するのは容易ではありません。

ボリューム(ディスクそのもの)

 データの階層構造が最もシンプル。しかしディスク全体を仮想マシンに割り当てることになるため、ホストサーバ側で容量の調節ができません。この形式を採用するとすれば、iSCSIで細かく区切ったLUをマウントして使う場合が想定されます。容量割り当てやバックアップなどのタスクをすべてストレージに任せてしまう場合は、このフォーマットが適しています。

ボリューム(パーティション)

 ホストサーバ側でサイズを指定できるので、柔軟に容量を割り当てることができますが、いったん作成した後に容量を伸長するのは容易ではありません。

ボリューム(LVMの論理ボリューム)

 ホストサーバ側でサイズを指定できるので、柔軟に容量を割り当てることができるうえ、いったん作成した後に簡単に容量を伸長することができます。そのほか、スナップショットといった高度な操作も行えるため、ホストサーバ側で仮想マシン実体の容量割り当てやバックアップを管理する場合にはこのフォーマットが重宝します。

各構成のメリットとデメリット

 では、これを理解したうえで、ストレージごとの特徴を見ていきましょう。

ローカルHDD構成

 ローカルHDDはSCSIケーブルなどで直接サーバ機と接続されるので、ネットワーク構成を考慮する必要はありません。このローカルHDDは、まずブロックデバイスという形でホストサーバに認識されます。OSからは、/dev/sdaというような形で、/devディレクトリ以下にスペシャルファイルとして見えます。仮想マシンは、このデバイスを基にしてボリュームやファイルという単位で作成することができます(図はファイルベースの場合)。

図4 ローカルHDD構成 図4 ローカルHDD構成

 この構成の特徴は、シンプルだがストレージを複数のホストサーバで共有できないことです。このため、仮想マシンとホストサーバの組み合わせがスタティックになってしまい、ライブマイグレーションが行えません。

iSCSI構成

 iSCSIのストレージは、ホストサーバからはブロックデバイスとして認識されます。つまり、一度接続さえしてしまえば、取り回しはローカルHDDと同じように行うことができます。仮想マシンもボリューム、ファイルと、さまざまな形式で作成することが可能です(図はファイルベースの場合)。

図5 iSCSI構成 図5 iSCSI構成

 この構成の特徴は、複数のホストサーバでストレージを共有できるので、ホストサーバと仮想マシンをダイナミックに組み合わせられることです。また、ブロックデバイスレベルでストレージを共有するため、仮想マシンをLVMの論理ボリュームで作成すれば、ホストサーバ側からデータに対してさまざまなオペレーションを行うことができます。

NAS構成

 ローカルHDDがブロックデバイスとしてホストサーバから認識されるのに対し、NASはファイルシステムとして認識されます。従ってNASの場合は、パーティションや論理ボリューム単位で仮想マシンを作成することはできず、常にファイル形式で作成することになります。

図6 NAS構成 図6 NAS構成

 この構成の特徴は、複数ホストサーバでストレージを共有できるので、ホストサーバと仮想マシンの組み合わせをダイナミックに行えることです。

 iSCSI構成との違いは、繰り返しになりますが、NAS構成ではファイルシステムレベルでストレージを共有するため、すべての仮想マシンはファイル形式で作成することになります。よって、ホストサーバ側で容量の変更やLVMのスナップショットなどの操作を容易に行うことができません(注2)。

注2ただし、ファイル形式でもVHD形式やqcow形式など特殊なフォーマットを用いれば、スナップショットのような高度な操作も可能になります


 このようにストレージの種類によって、データの階層構造は異なってきます。それに伴い、仮想マシンの配置方法も、ボリュームベースで作成できるのか、それともファイルベースで作成できるのか変わってきます。

 iSCSIとNASはいずれも、複数のサーバから同じデータ(仮想マシン)へのアクセスを可能にするストレージですが、その仕組みは大きく異なります。

 iSCSIは純粋にネットワーク経由でブロックデバイスへのアクセスを提供します。一方NASは、ブロックデバイスより上位のファイルシステムへのアクセスをネットワーク経由で提供し、さらにそのファイルシステムへの排他制御も提供しています。従って、複数のホストサーバで、NAS上の仮想マシンのデータ(ファイル)を共有するのは簡単に実現できますが、iSCSIの場合には、排他制御の部分など、共有に際して必要なさまざまな機能を補ってあげる必要があります。

 では次回以降、仮想マシンからiSCSI、NASへの接続手順と、そのストレージ上に仮想マシンを作成して複数のホストサーバで共有するための環境構築手順を解説したいと思います。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。