- 追加された行はこの色です。
- 削除された行はこの色です。
[[HDD管理 sysutils/smartmontools]]
----
#counter([total|today|yesterday]);
&lastmod;
#contents
----
*G7 のzpoolが妙なことに? 2013/03/04[#da6d2c72]
仕事場のG7のzpoolが何時の頃からか?こんな事に。っていうか、多分、FreeBSD 9.0を9.1にUPしたあたり・・・から。
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
raid/r0 ONLINE 0 0 0
ada2 ONLINE 0 0 0
3964903653718771644 OFFLINE 0 0 0 was/dev/ada3
http://yet-another-su.txt-nifty.com/endeavor_nt340freebsd/2012/05/freebsd-9zfs-66.html
の様になっていました。これ、raid/r0 というディスクと、本来の ada3
で構成されているraid0ということのようです。って、そうですか?
http://www.seichan.org/wiki/index.php?FreeBSD-ZFS#l5494be8
さらには、dmessage で、こんな行も
Mar 4 15:25:31 g7 kernel: GEOM_RAID: SiI-070101104925: Array SiI-070101104925 created.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: SiI-070101104925: Disk ada2 state changed from NONE to ACTIVE.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: SiI-070101104925: Subdisk SiI Concatenatio:0-ada2 state changed from NONE to ACTIVE.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: SiI-070101104925: Array started.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: SiI-070101104925: Volume SiI Concatenatio state changed from STARTING to OPTIMAL.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: SiI-070101104925: Provider raid/r0 for volume SiI Concatenatio created.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: NVIDIA-1: Array NVIDIA-1 created.
Mar 4 15:25:31 g7 kernel: Root mount waiting for: GRAID-NVIDIA
Mar 4 15:25:31 g7 last message repeated 29 times
Mar 4 15:25:31 g7 kernel: GEOM_RAID: NVIDIA-1: Force array start due to timeout.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: NVIDIA-1: Disk ada3 state changed from NONE to ACTIVE.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: NVIDIA-1: Subdisk RAID 0+1 465.77G:2-ada3 state changed from NONE to REBUILD.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: NVIDIA-1: Array started.
Mar 4 15:25:31 g7 kernel: GEOM_RAID: NVIDIA-1: Volume RAID 0+1 465.77G state changed from STARTING to BROKEN.
Mar 4 15:25:31 g7 kernel: Trying to mount root from zfs:zfspool/root []...
どうやら、G7のBIOS設定のなかにあるSATAーRaid(工場出荷時はディスエーブル)がイネーブルになってる風味。
http://mfsbsd.vx.sk/
さらに、HDD二基をraidに組んでしまった模様。データは正常なのだが、なんか気持ち悪い。(ーー;)
POST画面からF9を押して、種々設定を確認・変更するも、raidの解除には至らず。orz
方々調べてみるも、G7のSATA-Raidの解除方の記載は皆無・・・
で、HPのHPへ質問コメントを出してみた。
「G7サーバのBIOS設定でSATA-Raidを解除する方法は?」
すると、翌日、サポートさんからお電話が来た。キタ━━━(゚∀゚)━━━!! で、おおざっぱに纏めると
「BIOSの設定で、SATA-Raid機能をOFFにしても、HDDにアレイの情報が書き込まれていたらRaidチップは動作する」
とのこと。また
「複数のHDDが搭載された場合、自動的に最適なアレイを組もうとする」
のだそうです。
方針としてはSATA-Raid(Software)は使わず、物理HDD3基によるraidz1 で行きたいので、修正する。
**SATA-Raidのためのメタデータが書き込まれたHDDをフォーマットしなおす [#nc845406]
root@g7:/root # dd if=/dev/zero of=/dev/ada3 bs=1m count=1
dd: /dev/ada2: Operation not permitted
と、フォーマット出来ない。そこで、
root@g7:/root # sysctl kern.securelevel
kern.securelevel: -1
root@g7:/root # sysctl kern.geom.debugflags=0x10
kern.geom.debugflags: 0 -> 16
と、カーネルデバッグレベルを下げてから、
root@g7:/root # dd if=/dev/zero of=/dev/ada3 bs=1m count=1
1+0 records in
1+0 records out
1048576 bytes transferred in 0.006510 secs (161071105 bytes/sec)
の様にして、目的のHDD総てをフォーマットをして、
root@g7:/root # gpart create -s GPT ada1
gpart: geom 'ada1': File exists
root@g7:/root # gpart create -s GPT ada2
ada2 created
root@g7:/root # gpart create -s GPT ada3
ada3 created
と、GPTディスクを作成し、念のため
root@g7:/root # gpart list -a
等で出来ているかを確認して、
root@g7:/root # zpool create -f tank raidz1 ada1 ada2 ada3
する。
root@g7:/root # zpool status
pool: tank
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 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
ということで、目出度く復旧。( ´ ▽ ` )ノ
念のため、reboot してみたけど、NVIDIAはお出ましにならず。ホッ(・_・)
あとは、続きの
http://piano2nd.smb.net/~kuji/pukiwiki-1.4.7/index.php?ZFS%20FreeBSD%209.0#ad8f6d28
するヨロシ。
----
*Device: /dev/ada3, unable to open device [#gd66b8d4]
ほぼ同時に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 install on ZFS [#had47cd4]
FreeBSD 9.0R で、ルートファイルシステムをZFSにするメモ
参考URL
http://d.hatena.ne.jp/k-akashi/20100802/1280717882
http://d.hatena.ne.jp/kawa_128/20120219/1329644472
#contents
*FreeBSD 9.0R install [#id015fa7]
いつも最初の locate hogehoge で database too small と言われて
/usr/libexec/locate.updatedb
するw
mfsBSDを使えば楽ちんとのこと。
ファイルシステムをZFSでフォーマットしてFreeBSDをインストールするスクリプトを実行してインストールするとのこと。
7 5:18 portsnap fetch && portsnap extract
[[portupgrade のインストール]]
具体的には、http://mfsbsd.vx.sk/ から、ISOイメージをDLしてきてインストール。
9.0-RELEASE amd64 special edition (100MB) checksums
#ref(mfsbsd-se-9.0-RELEASE-amd64.iso)
をとってきてCD-Rに焼く。
[[ports collection の更新]]
イメージをダウンロードしたらCDブートで起動。
すると、普通にFreeBSDが起動するので、まずはログイン。
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
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
-dのオプションはインストールするディスクを指定。
-tはisoイメージに入っていたzfsでのインストール用ファイルを指定。
-pはインストール時に作成されるZPOOLの名前を指定。
-sはスワップ領域をどれだけ作るかを指定。
zfsinstallスクリプトが終わるとインストール終了。
最後にchrootしてrootのパスワードを設定して再起動。
# chroot /mnt
# passwd
hogehogehoge #パスワード入力
# reboot
再起動後はportsもないし、rc.confにもzfs_enable="YES"しか書いてないので、ちょろちょろ環境作ることになる。
/usr/sbin/sysinstall
が使えると、Configer で設定出来てちょっとだけGUI!w
ここから参考URL
http://yet-another-su.txt-nifty.com/endeavor_nt340freebsd/2012/05/freebsd-9zfs-66.html
-全部ZFSにするよ!
-システムは全部SSD上に入れるよ! ---> ada0
-HDD3台でRAIDZ1のZFSプールを組むよ! ---> ada1 ada2 ada3
-SSD上にZFSプールのキャッシュ領域とログ領域を用意するよ! ---> ada0
-Swapはパーティションじゃなくてファイルを使うよ! ---> ada0??
というか、既に ada0 に、完結した?システムが出来ているので、残りの ada1 ada2 ada3 上にpoolを作って /home/usr にしましょうという話。
**インストール時、usr登録しなければ、インストーラが /usr/home を作っていないので、tank にそれを置く事にする。 [#ad8f6d28]
G7# zpool create tank raidz ada1 ada2 ada3
したら、なんだか、エラー。そこいらに転がってたHDDかき集めた tank なのでデータが残っているとダメらしい。っつうことで、
G7# zpool create -f tank raidz1 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
**Backup Server からデータを取ってくる [#oafa0f81]
portsで、net/rsync をインストールして・・・
/usr/local/bin/rsync -av blackhole.smb.net:/usr/Backups/Blackcube /usr/home/Backups/
*install 直後 [#zd323311]
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
[[portupgrade のインストール]]
[[ports collection の更新]]
G7# ln -s /usr/home/ /home
**Backup Server からデータを取ってくる [#oafa0f81]
portsで、net/rsync をインストールして・・・
/usr/local/bin/rsync -av blackhole.smb.net:/usr/Backups/Blackcube /usr/home/Backups/
[[Postfix on FreeBSD]]
***portinstall databases/mysql51-client [#r3a88c38]
[[MySQL on FreeBSD]]
*** portinstall www/apache22 [#j7c70fd2]
依存関係で、
python
gdm
&ref(apache22op.png);
*** G7# portinstall lang/php5 [#ob69e3ff]
&ref(php5op.png);
----
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
http://mfsbsd.vx.sk/
http://d.hatena.ne.jp/k-akashi/20100802/1280717882
http://d.hatena.ne.jp/kawa_128/20120219/1329644472