SUSE Enterprise Server 11 で iSCSI を使う

XEN 仮想化の第一歩として、仮想ホスト(Domain-0) にローカルディスクに仮想ディスクを作成してみました。しかし、増設したい場合やファイルサーバ、DBサーバなどの巨大なストレージを使う場合、次に考慮するのは仮想ホスト(Domain-0) 以外のハードウェアのストレージを仮想マシン(Domain-U)に使うことです。

今回は SUSE Linux Enterprise 11 (SLES11)を Domain-0 として、Domain-U から iSCSI を利用する方法を説明します。せっかくですので、 Domain-U には Open Enterprise Server 2 (OES2) と Windows 7 に標準で付属する iSCSI イニシエータを使って Windows 7で iSCSI を使う方法もテストしてみましょう。

本来なら、別筐体を使って iSCSI ターゲットを用意したいところですが、機材の都合で iSCSI ターゲット = Domain-0 を使っています。逆に言えば、 iSCSI ターゲットで作られた仮想ファイルを他の iSCSI ターゲットに移動しても問題なく動く事まで確認してみたいところです。

この記事は次の内容と一部かぶります。

使ってみよう SUSE Linux 10 (SLES10)で iSCSI 

Transrate English this page

iSCSI は SUSE 仮想環境でファイルサーバとして使い物になるか

iSCSI のベンチマークでみるNovell OES でのプライベートクラウドの実力

open SUSE Leap 15.1 で iSCSI NASを使ってみる
https://islandcnt.exblog.jp/239328437/

- iSCSI ターゲット側 -

- 仮想ボリュームを作成
ここでは 4G バイトの仮想スパースディスクを作ります。

# dd if=/dev/zero of=/PathTo/MyiSCSI.disk0 seek=1M bs=4096 count=1



- iSCSI ターゲット側で、ターゲット仮想ファイルを登録します。

YaST > iSCSI ターゲット、インストールされていない場合は、自動的にインストールされます。
インストールソース(DVD,配布サーバ)にアクセスできるよう準備して置いてください。
Manually > When Booting に変更します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_13553819.jpg


General タブ、とりあえず No Authentication にしておきます。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1422960.jpg


Target > Add > Browse でターゲットとなる iSCSI 仮想ディスクを選びます。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_14234755.jpg



iSCSI のターゲットを変更すると iSCSI 全体のサービスのリスタートが必要だということです。
運用面の最大の障害となる点でしょうか。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_14251956.jpg


iSCSI の設定が終わると、iSCSI のサービスが自動的に開始されます。 YaST > System > Runlevel から iSCSI ターゲットサービスが開始されていることを確認します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1427166.jpg


-iSCSI イニシエータ側-

今回 iSCSI イニシエータ(利用者側) には OES2 の機能を使います。
YaST > iSCSI イニシエータを選びます。インストールされていない場合は自動的にインストールされるため、インストールソースを確認して置いてください。

Manually から When Booting に変更します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_14291134.jpg


ターゲットのリストはまだ空欄です。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1439311.jpg


Discavery Target から、iSCSI ターゲット(サーバ)が動作する先のIP アドレスをセットします。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_14545252.jpg


接続が False しているので Connect ボタンを押します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_14573752.jpg


ターゲットのリストに接続できたら、 Connect タブ内の Toggle ボタンを押して Automatic 接続するようにセットします。

SUSE Enterprise Server 11 で iSCSI を使う_a0056607_14592168.jpg


YaST > Partitiner から、デバイスが追加されているか確認します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1522960.jpg


もちろん、ここで SUSE Linux のパーティションとして作成することもできます。こちらを参考にしてください。
使ってみよう SUSE Linux 10 (SLES10)で iSCSI  それではあまりに芸がありません。ここでは Open Enterprise Server 2 (OES2) の NSS ボリュームとして作成してみます。

-OES2 で iSCSI NSS Volume のマウント-

ここからば OES NetWare/Linux の NSS ボリュームの作成手順と同じです。
まず、ブラウザから iManager を起動して、 Storage を選びます。

Storage から OES サーバを選んで SDx デバイス(iSCSIデバイス) を確認して Initialize をします。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1562086.jpg


Partition > SDx の Free Space を チェックしてパーティションを作成します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1583385.jpg


次に NSS Pool を作成します。 Pool > Create > "Data" などのプール名を付けて、プール全てをボリュームで使えるよう、チェックボタンを押して、プールを Create します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15102012.jpg


