2012年3月5日月曜日

システムボードと干渉するPCI-Xカードを加工する

搭載先マシンのシステムボード上にあるヒートシンクなどと干渉する PCI-X カードの一部端子を切り落としました。
PCI-X は PCI の上位互換なので、パフォーマンスの低下を許容できれば PCI スロットでも動作します。ただし場合によっては PCI-X の追加分の端子部分が他のコンポーネントと衝突することがあります。追加分の端子は接続されていなくても PCI 相当でリンクできるので、切り落としてしまうという方法です。たぶんよくやられている事でしょう。。。。
 

奥が加工前、手前が加工後のカードです。


使用した道具


ホームセンターで下記3点を購入してきました。上から順番に

1. プラスチックカッター OLFA PC-L
2. 分厚い素材に対応できるカッターナイフ。ムラテック H-13
3. 適当にヤスリ

です。

加工順序

PCI-X カードは大抵複層基板なので、無理に切り取り部分をへし折ろうとするとカードの中身を痛めてしまうため、できるだけ力を加えないよう注意しながら作業します。

工程1
プラスチックカッター(1)でまず端子のつけねに切れ込みを入れます。このときカッターは右から左へ動かすイメージでとりあえず跡をつけることを目標にします。

工程2
十分に跡がついてきたら、カッターナイフ(2)で端子の付け根にできた溝を深くしておきます。場合によってはこの工程は不要かもしれません。

工程3
続いてプラスチックカッター(1)でこの溝を広げていきます。プラスチックカッター(1)を左から右へ進めると一気に基板が削れ、溝が深くなっていきます。

工程4
上記を表面、裏面から済ませます。

工程5
カッターナイフ(2)で溝の中を切ります。表裏から削られた端子部分は簡単に切り落とせるはずです。

工程6
これまでの工程でカードにはたくさんのバリが発生しています。この部分をヤスリでフィニッシュします。端子部分が残らないぐらいまでヤスリで削ってしまったほうがよいかもしれません。
なお、このエントリの最初に掲載されている写真の「加工後のカード」は、そのままでは認識されず、ヤスリで端子部分をもっと綺麗に削り落とすことで認識されるようになりました。

工程7
削りかすを除去します。削りかすには絶縁物質のほかに導通する物質もあるので、ちゃんと取り除かないとショートするかもしれません。うまい方法を思いつかなかったので掃除機で軽くカスを吸い取る程度にして、かすがカード上に残っていないか肉眼で確認しました。

加工完了!

[root@hoge ~]# lspci | grep -i qlogic
0e:00.0 Fibre Channel: QLogic Corp. ISP2312-based 2Gb Fibre Channel to PCI-X HBA (rev 02)
0e:01.0 Fibre Channel: QLogic Corp. ISP2312-based 2Gb Fibre Channel to PCI-X HBA (rev 02)

2012年3月4日日曜日

iSCSI-SCST を試してみる

SCST インストールメモ on CentOS 5.7 の続き。FCのケーブルを準備するまで我慢ができなかったのでとりあえず iSCSI でエクスポートしてみた。


iscsi-scst カーネルモジュールの作成


  971  cd work/scst/trunk/
  972  cd iscsi-scst/
  976  ls -l
  977  less README
  978  make all
  979  make install


iscsi-scstd.conf を作成

[root@localhost trunk]# cat /etc/iscsi-scstd.conf

Target iqn.1994-05.com.redhat:24d563eb3c6:storage

指定した IQN は、 /etc/iscsi/initiatorname に指定されていたものをそのまま借りました:p

カーネルモジュールのロード

1027  modprobe scst

1028  modprobe iscsi-scst

1029  modprobe scst_disk

1030  modprobe scst_vdisk

イメージファイルをiSCSIエクスポート

  957  scstadmin -open_dev vdisk1 -handler vdisk_fileio -attributes filename=/vdisk1.dsk

1077  scstadmin -add_target iqn.1994-05.com.redhat:24d563eb3c6:storage -driver iscsi

1081  scstadmin -add_group hosts1 -driver iscsi -target iqn.1994-05.com.redhat:24d563eb3c6:storage

1113  iscsi-scstd  &

1130  scstadmin -add_lun 0 -driver iscsi -target iqn.1994-05.com.redhat:24d563eb3c6:storage -device vdisk1

1131  scstadmin -enable_target iqn.1994-05.com.redhat:24d563eb3c6:storage -driver iscsi

1132  scstadmin -set_drv_attr iscsi -attributes enabled=1

イニシエータを準備し接続

今回は Windows 7 Ultimate の iSCSI イニシエータを有効化して接続しました。
コントロールパネルから「iSCSIイニシエーターのプロパティ」を開き、ターゲットとして SCST が動いている IP アドレスを指定して「クイック検索」ボタンをクリックします。

ターゲットが問題なく動作していれば、「検出されたターゲット」欄にターゲット側 IQN が表示されますので、目的の IQN を選択して「接続」をクリックします。無事に接続されれば、ターゲット側の領域が論理ディスクデバイスとして認識されているはずです。

構成情報を /etc/scst.conf に出力

1133  scstadmin -write_config /etc/scst.conf

1134  cat /etc/scst.conf

I/O試験


1137  iostat -mtx /dev/sda 1 | grep sda
この状態でイニシエータ側から負荷をかければ Linux 側で I/O の発生を確認できる



所感

