仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

ESXからTeraStation ISを使用する方法

バッファローTeraStation ISは、低価格で購入できるiSCSIストレージ。タワー型とラックマウント型があり、容量も色々と選べます。

元々はNAS的にWindowsクライアントから使用することを想定していますが、VMware ESX Serverなどと組み合わせて使用することもできます。iSCSIですから、VMotionなども行えます。

LVMを有効にすると、複数のボリューム(LUN)を作成できるようになりますが、何もアクセス制限を行わないと、ESXはパスを標準パスで一本化してしまい、複数ストレージとして認識できません。ちょっと説明が分かりにくいかもしれませんので、具体的に説明しましょう。

まず、ソフトウェアiSCSIイニシエータ(vmhba32)があります。これがTeraStation ISに接続して、2つのLUNを認識したとします。

vmhba32:1:0 vmhna32:2:0

この2つがそのまま見えるといいのですが、標準パスはvmhba32:1:0にまとめられてしまい、1つのLUNになってしまいます。色々と試行錯誤してみましたが、これをそのまま見せる方法は無さそうです。というわけで、ESXホストから使用できるTeraStation ISのLUNは1つだけ、という制限になります。

ですので、ベストプラクティスは、TeraStation ISで複数ボリュームを作成せず、どーんと大きなボリュームを作ってVMFSでフォーマットして使うことです。

しかし、もし複数ボリュームを別々に使いたい場合はどうすればいいかをずっと考えていて、やっとテストできました。結論から言えば、IPアドレスかCHAP認証でアクセス制限することで、LUNマスキングを行うことです。TeraStation ISでは、ボリュームごとにアクセス制限を設定できるので、vol1をホスト1に、vol2をホスト2に、という風に設定することで、1ホスト1LUN制限を回避できます。

本当は、1ホスト複数LUNで使用できた方が便利なのですが、それでもとりあえずLUNを複数ホストから共有できる、すなわち共有ストレージとして使用できるだけでも良しとしましょう。