VMware Virtual SANで実現するストレージ仮想化:Part1 構成とストレージポリシー
2014年4月3日(木)
Virtual SAN(VSAN)はVMwareの目指す「Software-Defined Storage」を実現するための主となるテクノロジです。VSANはVMware vSphereが構成されたESXiホスト上に搭載されているローカルディスク、フラッシュデバイスを抽象化しそれをプール化します。プール化したローカルディスクは分散型共有ストレージとして利用することができます。これにより物理ストレージをなくしてvSphere HAやvMotionなどの機能を実現することが可能です。VMwareがストレージの抽象化技術として今後注力している技術の1つです。
VMware Virtual SANとは?
VSANの特徴は各ESXiホストに搭載されている内蔵ストレージを集約し、1つの分散型共有ストレージとしてESXiホストが利用することです。ESXiホストに搭載されている内蔵ストレージはSASやSATAといった大容量かつ低価格なハードディスク、そして高速にI/Oを処理するフラッシュデバイスが搭載され、これらを組み合わせることで低価格かつ高速な分散型共有ストレージを実現します。VSANは分散型でハイブリッドな仮想共有ストレージと言えます。
ESXiホストに搭載されている内蔵ディスクを利用して仮想的な共有ストレージを実現する製品としてVMware vSphere Storage Appliance(VSA)を思い浮かぶ方もいらっしゃるかと思います。仮想的な共有ストレージを提供するという観点ではどちらも同様の機能を有しているといえますが、両者は似ても似つかぬ立場にあります。VSAは仮想アプライアンスで提供されており、小中規模をターゲットに設計され、ESXiホストは最大で3台で構成をします。また、VSANのようにフラッシュデバイスを必ず用意する必要はありません。VSANではESXi本体にVSANのモジュールが含まれており、ESXiホストは最小3台からで主な用途としては仮想デスクトップ環境、Tier2やTier3といったテスト環境やプライベートクラウド環境、災害対策サイト環境での利用を想定されています。
VSANを構成するのは非常に簡単です。VSANを構成するには以下の手順を行います。操作はすべてvSphere Web Clientから行います。C#版のvSphere ClientからではVSANを構成することはできませんのでご注意ください。
1. VSAN試用版のサイトで登録しVSANのバイナリをダウンロードしセットアップ
vSANの試用版の申請は下記からアクセスします。
https://www.vmware.com/go/try-vsan-jp
vCenterは仮想アプライアンス版でもWindows版でもどちらでも動作します。vCenterにESXi 5.5 Update1を3台以上で同じクラスタとしてセットアップします。
2. vSAN用ネットワークを構築
vSphere 5.5ではVSANを構成するために新たに「仮想SANトラフィック」がVMkernel ポートに追加されました。VSANを構成するにはすべてのESXiホストで「仮想SANトラフィック」を構成する必要があります。
図1:仮想SANトラフィック
3. VSANの有効化
VSANの機能を有効にするにはクラスタ単位で設定を行います。vSphere 5.5では新たにVSANを有効化する設定がクラスタに追加されました。
図2:VSANクラスタ有効
4. ディスクグループの作成と追加
ディスクグループとはフラッシュデバイスとハードディスクをそれぞれ最低1つ以上組み合わせたものを示します。このディスクグループを作成することでVSANデータストアが構成されます。
5. 設定を確認
最後に設定を確認し、ESXiホストにVSANデータストアがマウントされていればVSAN環境の構築は完了となります。
手順は上記5ステップでVSAN環境は完成です。機材の準備が整っていれば簡単に構築することができます。VSANクラスタは作成後であっても簡単にスケールアウトすることができるように設計されているのも特徴的です。共有ストレージの容量や性能を必要な分だけスケールアウトすることができます。
図3 VSAN環境のスケールアウト(クリックして拡大)
VSANデータストアは一度構築すれば、そのまま従来通り利用してきたデータストアと同じように利用することができます。しかし、VSANデータストアの能力をより発揮させるにはVSANが持つ特有のストレージポリシーについて理解する必要があります。次にVSANのストレージポリシーについて解説します。
VSANのストレージポリシー
VSANデータストアを使用するにはストレージポリシーを設定する必要があります。ストレージポリシーを適応することで冗長化、データの配置方法、データ保存領域の予約など、様々なポリシーを設定することができます。以下にVSANのストレージポリシーで設定可能な内容について解説します。
1. 許容される障害数(デフォルト:1 最大:3):冗長化
1つのストレージオブジェクトについて許容されるホスト、ネットワーク、およびハードディスク障害の数。n(ストレージオブジェクト)+1のレプリカが作成される。
2. ストライプ数(デフォルト:1 最大:12):キャッシュレス時に性能向上
単一の仮想ハードディスクをストライピングして書き込むハードディスクの数。読み込みもストライピングされたハードディスクから読み込む。
3. 領域の予約(デフォルト:0% 最大:100%):シックプロビジョニング
VSANのデフォルトはシンプロビジョニング。設定した値(割合)分が仮想ハードディスクに対してVSANデータストア内で予約される。
4. Flash Read Cacheの予約(デフォルト:0% 最大:100%):性能の担保
読み取りのキャッシュ用に予約したい場合に指定。
5. 強制的なプロビジョニング(デフォルト:無効)
有効にするとVSANDatastoreがポリシーの要件を満たさない場合でも、オブジェクトがプロビジョニングされる。
上記の5つからVSANのストレージポリシーを設定します。これらのストレージポリシーを駆使することでESXiホストが障害でダウンした場合でもデータオブジェクトを保護することができます。例えば以下のようにストレージポリシーを適応すると、仮想マシンを展開した際にどのようにデータが分散され保護されるでしょうか。
ストレージポリシー◎ストライプ数(データ分散量書込)=2◎許容障害台数(レプリカの数)=1
図4 VSAN環境におけるデータの保護(クリックして拡大)
ストライブ数を2に設定することで仮想マシンの仮想ハードディスクを2つに分散し、フラッシュデバイスを経由して最終的に物理ハードディスクにデータが保存されます。これは他の仮想マシンがフラッシュデバイスのキャッシュ容量を使い果たし、キャッシュが有効にならなくなってしまった場合、ストライプ数を1以上設定することでハードディスク自体のIOPS(Input/Output Per Second)を活用しパフォーマンスを高めることができます。フラッシュデバイスの容量が潤沢にない環境においては効果を発揮することができると言えます。レプリカの数を1に設定することで同じデータをもう1台のESXiホストに複製し耐障害性を確保します。これによりESXiホストが障害でダウンしたとしても仮想マシンのデータは保護されます。
このようにVSANのストレージポリシーを利用することで冗長化やデータのストライプ(分散配置)を設定することができます。保護のレベルが高い仮想マシンは許容障害台数を1以上に値を設定し、シックプロビジョニングで仮想ディスクを構成したい場合には領域の予約を設定することで実現できます。
次回は、VSANにおけるデータの読み込みと書き込みの動作、VSAN環境の障害時の挙動、そしてVSANのFAQについて解説します。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。