SCST のコンパイル時点から感じていたことですが。。。。 trunk のコードベースで試したからか、既存のドキュメント類からオペレーションが変わっていて、読み替えるのがちょっと大変でした。。。。正直まだ成熟したとはいいづらいね。どのタイミングのコードを使うかなど決断して闘う必要がありそう。

SCSTインストールメモ on CentOS5.7

憶えがき。


参考にしたサイト


SCSTのインストール
http://homepage1.nifty.com/~ayumi/article0001.html


  855  cd
  856  mkdir work
  857  cd work
  858  svn co https://scst.svn.sourceforge.net/svnroot/scst


カーネル 2.6.28 のビルド

  808  tar xvzf linux-2.6.28.3.tar.gz

  814  ln -s linux-2.6.28.3 linux-2.6.28

  815  patch -p0 < work/scst/trunk/scst/kernel/scst_exec_req_fifo-2.6.28.patch

  816  cd linux-2.6.28/drivers/

  819  cd scsi

  821  mv qla2xxx/ qla2xxx_orig

  822  ln -s ~/work/scst/trunk/qla2x00t/ qla2xxx

  823  cd ..

  824  cd ..

  825  pwd


  826  cp /boot/config-2.6.18-274.el5 .config

  827  make menuconfig

  828  vim .config

    カーネルコンフィグレーションオプションの指定

  829  vi Makefile

    EXTRAVERSIONの変更

  830  make -j8 bzImage; make -j8 modules && make -j8 modules_install

  831  make install

  832  cd /boot

  833  ls -l

  834  zcat initrd-2.6.18-274.el5.img | cpio -it

  835  zcat initrd-2.6.28.3-scst.img | cpio -it

  836  vi /boot/grub/menu.lst

    自動起動するカーネルの指定

SCST関連のビルド
1. scst

  941  cd work/scst/trunk/scst

  943  cd src

  944  make

  945  vim +1654 scst_sysfs.c

    バージョン判定でコケているので修正

  946  make

  947  make all

  948  make install

2. qla2x00t

  951  cd ..

  952  cd qla2x00t/

  961  make -C /root/linux-2.6.28/ M=$PWD

  962  make -C /root/linux-2.6.28/ M=$PWD modules_install

3. qla2x00-target
  963  cd ..

  964  cd qla2x00t/qla2x00-target/

  967  make

  968  make install

4. scstadmin  972  cd scstadmin/
  973  make
  974  make install

  975  cd /lib/modules/2.6.28.3-scst/extra/

  976  ls -l


カーネルモジュールのロード
1002  modprobe scst

1007  modprobe qla2x00tgt

1010  modprobe scst_disk

1011  modprobe scst_vdisk

ターゲットの操作

1012  scstadmin

1014  dd if=/dev/zero of=/vdisk1.dsk bs=1024k count=64

1018  scstadmin --help

1019  scstadmin -open_dev vdisk1 -handler vdisk_fileio -attributes filename=/vdisk1.dsk

1021  scstadmin -set_dev_attr vdisk1 -attributes t10_dev_id=0x1234

1022  dmesg
1025  scstadmin -add_group HOST01 -driver qla2x00t -target  21:00:00:e0:8b:82:87:08

1026  scstadmin -add_lun 1 -driver qla2x00t -target  21:00:00:e0:8b:82:87:08 -group HOST01 -device vdisk1


この先は FC ケーブルが必要と思われる。



2012年3月3日土曜日

ML110 G7を買ってみた

ML115 G1 クラスタの処分も視野に入れて NTT-X で特価になってるのを一台ポチってみました。


他の方がレビューされているので基本はそれを見ればいいと思いますがヘタレとして自分が気づいた点のみまとめます。


システムボード仕様は 3xx シリーズ並?


POST画面のほかBIOSコンフィグレーションも 3xx シリーズと同じように見えます。 3xx シリーズをいじりたいけど手が届かない人には入門機としてありじゃないでしょうか。

スクリューレスで快適メンテ



度々構成を変えるような使い方には無手居るケースだと思います。ただ PCIe スロットまわり、とくに一番下のスロットは抜き差し大変かもしれない。


電源は 350W


350W の電源がのっています。あと PCIe 用の 6 ピン電源コネクタはないので SLI とか CorssFire とか想定して買うとちょっとガッカリします。まあそこまでやるなら電源ごと交換するのでしょうが。


PCI スロットなし


新品で数千円レベルで入手できるカードは刺さらないということです。イーサネットは標準で2系統ありますが、スループット度外視でお手軽に追加したいような時には注意。


PCIe バスのレーン数が....


しっかり確認していませんが電気的に PCIe x16, PCIe x8, PCIe x8, PCIe x4 なのですが、もしかするとその上流で帯域が足りないブリッジチップがあるかもしれない感じです。 PCIe x16, PCIe x8, PCIe x4, PCIe x4 ぐらいのつもりで買っていたほうがいいよ。なお、いわずもがな Gen2 ですね。


下の方のスロットほど帯域幅は大きくなっているので、高負荷なデバイスはそちらに優先的に挿しましょう。


まとめ


ほとんど PCIe といえばビデオカードぐらいしか想定していないパーソナルユースで売ってる程度のシステムボードと比べれば、ごついカードを挿しても安定して動きました。ちょっとした検証やオモチャにするには十分なスペックですが、 CPU やメモリや電源を変えても PCIe バス幅だけはどうにもならないので、本気ならサーバ用システムボードもしくは相当品を買いましょう。


補足


製品スペックをよくみたら PCIe のスロットは x16, x4 ,x4, x1 と書いてあった。納得。