Archive for 6月, 2010
ZFSでtpgtを使って接続先ポートを限定する
ZFSはご存知の通りzvolを作成してiSCSIでエクスポートすることができます。
とある環境でZFSサーバは複数のネットワークセグメントに接続されており、当然それぞれのセグメントでIPアドレスが割り振られているとします(多くの環境ではそのようになっているでしょう)。そのときzfs set shareiscsi=on [ZVOL]としてzvolをエクスポートすると、すべてのセグメントでzvolがエクスポートされてしまいます。
iSCSIセグメントからDiscoveryしにいったiSCSIクライアントにも1zvolにつき複数のターゲットが見えてしまいます。これは多くの環境で望ましくない挙動でしょう。本来はzvolがエクスポートされるのはiSCSIのストレージセグメントだけに留めておきたいはずです。
zvolがエクスポートされるセグメントを設定するにはtpgt (Target Port Group Tag)が有効です。tpgtを使えば下図のようにzvolをエクスポートするセグメントを限定できます。
設定手順です。
まずtpgtを作成します。tpgtの名前には1〜65535の任意の数字を割り当てます。
[root@~]# iscsitadm create tpgt 1
作成したtpgtにzvolをエクスポートしたいIPアドレスを追加します。
[root@~]# iscsitadm modify tpgt -i 10.2.0.1 1
zvolのアクセス制御リストとして作成したtpgtを設定します。
[root@~]# iscsitadm modify target -p 1 [TARGET]
これでtpgt 1に参加している10.2.0.1だけがzvolのエクスポート対象となります。
phpからASMを管理するためのパッチ
$conn = oci_connect('user', 'password', 'node/service', '', OCI_SYSDBA);
[root@~]# tar xvfj php-5.3.2.tar.bz2 [root@~]# cd php-5.3.2/ext/oci8/ [root@~]# patch < /PATH/TO/php-sysasm.patch [root@~]# cd ../../ [root@~]# ./configure --with-oci8 [root@~]# make [root@~]# make install
ASMインスタンスへの接続は下記のようにOCI_SYSASMフラグを指定して接続します。
$conn = oci_connect('user', 'password', 'node/service', '', OCI_SYSASM);