M's Diary -- 2004年1月上旬 --

Last-modified: Wed, 09 Nov 2005 04:09:00 JST
powered by tds-1.7.4 [static,cache:off]
前月 2004/1 翌月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

2004年 1月 1日 (木)

謹賀新年

新年明けましておめでとうございます。今年もよろしくお願いいたします。


2004年 1月 5日 (月)

サーバメンテナンス

_ 作業予定

ということで 1 月 1 日の 20 時過ぎから作業開始。

_ 1 月 1 日

まずは 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 を新規インストールした ところで終了。

_ 1 月 2 日

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 に貯まっていた大量のメールが 届き始めたところでこの日は終了。

_ 1 月 3 日

各種プログラムをがしがし build & install。 13:30 過ぎに apache を立ち上げて web 復活。システムの各種動作確認は翌 4 日までかかった。


*1:サーバ用 PC の M/B は古いので 137GB over の HDD 未対応。

移行メモ

_ FreeBSD 4.8 -> 5.2

_ perl 5.005 -> 5.8.2

_ apache 1.3.27 -> 2.0.48

httpd.conf
----------
Listen [::]:80
Listen 0.0.0.0:80

ssl.conf
--------
Listen [::]:443
Listen 0.0.0.0:443

2004年 1月 6日 (火)

FreeBSD

_ sheepkiller?

ports/www/apache2に typo が原因で認証系の module がインストールされないバグをみつけたので maintainer に連絡したら、「committer になったから自分で commit するよん」 という返事が。

sheepkiller at cultdeadsheep.org の人と clement が同一人物だとは わからなかったよ (^^;。

_ adN renumbering

ad0, ad1, ad2 とある状態で ad1 にエラーが続出して ad1 detach が起きると、 adN の renumbering が発生して ad2 が ad1 になるのね。 ata(4) には 書いてある話だけど、手元で実際に見たのは初めてだったのでちょっと感動。

options ATA_STATIC_ID を指定していない kernel での話。

_ RAID1 rebuild

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 中にスピードが遅くなる等の体感的な影響はなかった。


*1:勿論 80GB のほうが早く終了しているが、具体的な所用時間は見ていなかった。


2004年 1月 8日 (木)

Flet's .NET

_ 問題点

ごうさんGORRY さんのところから。

このサービスって外に出られない IPv6 サービスで 2001::/16 なアドレスが つくのか。 IPv6 を使っていないならいいけど、 IPv6 ユーザの場合は 利用するのがかなり難しそうだ。以下は Flet's .NET と他の IPv6 サービスを 同時に使う場合の話。

グローバルな IPv6 網と Flet's .NET な網に同時に接続する場合、

  1. dest アドレスが Flet's .NET のパケットは Flet's .NET へ。それ以外は グローバル側へ出す。
  2. Flet's .NET 宛のパケットの src には Flet's .NET な自分のアドレスを つける。グローバル側宛のパケットには Flet's .NET な自分のアドレスを src に使ってはいけない。

の両方を満たす必要がある。

_ 利用できる環境

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というページがあった。具体的な設定の話は見つからないな。


以上、4日分です。