ボリュームを作成します。 Volume から New > "VOL1" などの任意の名前を付けてボリュームを作成します。デフォルトでは Compression, User/Directory の Quota がチェックされていないので、エンドユーザ用ファイルサーバに設定する場合は、チェックします。GroupWise サーバや DB サーバなどではチェックしないほうがよいでしょう。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15123292.jpg


Finish すると、ボリュームが作成されて、マウントされます。 df コマンドで確認してみましょう。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1515384.jpg


/etc/fstab を確認します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15164823.jpg


これで、仮想環境で動作している Open Enterprise Server (OES2) Dom-U の外部装置(ここでは Dom-0 の iSCSI を使っていますが) にディスクを作成することができました。

-Windows 7 の iSCSI 機能を使う-

コントロールパネル > コンピュータの管理に iSCSI イニシエータがあります。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15264493.jpg


ターゲットタブから、iSCSI ターゲット(iSCSI サーバ) の IP アドレスをセットします。まだアクティブになっていません。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15291720.jpg


セッションを選んでデバイスを確認できます。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15345192.jpg


ボリュームデバイスから「自動構成」ボタンを押します。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15373396.jpg


ターゲットが「接続完了」できれば接続ができました。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15382674.jpg


コンピュータの管理から「ディスクの管理」を選ぶと、未認識のディスクが作成されています。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_15394893.jpg


Windows 7 からはまったく意識しないディスクとして新しいボリュームとしてフォーマットして利用できます。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_154054100.jpg


openSUSE+XEN 仮想環境で SUSE Windows のテストもできました。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_13532695.gif

-まとめ-

Open Enterprise Server 2 Linux (OES2 Linux) では起動とツール、eDirectory などの必要な情報だけのストレージが / に必要なのですが、 NSS ボリュームが /, /boot と異なるデバイスに作成することが強く推奨されます。したがって大型のファイルサーバを構築する場合は、ディスクの利用効率はあまりよくありません。

しかし、iSCSI を使うと、iSCSI ターゲット(サーバ)が実質上のストレージサーバとなり、仮想 OES からの仮想ドライブとして扱うことができるため、効率よくディスクを構築することができます。

今回は、仮想ディスクイメージファイル(単一ファイル)を使いましたが、iSCSI ターゲットを構成する場合、ターゲットのシリンダ番号を直接指定することもできます。
SUSE Enterprise Server 11 で iSCSI を使う_a0056607_1644885.jpg

どちらがいいのかはなんとも言えないのですが、単一ディスクの場合、「サーバの丸ごとバックアップ」ができるため、運用面での惨事復旧対策のアイディアも生まれそうです。また、ライブマイグレーションも実用的になるでしょう。

iSCSI イニシエータが Windows 7 に標準搭載されたということはある意味では使い勝手の便利なアイディアができるでしょう。

たとえば、ディスクのわざわざ少ないネットブック、ネットトップなどをメモリ起動して、自動マウントで iSCSI ターゲットを D: として設定すれば、 Windows 7 の「ライブラリ」を iSCSI ターゲットに統合することができます。ネットブック、ネットトップのSDDは大容量化が進んでいますが、ある意味では運用側で、起動に必要な量だけを搭載してほしいという要望も出てくるかもしれません。情報の持ち出しを避けるため社内に接続したときだけライブラリが使えればよいという発想もあるでしょう。
あるいは、 BootP 起動して、iSCSI デバイスを標準のデバイスとして利用させるなどの方法もありかもしれません。

iSCSI のターゲットファイルを OES の NSS 上に作成した場合はどうなるでしょうか。使われていないターゲットファイルが自動圧縮されるのであれば、かなり効率的なディスク運用ができるかもしれません。

iSCSI と競合するファイバーチャネルは IBM, HP, EMC などメーカー数社の固有のハードウェアが必要ですが iSCSI は世界に数万社が参入する Ethernet と TCPIP を基本としているため、性能、信頼性では劣っても、導入コストは二桁は違います。いずれ、10Gbit Ethernet が家電店に並ぶ頃にはファイバーチャネルを駆逐する可能性を持っています。iSCSI が Bios に組み込まれたら面白いことになるでしょう。ディスクレスワークステーションだって夢ではありません。

いずれにせよ iSCSI は新しいフィーチャなので、運用面でのアイディア、問題点などいろいろ検討するところはありそうです。

Visit My Website 非番のエンジニア

-キーワード-
SUSE Enterprise Server 11 SLES11 iSCSI Windows 7 Target Initiator XEN イニシエータ、ターゲット、サーバ統合

by islandcenter | 2009-07-21 14:41 | SUSE | Comments(0)