仮想化ソフトウェアの「Xen」を用いてサーバを統合するのはいいけれど、肝心のデータやアプリケーションを格納するストレージはどのように配置するのが最も効果的でしょうか? 続編では仮想化とストレージの効果的な活用にフォーカスを当てていきます(編集部)
前回「iSCSIを用いた仮想化環境の構築手順」では、iSCSIにLVMを作成し、それをクラスタ化することによってiSCSIの共有ストレージを構築する手順について説明しました。今回はLinuxサーバを使ってNFSサーバを構築し、その上に仮想マシンを稼働させてみたいと思います。
NAS構成の共有ストレージを利用した仮想化環境は図1のようになります。
図1の構成ではNFSサーバ上のディスクを共有ストレージとしていますが、もちろんNAS専用ストレージを使うこともできます。ここでは一般的に構築しやすいNFSサーバを使ったNAS構成を例にして手順を解説します。
まずNFSサーバの設定を行います。NFSサーバの設定をするには、/etc/exportsファイルに共有したいディレクトリとアクセス条件を記述します。
# vi /etc/exports |
今回は、あらかじめ作成しておいた/srv/vmdataというディレクトリを2台のXenホストに共有させるために、次のように記述します。
/srv/vmdata 172.20.192.32(rw,no_root_squash) ←XenホストA |
次に、設定ファイルの変更を反映させます。すでにNFSサービスが起動している場合は、以下のコマンドで設定ファイルの変更を反映させます。
# exportfs -a |
NFSサービスが起動していない場合は、以下のコマンドでサービスを起動します。
# service nfs start |
設定が反映されたことを確認するためにはexportfsを引数なしで実行するか、-vオプションを指定して実行しましょう。
# exportfs -v |
以上でNFSサーバの設定は完了です。
次に、XenホストからNFSサーバの共有ディレクトリをマウントします。まずXenホストでマウントポイントを作成します。
# mkdir /mnt-nfs |
上記で作成した/mnt-nfsに共有ディレクトリをマウントするためには、以下のようにNFSサーバのIPアドレスとディレクトリを指定してmountコマンドを実行します。
# mount -t nfs 172.20.192.38:/srv/vmdata /mnt-nfs |
また、サーバ起動時に自動的にマウントするために/etc/fstabファイルを編集します。
# vi /etc/fstab |
/etc/fstabファイルには以下の内容を追記します。
172.20.192.38:/srv/vmdata /mnt-nfs nfs defaults 0 0 |
これらの設定をXenホストAとBの両方で実施することで、NFSストレージの共有化ができます。
仮想マシンをインストールする前に、NFS共有ストレージを使った場合のディスク構成を見てみましょう。
NAS構成の場合はストレージをファイルシステムとして認識するため、仮想マシンのディスクは必然的にファイル形式となることを第1回の記事で解説しました。
前回のiSCSI構成ではイニシエータの設定や論理ボリュームの排他制御など、さまざまな設定をしていたので手順が面倒でした。しかし、NFSを使った構成では排他制御はすでに提供されており、ファイル形式で仮想マシンを作成するため、簡単に構築しやすいというメリットがあります。
では実際に、NFS共有ストレージに仮想マシン「vm02」をインストールしていきます。こちらもiSCSIの場合と同様、インストールの手順はこれまでと変わりありません。
NFSに仮想マシンをインストールする際のポイントは、仮想マシンのディスクをNFS上に「ファイル形式」で作成することです。virt-installのインタラクティブモードでは、次のように指定します。
What would you like to use as the disk (path)? /mnt-nfs/vm02.img |
今回はファイルサイズを8GBに指定しました。インストール後のvm02設定ファイルを見ると、ディスクのパラメータは以下のようにNFS上のディスクが指定されています。
disk = [ "tap:aio:/mnt-nfs/vm02.img,xvda,w" ] |
以上がNAS構成の仮想化環境の構築手順の解説です。
Copyright © ITmedia, Inc. All Rights Reserved.