Archive for the 'opensolaris' Category

opensolaris/rgeドライバ

Posted by ゆのじ on 7月 7th, 2010

ファイルサーバに大量にファイルを突っ込んでいると、転送が途中で中断されてしまう。そのときすぐにサーバにsshしてもつながらない。しかしエラーログには何も残っていない。そんな状態になっていて、何が原因なのかさっぱりわからなかった。

どうも、これ(というかDuplicate/closeされているがこっち)が原因なんではないかという気がしてきた。曰く、

During a large file transfer, a card using the RGE driver drops off the network. Its not related to the hwchecksum bug (I’ve tried with and without that option in /etc/system) On 106 it happens after 25-30 gigs, on 101 (2008.11) it happened between 10 and 15 gb transferred.

とのこと。うちでも数GB以上の転送でひっかかったりして困っていた。うちのファイルサーバのOSはopensolaris snv111bなのだが、修正はsnv131にコミットされたとある。

次の公式リリースはいつか調べていたのだが、どうもSun Microsystemsがオラクルに買収されたりした関係できな臭いにおいが漂ってきている気がしてならない。wikipediaが先走っているだけかも知れないが、ここによれば次のリリースは2010.03だったようでもう四半期も放置されてしまっている。

あまり良いとは思わないが、devを追うべき、なのかもしれない。やれやれ。

非グローバルゾーンでsamba

Posted by ゆのじ on 6月 27th, 2010

OpenSolaris 2009.06(snv111b)での話。

非グローバルゾーンでsamba(SUNWsmba)を動かそうと思っても、そのままでは下記のようなエラーが/var/samba/log/log.smbdに残ってしまって動かない。smb.confがないのと違ってsvcs的にはonlineになるが、netstat -aで見るとlistenしていないのがわかる。

[2010/06/27 05:44:16, 0] lib/util_sock.c:(822)
  bind failed on port 445 socket_addr = 0.0.0.0.
  Error = Permission denied

さらに、nmbd(svcsの名前だとwins)のほうはsvcsで見るとmaintenance状態になっていることがわかる。

これは、非グローバルゾーンでの特権が足りないせいなので、zonecfgを使ってlimitprivを追加してやる。うちでは内部的に使っているサーバなので大変緩く、下記のようにした。(長いけど続けて)

set limitprev = default,file_downgrade_sl,file_upgrade_sl,
sys_trans_label,win_colormap,win_config,
win_dac_read,win_dac_write,win_devices,
win_fontpath,win_mac_read,win_mac_write,
win_selection,sys_smb

これでzoneを再起動してやるとsambaがlistenするようになる。セキュリティ的になんでもかんでもつけるのが嫌であれば、ここのglobal: limitprivのところを読んで適宜付け替えるとよい。

 

余談。opensolarisのブートディスクが壊れたのでこういうことをやっているのだが、zfsは新しくインストールし直した環境からzpool importするだけで構成情報まで含めて一発でとってきてくれるのがなんともうれしい。そういう都合から、sambaまで含めて全部zfs上のzoneに乗せてしまいたいのでこういうことをした次第。グローバルゾーンはハイパーバイザー代わりで十分。:-)

NAS起動せず?

Posted by ゆのじ on 8月 31st, 2009

先日、ふと気づいたらNASからの応答がなくなっていた。コンソールから見ても完全に死んでいるようなので仕方なく強制的に電源OFFして電源を入れ直したのだがいくら待ってもあがってこない。見てみると起動途中でpanicして再起動、というループにはまっている様子。何が起きたかわからないがとりあえず面倒だなぁと思いつつトラブルシュートした。

現象:
起動中にpanic。どうもc6t0d0(これこの間交換した玉だな、、)のアクセスランプがつきっぱなしになってpanicしている様子。とりあえず該当の玉を引っこ抜いてからmessagesを見てみると、

Aug 10 02:29:07 melongena genunix: [ID 103648 kern.notice] recursive mutex_enter, lp=ffffff014b1cd768 owner=ffffff0003eb9c60 thread=ffffff0003eb9c60

でpanic、エラーログを吐いてリブートしている。

エラーログから色々調べてみると、どうもこれ(Bug ID: 6786704)くさい。Acceptされてはいるが、まだ修正されていない既知のバグ。それによれば、

Crash occurs generally when a bad block is found on a disk; driver appears to be unable to deal with the resulting bus reset.

とある。

ならば調査と、Windowsマシンに繋いでCrystalDiskInfoでS.M.A.R.T.の値を見てみると、代替処理済みのセクタ数が0x9、代替処理保留中のセクタ数が0x21、回復不可能セクタ数が0xfとなっていて「注意」状態。というか回復不可能セクタが出ている時点でもう駄目ぽ。理由はわからないが元々駄目なやつを引いたのだろう。

近く新しい玉を買ってきて入れ替えるつもりではいるが、si3124を使っている場合、突然落ちて再起動すら正常にいかないケースがある、ということを覚えておく必要がありそうだ。