自宅外向きサーバーを lenny に upgrade した

外向きサーバーの citron を lenny にした。

作業は簡単だったけど、BIND9 が “when using ‘view’ statements, all zones must be in views” と /var/log/syslog にエラー出して起動できなくて焦った。このエラーは以前から出ていたけど、起動できてたから無視してたんだよね。

ってわけで、view機能を使って自宅ネットワーク内と外で違う設定するようにしている人は要注意。

結果的には、/etc/bind/named.conf の zone “.” から zone “255.in-addr.arpa” までを /etc/bind/named.conf.local に記載している view “internal” の中に移すことで起動できるようになった。外からの DNS query に対して localhost あたりを答える必要はないし、外からの recursion は禁止するのが普通だから db.root は必要ないし、ってことで。

citron は jasmine よりもインストールしているパッケージが少ないので、とりあえずこれくらいの問題しかなかった。

いまだに sarge で動いている mail.confei.to(=laurel) をなんとかできる環境がようやく整った。早く作業して laurel を引退させないと。

自宅内ファイルサーバーを lenny に upgrade した

昨日の oregano に引き続き、ファイルサーバー兼プリントサーバー兼開発環境みたいになっている jasmine も lenny にした。

こちらは CUPS 関係が色々とあったけど、最終的には無事 upgrade 完了。

netatalk はまだ 2.0.3 なんだね。うちでは CJK用patch をいただいて自分で package 作ってるんだけど、これも lenny 環境で作り直さないとなぁ…。

自宅ネットワーク内の監視サーバーを lenny に upgrade した

監視サーバーの oregano を etch から lenny にした。

作業自体は会社で個人用に使ってる Debian環境で行なったことあるから難しいことはなかった。だけど、うまく行くかどうかドキドキするね。

で、ほぼうまくいったのだけど、lenny には nagios2 が入らなくなってしまったので、ごっそりと消されてしまった。nagios3 の勉強が必要ってことか…。nagios2 とどれくらい変わってるのかなー。

LinuxZaurus を再セットアップ

結局、標準OS の上で SD に Debian 環境構築するのが一番ラクだってことがわかったので、さくっとセットアップ。

本当は lenny を入れたいところだけど、lenny の libc6 が kernel 2.6.x を要求するので入れられない。仕方なく etch で我慢。でも etch だと Emacs21 なんだよなぁ…。

oregano が lost some interrupts at ~HZ というエラーで死亡してた

Google先生にお伺いをたてると VMware で「lost some interrupts at ~HZ」というエラー というページがみつかった。

このページに記載されている /etc/vmware/config ではなく、oregano.vmx の方に

host.useFastClock = FALSE

と書いたところ、一旦このエラーで落ちることはなくなったっぽい。

その代わりに guest OS の時間がめちゃくちゃ狂ってしまうようになったので、仕方なく 1分毎に ntpdate で自宅内ネットワークにある ntp server に問い合わせるようにした。こんな解決方法はマヌケなのはわかっているのだが、一旦仕方なし…。VMware tools 入れるのが正攻法なんだろうけどなぁ。

WD10EACS で RAID5 を増強してみた

元々 320GB の HDT725032VLA360 を 3台と 500GB の HDT725050VLA360 を 1台で 960GB分の RAID5 を組んでいたので、今回はこの RAID5 を WD10EACS 4台で交換することが目的。

RAID に 1TB HDD をスペアとして追加しておき、そこから元の HDD を 1台外して自動的に再構築する、という方法を取った。

まず RAID用パーティションを作る。

# fdisk -l /dev/sdc

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdc1 1 121601 976760001 fd Linux raid 自動検出

そして RAID に追加する。

# mdadm /dev/md2 -a /dev/sdc1
mdadm: added /dev/sdc1
# mdadm -D /dev/md2

/dev/md2:
Version : 00.90.03
Creation Time : Mon May 7 00:53:47 2007
Raid Level : raid5
Array Size : 937705728 (894.27 GiB 960.21 GB)
Device Size : 312568576 (298.09 GiB 320.07 GB)
Raid Devices : 4
Total Devices : 5
Preferred Minor : 2
Persistence : Superblock is persistent

Update Time : Sun Sep 21 16:59:18 2008
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 64K

UUID : 043d09e3:111fad6c:31991985:6939942f
Events : 0.246

Number Major Minor RaidDevice State
0 8 65 0 active sync /dev/sde1
1 8 81 1 active sync /dev/sdf1
2 8 97 2 active sync /dev/sdg1
3 8 113 3 active sync /dev/sdh1

5 8 33 - spare /dev/sdc1

既存の HDD を外して自動リビルドを走らせる。

# mdadm /dev/md2 -f /dev/sdh1
mdadm: set /dev/sdh1 faulty in /dev/md2
# mdadm -D /dev/md2

/dev/md2:
Version : 00.90.03
Creation Time : Mon May 7 00:53:47 2007
Raid Level : raid5
Array Size : 937705728 (894.27 GiB 960.21 GB)
Device Size : 312568576 (298.09 GiB 320.07 GB)
Raid Devices : 4
Total Devices : 5
Preferred Minor : 2
Persistence : Superblock is persistent

