SRP Target(scst) for CentOS 6.0 試してみる
2011年12月 6日(火) 23:34 JST
閲覧数 7,565
SRP Targetを作った時の纏め書き。
使用したKernelは 3.1.4(vanilla)、scstはSVNのtrunkを利用。
ディストリビューションには、CentOS 6.0を利用していますが、VanillaKernelを利用しているので、ディストリビューション依存は少ないと思われます。
1.まずは kernel と scst 入手。
2.scst のパッチ生成。
この方法ではなく、Kernelバージョンにあわせ必要なパッチを適用し、Kernelディレクトリに配置していく事で実施するのが、README通りの方法ですが、経験上このスクリプトで生成したパッチを利用する方がトラブルが少ないです。
※3.1.4などと指定しないように、パッチは生成されますが、ビルドに失敗します。
3.カーネル・ビルド。
生成されたパッチを適用し、make configしてビルド。
ひたすら待つ。
4.ツールのビルド・導入。
scstadminは、普通にmake、make installで導入できます。
/sysをつかっているか/procを使っているかで、リンクを差し替えろとなっているので、注意は必要。
5.scst な kernel で起動
起動してきたら、必要なモジュールを読み込み。
個人的には、vdiskが使いやすいと思っているので、scst_vdiskを読み込んでいます。
この辺は、用途に合わせて選んでください。
6.OpenSMが必要なら、起動しておきましょう。
Infinibandネットワーク上にSubnetManagerが存在するなら必要ないですが、無い場合は起動しておきましょう。
Infinibandネットワーク内に、必ずSubnetManagerが一台必要になります。
(CentOS 6.0であれば、RPMパッケージが提供されている為、yumで導入が可能です。)
※起動には、ib_umadモジュールが必要になります。
7.scstの設定
scstの設定はこんな感じで良いんじゃなかろうか。
イニシエータの登録箇所がとても長いですが、イニシエータが接続しに着ているのであれば、セッションを見ればinitiator IDは分かります。
基盤に書いてあった記憶は無いですが、イメージ的にはNICのMACアドレスみたいな感じと思えば良いかと。。。
8.イニシエータからつないでみる。
設定したLUNが見える筈。
簡単なメモですが、Infiniband SRP Targetの情報はまだ少ないので、これから自宅Infinibandされる方の参考になればと思います。
では、自宅Infinibandをお愉しみクダサイ。
使用したKernelは 3.1.4(vanilla)、scstはSVNのtrunkを利用。
ディストリビューションには、CentOS 6.0を利用していますが、VanillaKernelを利用しているので、ディストリビューション依存は少ないと思われます。
1.まずは kernel と scst 入手。
# wget ftp://ftp.riken.jp/Linux/kernel.org/linux/kernel/v3.x/linux-3.1.4.tar.gz # svn co https://scst.svn.sourceforge.net/svnroot/scst
2.scst のパッチ生成。
この方法ではなく、Kernelバージョンにあわせ必要なパッチを適用し、Kernelディレクトリに配置していく事で実施するのが、README通りの方法ですが、経験上このスクリプトで生成したパッチを利用する方がトラブルが少ないです。
※3.1.4などと指定しないように、パッチは生成されますが、ビルドに失敗します。
# cd scst/trunk # ./scripts/generate-kernel-patch 3.1 > 3.1.patch
3.カーネル・ビルド。
生成されたパッチを適用し、make configしてビルド。
ひたすら待つ。
4.ツールのビルド・導入。
scstadminは、普通にmake、make installで導入できます。
/sysをつかっているか/procを使っているかで、リンクを差し替えろとなっているので、注意は必要。
5.scst な kernel で起動
起動してきたら、必要なモジュールを読み込み。
個人的には、vdiskが使いやすいと思っているので、scst_vdiskを読み込んでいます。
この辺は、用途に合わせて選んでください。
# modprobe scst # modprobe scst_vdisk # modprobe ib_srpt
6.OpenSMが必要なら、起動しておきましょう。
Infinibandネットワーク上にSubnetManagerが存在するなら必要ないですが、無い場合は起動しておきましょう。
Infinibandネットワーク内に、必ずSubnetManagerが一台必要になります。
(CentOS 6.0であれば、RPMパッケージが提供されている為、yumで導入が可能です。)
※起動には、ib_umadモジュールが必要になります。
# modprobe ib_umad # /etc/init.d/opensm start
7.scstの設定
scstの設定はこんな感じで良いんじゃなかろうか。
イニシエータの登録箇所がとても長いですが、イニシエータが接続しに着ているのであれば、セッションを見ればinitiator IDは分かります。
基盤に書いてあった記憶は無いですが、イメージ的にはNICのMACアドレスみたいな感じと思えば良いかと。。。
# scstadmin -clear_config -force # scstadmin -open_dev DISK01 -handler vdisk_blockio -attributes filename=/dev/sdb1 # scstadmin -set_dev_attr DISK01 -attributes t10_dev_id=0x2345 # scstadmin -add_group HOST01 -driver ib_srpt -target ib_srpt_target_0 # scstadmin -add_lun 0 -driver ib_srpt -target ib_srpt_target_0 -group HOST01 -device DISK01 -attributes read_only=0 # scstadmin -add_init 0x8102c9020022de9d0002c9020022e105 -driver ib_srpt -target ib_srpt_target_0 -group HOST01 # scstadmin -enable_target ib_srpt_target_0 -driver ib_srpt # scstadmin -write_config /etc/scst.conf
8.イニシエータからつないでみる。
設定したLUNが見える筈。
簡単なメモですが、Infiniband SRP Targetの情報はまだ少ないので、これから自宅Infinibandされる方の参考になればと思います。
では、自宅Infinibandをお愉しみクダサイ。