|
新年明けましておめでとうございます。今年もよろしくお願いいたします。
ということで 1 月 1 日の 20 時過ぎから作業開始。
まずは RAID1 80GB にあったデータを 120GB の HDD に待避。 1 時間ほどかかる。 続けて昨年暮れに購入しておいた 160GB HDD x 2 を IDE RAID カード (Promise FastTrak100) に取りつけ...。あれ、動作しない。 2ch ある ATA IF のうち 1ch が動かない。
HDD を 1 台ずつ別の PC でテストした *1ところ、新しく買った HDD のうち 1 台が壊れているという結論に。 FastTrak100 の BIOS を直前に 137GB over の BIOS にアップデートしたなど 疑うところが複数あったので、ここまでわかるのに時間がけっこうかかった (^^;。
とりあえず RAID1 80GB だけで FreeBSD 5.2-RC2 を新規インストールした ところで終了。
HDD を購入したヨドバシカメラ八王子店へ行き、初期不良で交換してもらう。
帰宅して 160GB HDD x 2 を RAID1 にして 120GB HDD に待避していたデータを リカバリ....。しばらく作業していると
ad3: WARNING - READ_DMA UDMA ICRC error (retrying request)
というのが出てくる。作業を中断して調べてみると、今度は HDD ではなく FastTrak100 の secondary slave IF の調子が悪いことが原因らしい。 先日まで別の HDD をつないでいた時には正常だったので、故障した HDD を つないだのが原因で壊れたのだろうな。
FreeBSD 5.X では FastTrak100 のような RAID カードでなくとも RAID1 の構築や 再構成が可能なので、手元にあった Promise Ultra100TX2 と置き換え。
160GB RAID1 再構成、 PPP で接続して RELENG_5_2 最新ソースを入手、 make world、データのリカバリ、と進む。 sendmail を立ち上げて secondary MX に貯まっていた大量のメールが 届き始めたところでこの日は終了。
各種プログラムをがしがし build & install。 13:30 過ぎに apache を立ち上げて web 復活。システムの各種動作確認は翌 4 日までかかった。
httpd.conf ---------- Listen [::]:80 Listen 0.0.0.0:80 ssl.conf -------- Listen [::]:443 Listen 0.0.0.0:443
ports/www/apache2に typo が原因で認証系の module がインストールされないバグをみつけたので maintainer に連絡したら、「committer になったから自分で commit するよん」 という返事が。
sheepkiller at cultdeadsheep.org の人と clement が同一人物だとは わからなかったよ (^^;。
ad0, ad1, ad2 とある状態で ad1 にエラーが続出して ad1 detach が起きると、 adN の renumbering が発生して ad2 が ad1 になるのね。 ata(4) には 書いてある話だけど、手元で実際に見たのは初めてだったのでちょっと感動。
options ATA_STATIC_ID を指定していない kernel での話。
root# atacontrol reinit 3 # 必要に応じて root# atacontrol list ATA channel 0: Master: no device present Slave: no device present ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad0 <ST380021A/3.05> ATA/ATAPI rev 5 Slave: ad1 <ST3160023A/3.06> ATA/ATAPI rev 6 ATA channel 3: Master: ad2 <ST380021A/3.05> ATA/ATAPI rev 5 Slave: ad3 <ST3160023A/3.06> ATA/ATAPI rev 6 root# atacontrol status 0 ar0: ATA RAID1 subdisks: ad0 DOWN status: DEGRADED root# atacontrol status 1 ar1: ATA RAID1 subdisks: ad1 DOWN status: DEGRADED root# atacontrol addspare 0 ad2 root# atacontrol status 0 ar0: ATA RAID1 subdisks: ad0 ad2 status: DEGRADED root# atacontrol rebuild 0 root# atacontrol status 0 ar0: ATA RAID1 subdisks: ad0 ad2 status: REBUILDING 0% completed root# atacontrol addspare 1 ad3 root# atacontrol status 1 ar1: ATA RAID1 subdisks: ad1 ad3 status: DEGRADED root# atacontrol rebuild 1 root# atacontrol status 1 ar1: ATA RAID1 subdisks: ad1 ad3 status: REBUILDING 0% completed (long time...) root# atacontrol status 0 ar0: ATA RAID1 subdisks: ad0 ad2 status: READY root# atacontrol status 1 ar1: ATA RAID1 subdisks: ad1 ad3 status: READY
80GB と 160GB の RAID1 rebuild を同時に行って、終了するまで 2:40 ほど *1。 FreeBSD 4.X だと FastTrak100 の BIOS での rebuild だったから その間システムを起動できなかったけれど、 FreeBSD 5.2 では稼働中に rebuild できるのが嬉しい。 top(1) で見ていた感じでは CPU 負荷はせいぜい 1 % 程度。 rebuild 中にスピードが遅くなる等の体感的な影響はなかった。
このサービスって外に出られない IPv6 サービスで 2001::/16 なアドレスが つくのか。 IPv6 を使っていないならいいけど、 IPv6 ユーザの場合は 利用するのがかなり難しそうだ。以下は Flet's .NET と他の IPv6 サービスを 同時に使う場合の話。
グローバルな IPv6 網と Flet's .NET な網に同時に接続する場合、
の両方を満たす必要がある。
FreeBSD の場合、 5.2-RELEASE で src/dest アドレス選択の機能が実装された ( CBUG meetingにおける 梅本さんの発表資料参照。とくに このあたり) が、以前のバージョンでは dest に最長一致するものが src に使われるので
という二つのアドレスが振られているマシンなら 2001::/16 宛の通信で グローバル側からは到達性がない Flet's .NET なアドレスが src に使われてしまう。
FreeBSD 5.2 以降や最新 KAME snap といった src/dest アドレス選択の機能がない OS のマシンには Flet's .NET なアドレスを振ってはいけないことになる。 IPv6 をサポートしている Windows XP も NG。
IPv6 ユーザが Flet's .NET サービスを使う場合、サーバを FreeBSD 5.2 以降にして、サーバだけで Flet's .NET なアドレスを使うようにすればいいかな。
梅本さん情報では、 Windows XP は RFC3484 Default Address Selection for Internet Protocol version 6 (IPv6)を実装しているらしい。どの程度実装しているのか不明なので Flet's .NET の問題の対処に使えるのかどうかはわからないとのこと。
google で "RFC1394 Windows XP" を検索してみると Microsoft の Internet Protocol Version 6: Request for Comments and Internet Draftsというページがあった。具体的な設定の話は見つからないな。