2013-03-04 (月) 17:03:34
ほぼ同時にSMART error (FailedOpenDevice) detected on host: blackcube.smb.net というメールが、
Device: /dev/ada2, unable to open device Device: /dev/ada3, unable to open device
blackcube# zpool status pool: tank state: ONLINE status: One or more devices are faulted in response to IO failures. action: Make sure the affected devices are connected, then run 'zpool clear'. see: http://www.sun.com/msg/ZFS-8000-HC scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 4 6.26M 0 ada1 ONLINE 0 0 0 ada2 ONLINE 6 12.5M 0 ada3 ONLINE 3 15 0 errors: 112 data errors, use '-v' for a list pool: zfspool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zfspool ONLINE 0 0 0 ada0p3 ONLINE 0 0 0 errors: No known data errors
だったので、ググって、http://docs.oracle.com/cd/E19253-01/819-6260/gbctx/index.html
http://docs.oracle.com/cd/E19253-01/819-6260/gbctt/index.html
blackcube# zpool clear -F tank
するも、プロンプト帰らず
blackcube# zpool status -v pool: tank state: UNAVAIL status: One or more devices are faulted in response to IO failures. action: Make sure the affected devices are connected, then run 'zpool clear'. see: http://www.sun.com/msg/ZFS-8000-HC scan: none requested config: NAME STATE READ WRITE CKSUM tank UNAVAIL 0 1 0 ada1 ONLINE 0 0 0 3618713481250398537 UNAVAIL 0 0 0 was /dev/ada2 5288351998824643618 UNAVAIL 0 0 0 was /dev/ada3 errors: Permanent errors have been detected in the following files: <metadata>:<0x0> <metadata>:<0x4e> <metadata>:<0x4f> <metadata>:<0x50> tank:<0x11fd32> tank:<0x11fc6e> tank:<0x18e488> tank:<0x18ccef> pool: zfspool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zfspool ONLINE 0 0 0 ada0p3 ONLINE 0 0 0 errors: No known data errors
で、余計に悪化?
サーバを停めて、飛んだHDD、ada2, ada3 を新品に交換。
新らしくtankを作る。
データをバックアプから取ってくる。 tank は、/usr/home なので、まず、
blackcube# /usr/local/bin/rsync -av blackhole.smb.net:/usr/Backups/Blackcube/usr/home /usr/ blackcube# /usr/local/bin/rsync -av blackhole.smb.net:/usr/Backups/Blackcube_G7/usr/home /usr/
を取ってくる。Down Time 5hr orz
FreeBSD 9.0R で、ルートファイルシステムをZFSにするメモ 参考URL http://d.hatena.ne.jp/k-akashi/20100802/1280717882
mfsBSDを使えば楽ちんとのこと。 ファイルシステムをZFSでフォーマットしてFreeBSDをインストールするスクリプトを実行してインストールするとのこと。
具体的には、http://mfsbsd.vx.sk/ から、ISOイメージをDLしてきてインストール。
9.0-RELEASE amd64 special edition (100MB) checksums
をとってきてCD-Rに焼く。
イメージをダウンロードしたらCDブートで起動。
すると、普通にFreeBSDが起動するので、まずはログイン。
rootでパスワードはmfsroot。
あとの作業はログインメッセージにある程度書いているが、まずはCDをマウントする。
# mount_cd9660 /dev/acd0 /cdrom
HP ProLiant ML110 G7サーバの場合は、 http://h10010.www1.hp.com/wwpc/jp/ja/sm/WF25a/15351-15351-241434-3328424-3328424-5075942.html?dnr=1
# mount_cd9660 /dev/cd0 /cdrom
としてマウント。
マウントすると、FreeBSDのインストール用ファイルが使えるようになるので、それを指定してZFSでのインストールスクリプトを実行する。
# zfsinstall -d /dev/ada0 -t /cdrom/9.0-RELEASE-AMD64.tar.xz -p zfspool -s 4G
最後にchrootしてrootのパスワードを設定して再起動。
# chroot /mnt # passwd hogehogehoge #パスワード入力 # reboot
再起動後はportsもないし、rc.confにもzfs_enable="YES"しか書いてないので、ちょろちょろ環境作ることになる。
ここから参考URL http://yet-another-su.txt-nifty.com/endeavor_nt340freebsd/2012/05/freebsd-9zfs-66.html
というか、既に ada0 に、完結した?システムが出来ているので、残りの ada1 ada2 ada3 上にpoolを作って /home/usr にしましょうという話。
インストール時、usr登録しなければ、インストーラが /usr/home を作っていないので、tank にそれを置く事にする。
G7# zpool create tank raidz ada1 ada2 ada3
したら、なんだか、エラー。そこいらに転がってたHDDかき集めた tank なのでデータが残っているとダメらしい。っつうことで、
G7# zpool create -f tank ada1 ada2 ada3
しる。
# zfs set mountpoint=/boot/zfs/zroot/usr/home tank # cd /boot/zfs/zroot; ln -s usr/home home
ZFSのexportとimportを行います
# cd /boot/zfs # zpool export tank # zpool import tank
マウントポイントを指定します。
# zfs set mountpoint=/usr/home tank
/home へリンク張る
G7# ln -s /usr/home/ /home
G7# df Filesystem 1K-blocks Used Avail Capacity Mounted on zfspool/root 235245429 1007697 234237731 0% / devfs 1 1 0 100% /dev zfspool/root/tmp 234237769 38 234237731 0% /tmp tank 1436810379 19644987 1417165391 1% /usr/home zfspool/root/var 234331816 94084 234237731 0% /var
G7# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT tank 1.36T 23.0G 1.34T 1% 1.00x ONLINE - zfspool 228G 1.05G 227G 0% 1.00x ONLINE -
G7# zpool status pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 ada1 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 errors: No known data errors pool: zfspool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zfspool ONLINE 0 0 0 ada0p3 ONLINE 0 0 0 errors: No known data errors
23 6:31 dmesg | grep MB 24 6:41 zpool create tank ada1 ada2 ada3 25 6:41 zpool status 26 6:42 zpool list 27 6:42 zpool create -f tank ada1 ada2 ada3 28 6:43 zpool list 29 6:43 zpool status 30 6:43 df 31 6:54 pwd 32 6:54 cd 33 6:55 cd / 34 6:55 zfs set mountpoint=/boot/zfs/zroot/usr/home tank 35 6:55 cd /boot/zfs/zroot ; ln -s usr/home home 36 6:58 cd /boot/zfs 37 6:59 zpool export tank 38 6:59 zpool export zroot 39 6:59 zpool export zfspool 40 7:00 zpool import tank 41 7:01 zfs set mountpoint=/usr/home tank 42 7:01 history
いつも最初の locate hogehoge で database too small と言われて
/usr/libexec/locate.updatedb
するw
7 5:18 portsnap fetch && portsnap extract
G7# ln -s /usr/home/ /home
portsで、net/rsync をインストールして・・・
/usr/local/bin/rsync -av blackhole.smb.net:/usr/Backups/Blackcube /usr/home/Backups/
依存関係で、
python gdm
http://yet-another-su.txt-nifty.com/endeavor_nt340freebsd/2012/05/freebsd-9zfs-66.html
http://www.seichan.org/wiki/index.php?FreeBSD-ZFS#l5494be8