毎度テスト環境作ったりする際の環境構築が面倒なので USB メモリに完全な環境を作っておいて必要な時に zpool replace なり attach/detach でインストールしてしまおうという計画なわけですがいきなり問題が発生.
MASAOKA Hajime diary - 時間が… - USB HDDにおけるエラー解決法(quirkを追加)
面倒なので症例は上記を確認のこと. SYNCHRONIZE CACHE 云々つーエラーね. 現在の 8-STABLE では去年末に quirk 周りのコードがかなり変更されているので上記リンクと同様の対応は取れず自力対応. うわーマンドクサと思ったら単純にマクロ化されただけだったんで値を列挙するだけだったんですが. 結局以下パッチを @/dev/dev/usb/ であてるだけの対応. 147 円になります.
Index: quirk/usb_quirk.c
===================================================================
--- quirk/usb_quirk.c (revision 203609)
+++ quirk/usb_quirk.c (working copy)
@@ -442,6 +442,7 @@
USB_QUIRK(ACTIONS, MP4, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_SYNC_CACHE),
USB_QUIRK(ASUS, GMSC, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+ USB_QUIRK(EMTEC, USBMEM1G, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
};
#undef USB_QUIRK_VP
#undef USB_QUIRK
Index: usbdevs
===================================================================
--- usbdevs (revision 203609)
+++ usbdevs (working copy)
@@ -680,6 +680,8 @@
* List of known products. Grouped by vendor.
*/
+product EMTEC USBMEM1G 0x1f23 Silicon-power 1GB usb memroy
+
/* 3Com products */
product 3COM HOMECONN 0x009d HomeConnect Camera
product 3COM 3CREB96 0x00a0 Bluetooth USB Adapter
ようは usbconfig(8) で idVendor と idProduct 調べて @/dev/usb/usbdevs に vendor 及び product を記述(今回は product のみ). あとは @/dev/usb/quirk/ に上記パッチの要領で追加するだけ. 指定可能な quirks は usb_quirk.h 参照.
ZFS 環境を軽々しく, 軽率に, お手軽に, 尻軽に使用できるようイメージファイルを作成しました. 8.0 RELEASE だと結構問題があるので 2/7 時点の 8-STABLE(r203609) に対しいくつかの致命的な問題(kern/142271,usb/138798 等)への適当に拾ってきたパッチを当て LOADER_ZFS_SUPPORT 付きで Pure ZFS 環境に make installworld, installkernel, distribution しただけの状態です. いわゆるインストーラやら LiveCD 的なものではなくそのままマルチユーザで上がる仕組みなので直接 USB メモリなりに書きこむこと. 設定については ZFS ブートに必要な事以外は何もやっていませんので必要に応じて sysinstall を使うなり直接書き換えるなりしてください. ああそういえばタイムゾーンだけ設定したわ.
FreeBSD 8-STABLE(r203609)/amd64
MD5 (8STABLE_0208_zfsboot_amd64.img.gz.aa) = 192cdca269392c7d3e1b4060576c167a
MD5 (8STABLE_0208_zfsboot_amd64.img.gz.ab) = fd5257b39b4a2a243d249eb14e11db46
MD5 (8STABLE_0208_zfsboot_amd64.img.gz.ac) = a4f6db10f2f691e84dc796c3eed4451a
MD5 (8STABLE_0208_zfsboot_amd64.img.gz.ad) = b889a79c9b113802825c316d039a4c4f
MD5 (8STABLE_0208_zfsboot_amd64.img.gz.ae) = 1728ecf9c4f88849dc941a06a078ac18
FreeBSD 8-STABLE(r203609)/i386
MD5 (8STABLE_0208_zfsboot_i386.img.gz.aa) = 5b2c2b345a3808d0b93012c5d6f4b07c
MD5 (8STABLE_0208_zfsboot_i386.img.gz.ab) = 29b81b905554bbecda093801b39a74fc
MD5 (8STABLE_0208_zfsboot_i386.img.gz.ac) = 81f03679f3a4bf1ac6930005a4afad31
MD5 (8STABLE_0208_zfsboot_i386.img.gz.ad) = 71787044beca751effaa8dfcbc17a8ba
MD5 (8STABLE_0208_zfsboot_i386.img.gz.ae) = 749b9802b5ef434d9ab4daf8914e2a1d
MD5 (8STABLE_0208_zfsboot_i386.img.gz.af) = 12318d64ddb5d1483b132c51da61b543
amd64, i386 いずれかのセットを落とし
# cat 8STABLE_0208_zfsboot_i386.img.gz.* | gzcat > file
# dd if=file of=/dev/ad0 bs=1m
的な事をすれば即ブート可能です. Windows では全てを連結後 gzip で伸長し何かで書き込んでください. DD for Win とか?
ブート後は root/パスワードなし で login し atacontrol/camcontrol 等でインストール先を確認の上
# /root/create_zfs_boot.sh ad0(対象ディスク)
とすればパーティション情報の削除, GPT パーティションの作成, ローダのインストール, zpool replace での指定ディスクへの インストールをしてくれます. 当たり前ですがインストール先の内容は全て消えますので事前に以下略しておいてください. インストールには zpool replace を使用しているので何度も使いたい人は attach 等に書き換えてください. 10 分以下で完了するのであとは USB メモリを抜いて reboot すれば普通に HDD から立ち上がります.
ちなみに一部の USB メモリや USB HDD だとブート時にコケます. 自分が使用した USB メモリへの対応 はしましたが問題にぶち当たった場合は修正後カーネルの差し替えが必要になります. そうなるとお手軽感ブチ壊しですので説明は省略. というか先のエントリがその内容だったりするんですが.
『iPad』を普及させる7つの条件 漫画喫茶へ導入? 『ラブプラス』アプリ? - ガジェット通信
・iPodの大きさにする
これが一番! iPodくらいの大きさにしたら激的に普及すると思う!
いい皮肉だw
こんな便利なものがあったとはなぁ. これがあればいちいち VMWare 上でインストーラ立ち上げる必要が無いわ. そもそも ZFS 使うとなると sysinstall は使い物にならんし(そもそもクソというのはおいておいて). livefs でやるよりも普段の環境で dd + mdconfig でディスク作ってそれに対して gpart, zpool create, zfs create して make installkernel installworld した方がよっぽど楽だからな. あとはイメージを qemu-img でコンバートすればおっけーと.
それはそうと現在の 8-STABLE は zpool のバージョンが 13 から 14 に上がっている関係上いろいろ面倒だ. 特にローダ関係は知らないとハマる.
昨晩の 21:30 に開始して 1 本目が 3:00 に完了しそのまま 2 本目をセット後に床へ. 3 本目は起きて 9:00 から開始し 14:00 に完了. 長かった… 転送元側は一切チューニング無しの 8-STABLE からの転送なので一手間かければもう少し速度は出たかもしれない.
white@melissa [679] % zpool list d0pool
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
d0pool 7.25T 2.81T 4.44T 38% ONLINE -
2TBx4 本での RAIDZ1 なので使用率以外の値はは 3/4 で考える必要がある. 実質 2.1TB 転送したことになるのでマザーの良い負荷テストにはなった.
元の 1TBx3 は数カ月程度そのまま保存しておく予定. まだ何が起きるかわからんので.
入れ替え自体はノートラブルで 1 時間程度で完了. 忍者の取り付け取り外しで苦しんだのは 939 と 478 で AM2 は大したことが無いんだった. 但しその後に念のための memtest 等でエラく時間を取られたわけですが.
現在 PC 用のモニタは一切無くて全て TV で代用しているわけですが TV の端子が DSUB15x1, HDMIx2 という構成上必要な時のみサーバに繋ぐという方法をとっていたのだが今回導入した A7DA-S ならば HDMI での出力が可能なので非常に助かる. あとはオンボードの NIC も bge になったし SATA も 6 本あるしでかなり強まった.
つーことで明日はようやく 2TBx4 を突っ込んでみる予定.
melissa# atacontrol list
ATA channel 0:
Master: no device present
Slave: no device present
ATA channel 1:
Master: acd0 <PIONEER DVD-RW DVR-111/1.19> ATA/ATAPI revision 5
Slave: no device present
ATA channel 2:
Master: ad4 <WDC WD5000AACS-00ZUB0/01.01B01> SATA revision 2.x
Slave: no device present
ATA channel 3:
Master: ad6 <Hitachi HDS722020ALA330/JKAOA20N> SATA revision 2.x
Slave: no device present
ATA channel 4:
Master: ad8 <Hitachi HDS722020ALA330/JKAOA28A> SATA revision 2.x
Slave: no device present
ATA channel 5:
Master: ad10 <Hitachi HDS722020ALA330/JKAOA28A> SATA revision 2.x
Slave: no device present
ATA channel 6:
Master: ad12 <Hitachi HDS722020ALA330/JKAOA28A> SATA revision 2.x
Slave: no device present
ATA channel 7:
Master: no device present
Slave: no device present
melissa# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
d0pool 7.25T 293K 7.25T 0% ONLINE -
syspool 464G 59.8G 404G 12% ONLINE -
melissa# zpool status d0pool
pool: d0pool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
d0pool ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad8 ONLINE 0 0 0
ad10 ONLINE 0 0 0
ad12 ONLINE 0 0 0
errors: No known data errors
あとはとりあえず組んだだけの状態で bonnie++ の結果
以前データ移行に失敗して一瞬で 1TB が消え去るという悲しい思いをしたので今回は慎重に別マシンから read only でマウントし LAN 経由の ssh + tar で転送中. 160GB/h くらい出ているので 1TBx3 でも明日中には終わってしまうな. もう少しかかると思った.
CPU 的にも I/O 的にも負荷かかりまくりなのでマザー交換後のテストとしても丁度いいだろう.
You are standing at the gate to Gehennom. --more--
Unspeakable cruelty and harm lurk down there. --more--
Are you sure you want to enter? y
So be it.
W.アイントホーフェン(1860-1927)が心電図の仮説を打ち立てたのが 1903 年. これにより人間の心臓はその動きに伴い微量の発電をしていることが発見された. アクメカートで使用されるエネルギー理論とは?
世界で始めて人体から間接的にエネルギーを抽出, それを利用可能としたマシンの開発に成功. すなわち, 女性のイクという感覚『アクメ』から E=Acme^3 の変換効率でエネルギーを抽出できる新テクノロジーなのである.
E=mc^2 が相対性理論で証明されたように女体がアクメを感じれば感じるほどマシンに伝わるエネルギーが増大することを実証すべく, 今回史上始めて Fuck-1 グランプリを開催する運びとなった.

DS-10 で 長州力 入場のテーマ パワーホール をアレンジしてみた‐ニコニコ動画(9)
ずいぶん前にも書いたけど品川のパチンコ屋でパワーホールが流れれてビビった(普通は猪木ばかりだ)覚えが有りますという前置き. んでこの貼り付けたやつ, DS-10 で作っているらしいんだが異常に出来がよい.
個人的にはエレクトロ的なリズムトラックが似合うと思うパワーホールですが DS-10 の 16 ステップでは少々きついか.
茨城から en-US locale な環境で繋いでくるツー時点で数名の顔が思い浮かぶが. 仕事ください(ぉ
white@white-desktop:~$ uname -a
Linux white-desktop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
white@white-desktop:~$ sudo hdparm -i /dev/sda | grep -i model
Model=Hitachi, FwRev=JKAOA20N, SerialNo=JK1131YAGYM91V
white@white-desktop:~$ sudo /usr/local/sbin/smartctl -l scterc /dev/sda
smartctl 5.39 2009-11-03 r2981 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-9 by Bruce Allen, http://smartmontools.sourceforge.net
SCT Error Recovery Control:
Read: 70 (7.0 seconds)
Write: 70 (7.0 seconds)
white@white-desktop:~$
余っていた 2.5HDD に ubuntu 9.10 を突っ込んでテストしてみたら Linux では普通に動く. ということで HDAT2 の方向は消えた. ERC 対応パッチ済み smartctl がFreeBSD で動かない事についてはそのうちそれぞれのトレース結果でも比較してみるか.
しかしまぁ, 結構良く出来てますねぇ, ubuntu. 「とりあえず入れてみたい」という人にあーだこーだと何を入れるかなんて質問すべきではないんだよな, 多分. 標準だと g++ とか sshd とかは入らないようだけどこんなもんが必要な人は自分で調べて入れるだろうし.
melissa# smartctl -a /dev/ad6 | sed -e '/^Device Model/p' -e '/^ID#/,/^$/p' -e d
Device Model: WDC WD10EACS-00ZJB0
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0003 181 180 021 Pre-fail Always - 7925
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 123
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x000e 200 200 051 Old_age Always - 0
9 Power_On_Hours 0x0032 081 081 000 Old_age Always - 14262
10 Spin_Retry_Count 0x0012 100 100 051 Old_age Always - 0
11 Calibration_Retry_Count 0x0012 100 100 051 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 123
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 114
193 Load_Cycle_Count 0x0032 007 007 000 Old_age Always - 580609
194 Temperature_Celsius 0x0022 122 107 000 Old_age Always - 30
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 051 Old_age Offline - 0
稼働時間 = 594.25 日 = 14262 時間にしてはあまりに大きすぎる Load_Cycle_Count 値 の 580609. 1 日に約 1000 回ですからね, なにそれ.
[root@melissa ~]# ls /dev/ad* | grep 'ad[0-9][0-9]*$' | while read dev ; do smartctl -a $dev | awk '/Power_On_Hours/{h=$NF} /Load_Cycle_Count/{c=$NF} /Device Model/{n=$NF} END{ printf("%18s %7d times %7d hour\n",n,c,h) }' ; done | sort -n +3
WD10EADS-00L5B1 30 times 7447 hour
WD10EACS-00D6B0 47 times 11789 hour
WD10EACS-00ZJB0 580671 times 14262 hour
WD5000AACS-00ZUB0 831026 times 15391 hour
HDT722525DLAT80 1166 times 25578 hour
他と比較しても一目瞭然の異常さ… って WD5000AACS もヤバイ. つーか Green Power の初期はヤバイということか. 今更知ったがずいぶん騒がれてたんすね. まーでもこれといって問題は全然なかったりするんですが. 起きてからでは遅いんですけど.
7K2000 を 13,900 にて. 面倒なので泉の館で済ませたんだがなんとファームが 20N というがっかり品だったぜ. まぁ XP で使うわけじゃないから問題ないけどさ. WD の Green シリーズと比べりゃそりゃそれなりに音は出るが爆音というほとでもないのでホッとした. 問題はこいつを 4 台ぶらさげたらどうなるかなんだけどさ.
買ってきた HGST の 2TB に対し Advanced Test 走らせて問題ないことを確認してから例のパッチ済み smartctl で ERC の有効化を試みる. -a で確認する限り ERC は有効なのだが -l scterc での現在の秒数設定確認やら -l scterc,xx,yy での秒数設定は上手くいかず.
結局行き着いたのは海外の NAS 関連フォーラムで, どうやら今のところ FreeBSD では動かない(というか Linux だけ)ようなので HDAT2 で逃げている様子. 基本的には HDAT2 で boot 時に設定すれば問題ないんだけど AHCI 環境での atacontrol attach/detach 時とかはどうしようもないよな… そのうち smartctl の方で対応されることを願いつつ作業を進めて行くか.
追記: HDAT2 では現在 4 drives までしか対応していないつー情報を HDAT2 forum で見た. 作者はやる気があるみたいだけど着手できるのは数カ月先みたい… まぁ通電さえしてれば設定した値は消えないからケーブル抜くなり BIOS で隠すなりすれば対応可能だとは思うけど. それか USB ブート可能な Linux から例の smartctl を使うか.
ともかく HGST なら ERC が行ける事が確認できたので早速残りの 3 本を購入したいところだがその前に地獄のマザー交換が待っているわけで. 正直忍者の取り外しは元のマザー粉砕覚悟で望む必要があるのでかなり気が重い.
普段あまりストレートな下系は見ないびんびんのところから拾ったリンク. 田中さんあたりが喜びそうな内容. 俺は大喜びですが. なにかこうおみくじに書かれているような文言を連想させる.
_ タバコ [アイポッポタッチ?とかでソストシンセを使っているような連中には受けが良かったわね。]