Update Time : Sun Sep 21 17:02:21 2008
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 4
Failed Devices : 1
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 64K

Rebuild Status : 0% complete

UUID : 043d09e3:111fad6c:31991985:6939942f
Events : 0.248

Number Major Minor RaidDevice State
0 8 65 0 active sync /dev/sde1
1 8 81 1 active sync /dev/sdf1
2 8 97 2 active sync /dev/sdg1
4 8 49 3 spare rebuilding /dev/sdd1

5 8 113 - faulty spare /dev/sdh1

これを 4台分行なって全て 1TB HDD で構成した RAID5 になった。

このままだと元の RAID サイズのままなので、RAID サイズを拡張させる。

まず、ファイルが壊れないかの検証用に /dev/urandom からファイルを作成し、md5sum で検証できるようにしておく。

# dd if=/dev/urandom of=/storage/dd bs=512 count=10000
10000+0 records in
10000+0 records out
5120000 bytes (5.1 MB) copied, 1.39336 seconds, 3.7 MB/s
# md5sum /storage/dd > ~/md5sum

次に RAID5 のサイズを拡張。

# mdadm --grow /dev/sd2 -z max
# mdadm -D /dev/md2
/dev/md2:
Version : 00.90.03
Creation Time : Mon May 7 00:53:47 2007
Raid Level : raid5
Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
Device Size : 976759936 (931.51 GiB 1000.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 2
Persistence : Superblock is persistent

Update Time : Mon Sep 22 11:55:20 2008
State : active, resyncing
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 64K

Rebuild Status : 32% complete

UUID : 043d09e3:111fad6c:31991985:6939942f
Events : 0.293

Number Major Minor RaidDevice State
0 8 81 0 active sync /dev/sdf1
1 8 65 1 active sync /dev/sde1
2 8 97 2 active sync /dev/sdg1
3 8 113 3 active sync /dev/sdh1

そしてこの RAID5 の上に作られている FileSystem のサイズを拡張する。

# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/md0 110G 80G 25G 77% /
tmpfs 999M 0 999M 0% /lib/init/rw
udev 10M 104K 9.9M 2% /dev
tmpfs 999M 0 999M 0% /dev/shm
/dev/md2 895G 866G 29G 97% /storage
# xfs_growfs /storage
meta-data=/dev/md2 isize=256 agcount=32, agsize=7325840 blks
= sectsz=4096 attr=0
data = bsize=4096 blocks=234426432, imaxpct=25
= sunit=16 swidth=48 blks, unwritten=1
naming =version 2 bsize=4096
log =internal bsize=4096 blocks=32768, version=2
= sectsz=4096 sunit=1 blks
realtime =none extsz=196608 blocks=0, rtextents=0
data blocks changed from 234426432 to 732569952
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/md0 110G 80G 25G 77% /
tmpfs 999M 0 999M 0% /lib/init/rw
udev 10M 104K 9.9M 2% /dev
tmpfs 999M 0 999M 0% /dev/shm
/dev/md2 2.8T 866G 1.9T 31% /storage

最後に md5sum で問題がないか確認する。

# md5sum -c ~/md5sum
/storage/dd: OK

完璧ですね。

WD10EACS を初期化してみた

新規購入した HDD はいつも 0 で初期化するようにしているのだけど、さすがに 1TB もあると恐ろしく時間がかかるね…。結果的に 1台のみで 11.5時間、2台同時で 1台あたり 14時間かかったよ。

実際のコマンドは

dd if=/dev/zero of=/dev/sda

こんな感じ。/dev/zero の代わりに /dev/urandom 使ったら速度が 1/10 になってもっと泣きそうになった。

jasmine の RAID1 が壊れた

毎月第1日曜日恒例の RAID check中に、システムが入っている 120GB x 2 の RAID1 を構成していた HDD で READ Error が出てしまった模様。おかげで RAID1 がデグレーテッドしてしまった。

替えの HDD を用意していなかったので若干困ったのだけど、READ Error の内容は DMA転送に失敗したとかそういう感じだったので、再起動して再度 RAID1 構成に加えてみたら問題なく再構築できたので、一旦このまま様子見。

このままだとさすがに恐いので、いま RAID5 を組んでいる 320GB x 4 を 1TB x 4 にして、残った 320GB で RAID1 を組み直そうかと考え中。320GB x 4 の RAID5 が予想以上に速いペースで埋まってしまったので、3TB分のストレージがあってもいいかな、って(笑)。

oregano の cacti が直った

未来に飛んだの 7時間分を消化したら、ちゃんと cacti がグラフを作るようになった。良かった良かった。

ただ VMware で動かすとやはりクロックの関係で時間が狂いまくる…。nagios で ntpd の時間がずれてないのか監視しているのだけど、監視サーバー自体の時間がずれるからエラーメールがバンバン届いて困った。vmware-tools って Debian だとどうやってインストールするのがいいのかなー。