Archive for the 'NAS' Category

古いopensolarisとsi3124はやっぱり駄目

Posted by ゆのじ on 1月 10th, 2014

気づいたら年が明けた。
twitterやfacebookやらに情報を投げるようにしていると全然blogがかけなくなってしまうのは良くない傾向、ちょっとアウトプット先について見直したりするべきかもしれない。

さて、昨年末からうちのNASがそろそろ不調だなぁと思っていたところ、突然panicで落ちてしまって上がらなくなってきてしまった。シングルユーザモードでなら起動したので、dumpadmでクラッシュログを出すようにしてもう一度クラッシュするのを待って、クラッシュした後再度シングルユーザモードで/var/crash/マシン名/vmdump.0 (0のところは数字) ができているのを確認。savecore -vf /var/crash/マシン名/vmdump.0 /var/crash/ 的なことをしてvmcore.0とunix.0を生成する。
vmcore.0とunix.0ができたら、mdb -k vmcore.0 unix.0などしてmdbを起動してログを見る。シングルユーザモードだとmdbのページャが動かないので、頭に TERM=vt100;などとつけてやると良い感じ。

ログを一通りあさってみると、どうもrecursive mutex_enterなどというログが出ているのを見つける。調べてみると、
http://dlc.sun.com/osol/on/downloads/b136/on-changelog-b136.html
このあたりで、

BUG/RFE:6786704recursive mutex_enter from si3124:si_tran_reset_dport caused by bus reset

と、これっぽい問題が解決されている様子。うちのNASはopensolaris snv_134でそのままにしていたせいでこの問題を見事に踏み抜いたようだ。

ここからが面倒で、opensolaris snv_134などという古いものをそのままにしていたせいで、opensolaris.orgはもう無くなっているし、openindianaのhow to upgradeの通りに試してみてもpython関係の依存関係かエラーでアップグレードもできない。

そこで、大変おすすめできないのだけど、下記の方法でドライバを差し替えた。

** 以下の方法はうっかりすべてのデータを失うおそれもあります。 **

1. とりあえずopenindianaのlive DVDを落としてくる
2. VMWareでそのlive DVDから起動する
3. /kernel/drv/amd64/si3124をどうにかして取り出す(私は自分のサーバにアップロード)
4. シングルユーザモードで起動した状態で、壊れたサーバの/kernel/drv/amd64/si3124に書き込む。元ファイルは念のためバックアップを取る
5. 再起動

ちなみに、openindiana147のドライバで置き換えたところ、クラッシュまで一瞬時間が延びた気がするがやはり駄目。そこで最新のopenindiana151a8のドライバで置き換えたところ、クラッシュしなくなりアクセスできるようになった。つまり、si3124のドライバは最新のものでどうやらこの辺のバグをついにfixしきったということのようだ。

おそろしいことに、そのあとscrubをかけたところ、チェックサムエラーが山のように・・・。片っ端からディスクがDEGRADEしていって、最終的に全部の玉がDEGRADEしてしまったときの体調の悪さといったら、思い出すだに恐ろしい。

それでもzfsは全部のディスクからがんばってパリティを再生成してどうにかこうにかファイルを保全しようとしてくれる。もちろん欠損したファイルもすべてわかる。
欠損したファイルはzpool status -v tankと-vオプションをつければ一覧で得ることができるので、こういうことになった方はチェックしてみると良いだろう。

・・新年そうそうものすごく胃の痛い思い、ちょっとお祓いにでも行ってくることを検討したくなる。

そんなこんなで、全然更新していませんがunos.bizは死んだわけではないです。
今年もよろしくお願いいたします。

openindianaとFreeBSDのzfs互換性

Posted by ゆのじ on 11月 2nd, 2011

opensolarisが、というよりはsolarisが守銭奴様に買収されて久しい。

うちはファイルサーバにopensolarisを使っているのだが、この際solarisの一番安いライセンスが現実的な値段であればO社と契約しようかとも思ったのだが、だいぶ非現実的な価格だったこともあって契約に至らず、かといってopensolarisは状況が状況で、ということで移行先に悩んでいた。

移行先はいくつかあるが、その中でも一番手間無くすっと移行できそうなのがopenindiana。出た当初はちょっと手間が要りそうな気配ではあったが今はだいぶ手軽に使える模様、VM上で色々テスト中だ。

ところでうちは昔はよくFreeBSDを使っていた。しばらく使わなくなってしまっていたが、zfsのOS間互換がどれくらい効くのか知りたくて、FreeBSD9-RC1を入れてみた。試すのは、zfsのアレイを相互のOS間で入れ替えて使えるのか、だ。

(さらに…)

zfs久々に試す

Posted by ゆのじ on 6月 28th, 2011

前からどうしようと思っていたNASのリプレイスのため、いくつか試験してみたのでメモ。環境はさっきダウンロードしてきたOpenIndiana(io_148) x86/64bitをVMWare上で動かした物。c2t0d0が起動ディスクで、c2t1d0, c2t2d0, c2t5d0が200MBの玉、c2t3d0, c2t4d0, c2t6d0が400MBの玉。連番じゃないのはちょっとミスしたからで他意はない。

容量制限したスライスでpool

市販されているHDDは、1TBと書いてあっても1TB(1 * 1000 * 1000 * 1000 * 1000 bytes)ではなくてそれよりいくらか多いのが普通だ。そのため、HDDをそのまま全容量でつかっていると、故障などの際に簡単に入れ替えられなくなる。それどころか違うインタフェイスに繋いだだけでそうなることもあるので(なっているので)、そうならないように容量制限したスライスを切って、スライスでRAIDZ1を組んでみる。

(さらに…)