[VM] Using Oracle Linux iSCSI targets with Oracle VM

数日前のエントリで、Oracle Solaris 10のZFSとiSCSI Target機能を使ってデバイスを作成し、Oracle VM Serverにエクスポートしました。

前のエントリ、とは…
http://blogs.oracle.com/wim/2010/12/using_solaris_zfs_iscsi_target.html

Oracle Linuxでも同じことができますので、試してみましょう。

Oracle Linux 5 update 5をインストール(update 3より新しければOKです)すると、 scsi-target-utils というrpmがインストールされていることを確認してください。

rpm -qa | grep scsi-target

もしインストールされていなければインストールしておきます。このユーティリティには、Oracle Solarisのiscsitadmに似た、tgtadmというツールが含まれています。


up2date scsi-target-utils

では、前のエントリと同様の状態で、iSCSIサーバ側に2個コンポーネントがあります。まず、(1) ボリュームを作成(lvmcreateを使ってlvmを作成)し、(2) tgtadmを使ってTargetを公開します。私のサーバは簡単な構成で、すべてのディスクがシングルボリュームグループ(vgroot)に含まれています。50GBのボリュームをエクスポートするため、新しいボリュームを作成します。

lvcreate -L 50G -nmytest1 vgroot

これで、/dev/mapperの新しいボリュームとして/dev/mapper/vgroot-mytest1ができあがりました。もっと必要であれば、必要な分だけボリュームを作成してください。以前のエントリでは5個のボリューム作成をご紹介しています。必要に応じて前のエントリを参照してください。
ボリュームを作成し終えたら、tgtadmでボリュームを設定します。 /etc/init.d/tgtd start もしくは service tgtd start を使ってサービスが起動していることを確認してください(ブート時に自動で起動したい場合は chkconfig tgtd on を実行します)。
次に、各々のボリュームにターゲット名を決める必要があります。iscsi-initiator-utilsをインストールしておきましょう。このツールはiSCSI IDを作成し、/etc/iscsi/initatorame.isciにそのIDを書き込みます。

source /etc/iscsi/initiatorname.iscsi
echo $InitiatorName

この後は長くて複雑な iqnではなく $InitiatorName を使います。

ターゲットを作成します。

tgtadm --lld iscsi --op new --mode target --tid 1 -T $InitiatorName

状態を表示します。
tgtadm --lld iscsi --op show --mode target 

ボリュームを追加します。
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/mapper/vgroot-mytest1




再度状態を確認して…

tgtadm --lld iscsi --op show --mode target

Oracle Solarisと同じように、エクスポート(バインド)します。

tgtadm --lld iscsi --op bind --mode target --tid 1 -I iqn.1986-03.com.sun:01:2a7526f0ffff


すべてのiSCSI InitiatorにLUNをエクスポートする場合、iqnではなくALLとしてコマンドを実行してください。その場合も、各iSCSI Initiatorや接続したいクライアントのiqnを追加する必要があります。今回の2ノードOracle VM Serverのセットアップでは、Oracle VMサーバのInitiator名を両方とも追加する必要があります。ACLの配下にiqnがあるかどうか、再度状態を確認しましょう。


tgtadm --lld iscsi --op show --mode target

必要に応じ、--lld isci を削除したり、エイリアスにすることができます。そうするとコマンドラインがもとわかりやすくなります。

Oracle VM Serverでは、過去のエントリを参考に、Oracle VM Serverのボリュームに関する詳細なセットアップを実施します。

iSCSI Targetを発見するには…
iscsiadm --mode discovery --type sendtargets --portal

ログインするには…
iscsiadm --mode node --targetname iscsi targetname --portal --login

再起動してデバイスを取得しましょう。

/etc/init.d/iscsi restart

これでできあがりです。是非使ってみてください。

原文はこちら。http://blogs.oracle.com/wim/2011/01/using_linux_iscsi_targets_with.html

0 件のコメント:

コメントを投稿