数日前のエントリで、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 件のコメント:
コメントを投稿