2014年8月17日日曜日

MSFC 用ストレージとして、CentOS 7 の iSCSI Target LIO を試してみた

SoftLayer で MSFC を動かしてみようとしたところ、以下の要件に引っかかりました。

フェールオーバー クラスターの要件について
http://technet.microsoft.com/ja-jp/library/cc771404.aspx

こちらには、以下のように書かれています。

iSCSI を使用する場合は、ネットワーク アダプターをネットワーク通信または iSCSI いずれかの専用アダプターとして使用する必要があります。ネットワーク アダプターをネットワーク通信および iSCSI の両方に使用することはできません。

SoftLayer でネットワークを組む場合、SoftLayer のプライベート・ネットワークを MSFC のサービス用ネットワークとして利用することになるものと思われます。この前提で考えると、サービス用のネットワークと iSCSI 用のネットワークを共用することになってしまいます。
Microsoft が述べている要件を無視してもよければ、SoftLayer が標準で提供している Block Storage (Legacy iSCSI との注記あり、最近名前が変わったらしい) を利用すればよいです。試してみましたが、MSFC は簡単に動きました。Veritas Storage Foundation HA の付属ツールで SCSI3 Persistent Reservation がフルサポートされていることも確認済みです。
ただし、クラスタを組むような案件において、Microsoft がサポートしないと明言している構成で組んでもよい、ということはあまりないと思われるので、何らかの対応が必要と思われます。SoftLayer では、QuantaStor を物理マシンに入れる OS としてサポートしており、こちらを採用すれば、上記の問題はクリアできるように思われます。検証していないので、動くとは言えませんが、SoftLayer のパブリック・ネットワークを iSCSI 専用ネットワークにすればよいです。おそらくできると思いますが、いかんせん、高すぎるので、検証していません。冗長化についても調べていません。もう少し安いソリューションも欲しいところです。

そこで、CentOS 7 の iSCSI Target を試してみることにしました。このバージョンでは、LIO が採用されており、SCSI3 Persistent Reservation がフルサポートされているはずです。このような理由で、前回構築した CentOS 7 の出番となりました。
実際に MSFC を組んでみると、あっさりと動きました。
あとは、この iSCSI Target をどう冗長化するか、という問題への対処です。データ領域については、DRBD が動けばネットワーク越しの RAID1 が実現します。DRBD については、ELREPO が既に RHEL 7 対応済みなので問題なさそうです。残るは、DRBD 並びに iSCSI Target のフェイルオーバーを管理できるクラスタソフトがあればよいです。RHEL 7 同梱の Pacemaker では、resource-agents パッケージ内の RA が不足しています。なぜか、iSCSITarget、iSCSILogicalUnit、portblock という RA が削除されていました。 MSFC 専用ということで、targetd を利用して組めればよいのですが、今回は時間切れとなりました。
そのうち、Linbit 社が RHEL 7 をサポート範囲に入れてくると思うので、それまで待つのもありかもしれません。Oracle Linux では現在テクニカルプレビュー扱いですが、DRBD をサポート範囲に入れてくるものと思われます。

とりあえず、LIO が MSFC 対応 iSCSI Target となることを確認できたことが収穫です。

0 件のコメント:

コメントを投稿