2013.07.11
しばらく前から FreeBSD 9.1-RELEASE-p4 の箱がリブートしない(All buffers synced.
の後で止まっちゃう)ので困ってた。(-p4 より以前から。たぶん、9.1 になった時から)
root@host:/root # reboot
Jul 10 10:06:27 host reboot: rebooted by root
Jul 10 10:06:27 host syslogd: exiting on signal 15
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...0 0 0 done
All buffers synced.
Uptime: 8h1m32s
usbus0: Controller shutdown
uhub0: at usbus0, port 1, addr 1 (disconnected)
usbus0: Controller shutdown complete
usbus1: Controller shutdown
uhub1: at usbus1, port 1, addr 1 (disconnected)
usbus1: Controller shutdown complete
usbus2: Controller shutdown
こんな感じで止まってる。

てっきりハードウェアの問題かと思って放っておいたんだけど、ふと思いついてちょっと "freebsd reboot stall usbus
controller shutdown" とかでググってみたところ、kern/172952: 9.1
hangs on reboot after all buffers synced
が見つかった。これによると 9.1 で ZFS
な箱が同じようにリブートしないという問題らしい。ログを読んでいくとパッチが提案されており、9-stable にすでに commit されてるらしい。

そこで、さくっと svnup stable して、9-stable に上げてみた。(途中 xinstall
のコンパイルに失敗するとか関係ない穴にはまったけど、src 全体を svnup で取り直したらなおった。)

期待を込めて(複数回)リブートしたけど、まだダメだった。
root@host:~ # reboot
Jul 11 22:26:59 host reboot: rebooted by root
Jul 11 22:27:00 host syslogd: exiting on signal 15
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...0 0 0 done
All buffers synced.
Uptime: 9m8s
usbus0: Controller shutdown
uhub0: at usbus0, port 1, addr 1 (disconnected)
usbus0: Controller shutdown complete
usbus1: Controller shutdown
uhub1: at usbus1, port 1, addr 1 (disconnected)
usbus1: Controller shutdown complete
usbus2: Controller shutdown
uhub2: at usbus2, port 1, addr 1 (disconnected)
ugen2.2: at usbus2 (disconnected)
umass0: at uhub2, port 3, addr 2 (disconnected)
(da0:umass-sim0:0:0:0): lost device - 0 outstanding, 3
refs
こんな感じで止まっちゃう。メッセージは変わったけど、相変わらずリブートしない。

そこで、再度 "freebsd zfs usb reboot failure" とかでググったところ、Problem with shutdown and
external storage
のスレッドが見つかり、最後のポストにある
hw.usb.no_shutdown_wait=1
を試したところ、ビンゴ! ついに無事リブートするようになった。

9.1 にもなってソフトウェアの問題とは思いもしなかった(しかも、確か 9.0 の時は問題は起こってなかった)ので、ここに到達するまで時間がかかった。

すっきり。
2013.07.10
USB外付けディスク ( WD
Elements 2TB Desktop External Hard Drive
) をZFSで使ってると、しょっちゅう CHECKSUM
エラーが報告されるから、何も根拠はないけど、以下を追加してカーネルを入れ替えてみた。

/usr/src/sys/dev/usb/usbdevs:
product WESTERN ELEMENTS 0x1021 Elements External HDD

/usr/src/sys/dev/usb/quirk/usb_quirk.c:
USB_QUIRK(WESTERN, ELEMENTS, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
Rebuild at 2017/07/23 11:43
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。