VMware ESXiのデータストア(よくストレージプールともよばれれる)がよくわからないのでちょっと調べた

2015-02-26(Thu) Server

タイトル通りですが、よくわからなかったので調べてみました。

自鯖ではKVMを使っているのですが、VMware ESXiサーバーを使ってみてまして、GUIあると(WEBじゃなくてWinのvSphere Client)便利だなーと思ったところです。

ベアメタルハイパーバーザー系のVMサーバーにあるストレージプールと呼ばれる機能って、WinやUnixのディレクトリまわりとは概念がちょっと違うんですよね。何が違うのか改めて調べました。

ちなみに、ベアメタル(ネイティブとも)ハイパーバイザー型と言うのは、例えばWinの上にVMware系の仮想マシン環境を作る、ホスト型とは違って、ホストOSが無くて、仮想マシン専用のOSが動いていて、その機能のみを提供するらしいです。 (Wikipediaによる知見)

ストレージプールとは?

どこかでストレージプールは何?といった用語解説の内容はなさそうで、色々なサイトを集めて見ると

KVM 仮想化を使用する

libvirt には、VM イメージやファイルシステムの場所を抽象化するための便利な機能が用意されており、この機能は「ストレージ・プール」として知られています。ストレージ・プールは libvirt が管理するローカル・ディレクトリー、ローカル・ストレージ・デバイス (物理ディスク、論理ボリューム、または SCSI ホスト・バス・アダプター (HBA) ストレージ)、NFS (Network File System)、またはブロック・レベルのネットワーク・ストレージであり、この中に 1 つまたは複数の VM イメージを作成、格納することができます。

第11章 ストレージプール

ストレージプール とは、 ストレージ管理者などによって確保されている一定量のストレージで、 仮想マシンなどに使用されます。 ストレージ管理者またはシステム管理者によってストレージボリュームに分割されてから、 ブロックデバイスとしてゲスト仮想マシンに割り当てられます。

VMware vSphere: ストレージの仮想化と管理 | VMware 日本

データストアと仮想マシン 仮想マシンは、データストア内の専用ディレクトリに、ファイルのセットとして格納されます。このデータストアはファイル システムに似た論理コンテナで、各ストレージ デバイスの違いを意識させずに仮想マシン ファイルを格納するための統一モデルを提供します。 データストアには、ISO イメージ、仮想マシン テンプレート、およびフロッピー イメージなども格納できます。 これらは、ストレージの種類に応じて、VMFS (Virtual Machine File System) または NFS (Network File System) のいずれかのファイル システム フォーマットを使用できます。 VMFS データストアは SCSI ベースのローカルまたはネットワーク ストレージ デバイスに、NFS データストアは NAS デバイスに展開できます。

生っぽいファイルシステムのディレクトリではなくて、ローカル、リモート、ストレージ向けのプロトコルやシステム経由のものを共通のアクセス手段で提供する機能のことのようです。
意識させないというのがポイントで、ハードウェアの資源をVMサーバーに登録、リンクなどさせると、後はどんなストレージでも同じ方法でアクセス、管理できるとのこと。

保存するものは、仮想マシンのディスクイメージやらの構成ファイル群、マシン作成時に使うISOイメージが一般的のようです。

ゲストOS側で一部の領域を使わせるとかもあるんでしょうかね?(その辺は多分デバイスとして認識させるほうが利便性高い気がするのですが)

ストレージプール(データストア)で使えるストレージシステムとは?

kvm

Redhatのヘルプ曰く

第11章 ストレージプール

  • 11.1.1. ディスクベースのストレージプール
  • 11.1.2. パーティションベースのストレージプール
  • 11.1.3. ディレクトリベースのストレージプール
  • 11.1.4. LVM ベースのストレージプール
  • 11.1.5. iSCSI ベースのストレージプール
  • 11.1.6. NFS ベースのストレージプール

ディスクベースはサーバーローカルで接続されているディスクらしいです。パーティションは、それのなかのパーティションです。 ディレクトリベースはローカルディスクのあるディレクトリのことです。別のマウントポイントが使えるかは分かりません(試したこと無いので)

LVM(Logical Volume Manager)はUnix系で利用できるディスク管理技術で、複数のディスクを1つにまとめて論理的なディスクとして利用できるとのこと。Windows 8にある記憶域プールに近いものかな。

Linuxキーワード - LVM:ITpro

iSCSI(Internet Small Computer System Interface) はSCSIというディスクを接続するインターフェースをTCP/IP上で動かせうようにしたインターフェースです。
SCSIについては昔、数珠つなぎでディスクをつないだことがありますので、存在自体は知ってる(実際にはそれが特徴ではない)のですが、iSCSIは数珠つなぎ的な話があるわけではなく、接続するOS側にはSCSIとして接続されているように見える、SCSIの操作方法をそのまま利用できるのが特徴のようです、TCP/IPは一種のトンネル代わりに使ってるのかな。サーバーと、iSCSIデバイスとは一対一で接続します。NASのような複数ホストで共有するのではなく1つのホストの周辺機器として使うイメージです。
iSCSIにはイニシエーターとターゲットと言う概念があって、イニシエーターは接続したいホストのマシンとかサーバーです。ターゲットはストレージ機器です。

iSCSI - Wikipedia
@IT:特集:最新IPストレージ技術「iSCSI」 - Part.2

NFS(Network File System)は分散ファイルシステムとそのプロトコルです。長い間Unix系でよく使われているファイルシステムでして、ネットワーク経由だけど、ローカルディスクのように扱えるようです。
iSCSIと分野的には同じと言って良いのかな?

[ThinkIT] 第2回:3つのファイルサーバ「NFS & FTP & Samba」 (1/4)

NFSとは 【 Network File System 】 - 意味/解説/説明/定義 : IT用語辞典

VMware ESXi

KVMとほぼ同じのようです。vSphere 5.5のドキュメントにリンクしておきます。

vSphere 5.5 ドキュメント センター

ファイバーチャネルというシステムもありますね。文字通り光ファイバーを使ったI/Oのシステムのことらしいです。
これもよくNFSとiSCSIと比較されているシステムです。詳しくは(必要に応じて)ググるで勘弁下さい。多分専門出ない限り縁がないはず。。。

前振りでした

kvmのストレージプール機能がよくわからなくて、VMware ESXiにiSCSIのストレージを紐付けようとした時に、ちょっと調べてわかってきたなぐらいの知識をまとめました。

次は、iSCSIターゲットが利用できるQNAPのTS-221をVMware ESXi 5.5に接続する方法です。