HDD管理 sysutils/smartmontools


Counter: 4746, today: 1, yesterday: 0

2013-03-04 (月) 17:03:34


G7 のzpoolが妙なことに? 2013/03/04

仕事場の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

の様になっていました。これ、raid/r0 というディスクと、本来の ada3 で構成されているraid0ということのようです。って、そうですか?

さらには、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(工場出荷時はディスエーブル)がイネーブルになってる風味。

さらに、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をフォーマットしなおす

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

ほぼ同時に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

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"しか書いてないので、ちょろちょろ環境作ることになる。

/usr/sbin/sysinstall

が使えると、Configer で設定出来てちょっとだけGUI!w

ここから参考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 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

install 直後

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 からデータを取ってくる

portsで、net/rsync をインストールして・・・

/usr/local/bin/rsync -av blackhole.smb.net:/usr/Backups/Blackcube /usr/home/Backups/

Postfix on FreeBSD

portinstall databases/mysql51-client

MySQL on FreeBSD

portinstall www/apache22

依存関係で、

python
gdm

apache22op.png

G7# portinstall lang/php5

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


添付ファイル: filemfsbsd-se-9.0-RELEASE-amd64.iso 820件 [詳細] filephp5op.png 818件 [詳細] fileapache22op.png 814件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-03-04 (月) 17:03:34