2009年9月 2日

Marvell's 88SE6480 @Debian part4 HDD認識!

さて、前回に引き続きSUPERMICROの8ch SASカード、AOC-SASLP-MV8をDebianで使う記事です。
話を最初から振り返ると、自宅ファイルサーバを構築しようとするとどうしても大容量HDDであっても接続出来るHDDの台数の限界というものがありまして、うちの場合はオンボードで8portのSATAを使える有り難いマザーボードなのですが(現在グラフィックオンボードでSATAのポート数はおそらくこのマザーが最大数 GIGABYTE GA-G33-DS3R)、そうするとHDDを更に増設するにはSATA拡張ボードが必要になります。PCIのものであれば、玄人志向より2portと4portが安価で入手出来る価格で販売されておりますが、PCIeのものでは、2portは安価ですが4port以上になるといきなりRAID仕様の高価品になってしまいます。
そこで、見つけたのがSUPERMICROのAOC-SASLP-MV8というPCIe(X4)の8port SASカードで、RAID機能が省かれているために価格も18,000円程度と相当安く購入する事が可能です。 そこで早速飛びついて購入はしてみたわけですが、付属のドライバはRedHatやSUSE、FedoraなどのディストリビューションのみでDebianで使おうにもドキュメントにあるようなソースは付属しておらず、メーカーに問い合わせても提供していないと言われる始末。
Debianのパッケージの方で正式対応するまで待とうかとか諦めていた所に、ドライバの開発者がいることがわかり、情報を集め、ソースをコンパイルする所までが前回part3までのあらすじとなります。

今回はその続きになります。
ソースに付属のREADMEを読み進めると、ドライバのコンパイルが終わったらドライバのロードが必要との事で

# modprobe libsas
# insmod scst.ko
# insmod mvsas.ko


という感じでドライバのロードを行います。READMEではinsmod scst.koの行が抜けておりましたが、これがないとmvsas.koのロードに失敗するみたいですので追加しております。

この状態で
/sys/class/scsi_host
を参照すると、host0~host?までの複数のhost?が見えると思います。この中のおそらく一番番号が新しいものがこのカードにあたります。

# cat /sys/class/scsi_host/host16/target_mode

という風に実行して、
phy  dev sas address     attach dev type   attach sas address  target mode
0    5003048000805890                      0                   0             
1    5003048000805890                      0                   0             
2    5003048000805890                      0                   0             
3    5003048000805890                      0                   0             
4    5003048000805890                      0                   0             
5    5003048000805890                      0                   0             
6    5003048000805890                      0                   0             
7    5003048000805890                      0                   0 
の様に返ってくるデバイスがこのカードになります。ちゃんとphyが0~7までの8台分ありますね。 他のカードですと、target_modeが見つからない旨のエラーが出ると思います。
host番号を変えてみて下さい。

この状態でHDDが取り付けられていると
phy  dev sas address     attach dev type   attach sas address  target mode
0    5003048000805890                      0                   0             
1    5003048000805890                      0                   0             
2    5003048000805890                      0                   0             
3    5003048000805890                      0                   0             
4    5003048000805890                      0                   0             
5    5003048000805890                      0                   0             
6    5003048000805890                      0                   0             
7    5003048000805890    SATA END DEVICE   700000000000000     0   
この様にSATA END DEVICEとしてHDDが認識します。
あとは

# echo "enable 7" > /sys/class/scsi_host/host16/target_mode
(7の部分はphy番号が入る)
とする事で、phyをtarget_modeで動作させる事ができます。
解除は

# echo "disable 7" > /sys/class/scsi_host/host16/target_mode

となります。(今回はSASカードがhost16、HDDがphy7である事を前提に記述しております)
あとは

# echo "add 16:0:0:0:0 0" >/proc/scsi_tgt/groups/Default/devices

の様にしてやれば一通り完了となります。(16:0:0:0の部分はhost?の数字を入れてやる)
あとは、普通にHDDとしてfdiskなりで処理してやればokです。


トラックバックURL

このエントリーのトラックバックURL:
http://karinto2.mine.nu/blog/mt-tbx.cgi/529

コメントする