August 31, 2006

Gmail のスパムフィルタの挙動が変わった

ここ数日、ほとんど迷惑メールを目にすることがなかった。

私の場合、いくつかあるメールアドレスはすべてGmailに転送されて、Gmailのスパムフィルタを通した上でメールを読んでいるのだけど、スパムフィルタも完全ではなく、いつもは毎日10通前後のスパムを処理していた。

特にスパムフィルタをすり抜けてくることが多かったのが本文が空のメールで、なんとかフィルタで除去できないかと試していたのだけどうまくいかなくてもどかしいなと思っていたのだ。

そんなスパムがぴたっと止まった。

Gmailの日本語版が招待制から登録制に変更されたし、Googleもがんばってるやんと嬉しくなりながらスパムのフォルダを除いてみたら・・・

あるわあるわ誤判定の嵐。
「百式 [2006/08/30] 流行技術横断検索 (Tag Fetch.com) 」とか「[mixi] コミュニティ・ニュース」なんかのメールマガジンやメーリングリストから送られてきたメール。8月27日前後を境に誤判定が始まっているようで、私の場合は/27 18:42のメーリングリストのメールから。

しばらくはスパムフォルダもしっかり見てないと大事なメールを見落としそうだ。

やっぱり招待制から登録制への移行で、保存するデータの容量が増大することが見込まれるから、スパム判定を厳しくして少しでも1アカウントあたりのデータ量を減らそうということなのだろうか。

今回のことでスパムフォルダを見直したら、毎日250通ほどのスパムが届いていることが判明した。そのほとんどをフィルタリングしてくれるGoogleには感謝しつつも、こんなに挙動が変わるのだったら事前に連絡が欲しかったと、ちょっと思うのだ。

August 28, 2006

新サーバにもHotSaNIC

新サーバにHotSaNICを導入した時のメモ

# apt-get install rrdtool librrds-perl imagemagick snmpd
# apt-get install ntp-server

とりあえずできたのがこれ


マザーとCPUの温度が取りたいのだが、うまいこといかない。

# apt-get install lm-sensors
# sensors-detect
SiS96x SMBus adapter at 0x1000
#----cut here----
# I2C adapter drivers
i2c-sis96x
# I2C chip drivers
eeprom
# no driver for Asus ASM58 Mozart-2 yet
#----cut here----

HDDの温度だけは、modules/sensors/のsettingsに
SENSOR="/usr/sbin/hddtemp -n /dev/hda |,hda,HDD1,1,1,0,degrees C,0,60"
を貼り付けて稼動中。しかし、これもハードウェアのRAIDユニットを挟むと取れなくなるんだろうなぁ。

August 27, 2006

新サーバ、T1-P4起動

とりあえず新サーバ立ち上がりました。

スペックは、ベアボーンTerminator P4をベースに
CPUはCerelon2.4GHz
メモリは1GB
ハードディスク120GB

OSはDebian GNU/Linux Surge i386

以下、インストール終了後、OpenPNEが動くようになるまで。

入れたパッケージ
apache
php4
mysql-server
php4-gd

この間etchにOpenPNE入れたときに、画面が真っ白になった原因は、このphp4-gdが入ってなかったことが原因のようだ。わかってしまえば簡単なことなのだけど・・・。

続いて、apacheの設定
# vi httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddDefaultCharset off

AddTypeはコメントアウトされているのを有効に。
AddDefaultCharset は標準でonになっているのでoffに変更。これは日本語の文字化け対策。

続いてmysqlのrootパスワード設定
# mysql
mysql> SET PASSWORD FOR root=PASSWORD('hoge');

これでOpenPNEが動き出した。

OpenPNEとは関係ないところで入れたもの。
proftpd
postfix
ntpdate
php4-pear

これで、今まで玄箱で動かしていたセカンダリのウェブサーバを置き換えてみた。しばらく様子をみて、メインのウェブサーバとの置き換えを検討しようかなと。

え、Terminator2-AH1はどうしたのかって?すっかりWindowsの環境でなじんでますよ。やっぱりクライアントマシンは速いに越したことないですなぁ。

気が向いたらまた、T2-AH1を買ってくるか、気が向くころにはcore2duoでいい感じの小型サーバが作れるんじゃないかなぁ。

August 17, 2006

中国で韓国料理

なぜか中国で韓国料理を食べてたりするのだけど、韓国料理についていろいろ知らないことを教えてもらった。

その1、冷麺にはわさびを入れる!
からしも入れるがわさびも入れるとのこと、ためしに入れてみたら、さっぱりしてなかなか良かった。

その2、チシャ菜にはご飯もくるむ
肉などを包むのは知っていたけれど、一緒にご飯も包んでいた。なんというか、めはりずしに近いというか、おにぎりみたいというか。

うーん、考えれば考えるほど、一杯食わされているような気がしてきた。

August 14, 2006

中国入国

無事、中国に入国しております。

香港へ向かう飛行機に日本人が多いのはともかく、香港から福永(シンセン空港)へ向かうフェリーにもいつになく日本人が多い気が・・・。お盆休みとはいえ、みんなシンセン方面に観光?こっちは観るものなさそうに思っていたけれど、案外観光名所なんかもあるんでしょうか?

そういうわけで、GPSロガーWBT-200でフェリーの航路を記録してみたので公開。

GoogleMapsで香港空港から福永までの航路を表示

詳細地図が無いと表示されているので、スライダーを1段下に動かすと地図も表示される模様。

飛行機の航路も記録したのだけど、ログのモードをオートにしていたら巨大なログが出来上がってしまったので、後日加工してアップしようかなと。

ためしにアップロードしてみたら、
http://hidekichi.net/archiv... could not be displayed because it is too large.
だそうです。

この状態でどうしても見たい人は、このkmzファイルをGoogle Earthで見てくださいな。

August 13, 2006

現在位置:大阪府和泉市付近



関空へ向かうMKのスカイゲートシャトルにて。 ただ今高速道路上で渋滞にはまってます。予定よりちょっと遅れそうな感じ。

August 08, 2006

T2-AH1に1GBDDR-SDRAMx2

samsungメモリDDR400の1GBを2枚購入。T2-AH1に取り付け、memtest86が3周完走。ばんざーい。

これでハードは今回予定していたものが全て揃った。

後はソフトか……。えっと、vistaのβを入れて遊ぶんだったかな、きっとそうだ。

August 07, 2006

T2-AH1 に Debian いったんキャンセル

無念だ。

デビアンインストーラーを使ったetchのインストールは完了。
ルートパーティションからのソフトウェアRAIDで頓挫。
インストール時にハードディスクの構成をLVMに設定するとソフトウェアRAIDにしてくれるのは確認できた。でも、これでもブートローダの入ってないディスクからは立ち上がらないのでまだ追加で設定が必要のようだ。

RAIDを後回しにすることにして、OpenPNE用の環境を用意した。
PHPとMySQLを入れたのだが、これが知ってるバージョンよりもかなり新しい。apacheがapache2なのも含めてちょっと不安になりながらも、OpenPNEをインストール。

OpenPNEのインストールが完了し、さくさく動いてるっ!と喜んだのもつかの間。画像ファイルをアップロードすると画面が真っ白に。出力されたhtmlを見てみると、bodyの中身が空のhtmlが出力されていた。当然画像は更新されていない。
PHPの最大アップロード制限などをいじってみるも状況変わらず。あと一歩なのに。

ソフトが新しすぎて、自分がついていけてない。世の中の事例も少ない。人柱的にはいいのだろうけど、今回の目的は限られた時間でOpenPNEの動作するサーバを立てること。そういわけで馴染みのバージョンが使えるsargeに変更することにした。

amd64用のsargeはunofficialではあるものの用意されているので、ビジネスカードサイズCDイメージをダウンロードしてCDに焼き、インストール開始。
だがこいつはインストールが途中で止まる。DHCPに失敗した後、IPアドレスの設定を手入力したのだが、どうやらルータの設定がうまく反映されないようだ。

i386用のsargeも試してみるが結果は同じ。

この辺りで1週間経過。子守をしながらなので、なかなかまとまった時間が取れないのがつらい。

サーバには現在クライアント用に使っているTerminatorP4-533を充てることにして、T2-AH1にはWindowsを入れてみた。

P4-533に入っていたデータをほぼ移動完了。これからLinuxを入れましょうかというところで時間切れ。夏休みが終わった。無念だ。

August 02, 2006

RAIDになってない

Linux上から /dev/sda /dev/sdb と両方見えて便利なのはいいんだけど、ホントにRAIDになってるのか?

そういうわけで、/dev/sda 側のSATAのケーブルを抜いてみた。RAID1になっていれば何事も無く動作を続けるはず。

えいやっ!とケーブルを抜くと、ぱっと見なんともない。がlsしてみると、帰ってこない。

むむむ・・・と唸っていると、再起動してくれやがりました。

どうやらRAIDになっていない模様。調べると、この構成はFakeRAIDと呼ばれていて、Linux側でのドライバでの対応も必要なのだとか。今までのサーバでARAID99でやっていたような、ハードウェアRAIDでは無いらしい。

かくなるうえは、FakeRAIDを使いこなすか、ソフトウェアRAIDにするか、またARAID99みたいなのを買ってくるか。ちょっと悩んでみます。

August 01, 2006

T2-AH1 に Debian インストール

前回までのあらすじ。

IntelはPentium4以降の失敗でAMDの躍進を許してしまう。状況を打開するために投入されたのはCore2Duo。それに対しAMDは価格の引き下げで対抗。今、PCを組み立てるのなら、Core2Duoを待っても良し、AMDでお安く組むのも良しという状況になっていた。

ひできち的には、そろそろ自宅サーバのシステムを入れ替えたい。apacheはそろそろ2.0でいいんじゃないかとか、mysqlは一度派手に飛ばしたからマシンを入れ替えてからもう一度とか、64ビットマシンで遊んでみたいとか、サーバにはデュアルがよさそうとか。

そういうわけで現サーバASUS Terminator TUの後継として、ASUS Terminator2-AH1を購入。CPUにはAMD Athlon 64 X2 3800+を選択。メモリとCDROMドライブは適当に転がっていたものを取り付け、夏休みに備えていた。

ちょっとあらすじが長すぎた。

そうこうしているうちに夏休みなんである。で、ハードディスクを購入したのだ。
Hitachi Deskstar 250GB SATA HDT722525DLA380 こいつを2台。
SATAのケーブルはTerminatorに1本しか付いてこなかったので追加で1本購入。

ハードディスク一つ目は、元々用意されている3.5インチハードディスク用のスペースへ。SATAの信号用ケーブルと、レガシーの電源ケーブルを接続。電源ケーブル、SATAのはライトアングルになってなかったので、ケースと干渉しそうだったのだ。

あらかじめDebian-Installer から名刺サイズの CD イメージ (20-50 MB)のAMD64版をダウンロード、CDに焼いておいたものをTerminatorで起動!

なんの問題も無くDebianインストールが完了。sargeやetchの古いビルドだとAMD64対応やSATAがらみでトラブルがあるらしいことを小耳に挟んでいたので、etchの最新を試したのだが今のところ正解だったようだ。

次はRAID1用の2個目のハードディスク取り付け。これが困った。5インチドライブベイに置くか、フロッピーの場所にするか。しばらく悩んで、フロッピーの場所を横取りすることにした。フロッピーも外されて、消費電力もちょっと減るだろと。放熱の面で心配なので、やばそうなら5インチのベイへ移動予定。

電源投入直後のRAID設定画面でCtrl-A。
Create RAID 1 Mirroring for Reliability を選択
Channnel 0 Master から Channel 1 Master へ
RAIDの名前を付けさせられるが、今回はそのまま「ULi_RAID」で。
RAID1作成!
RAID構築中。長い。ひたすら長い。1時間くらい消費

RAID構築後、Debianも特に問題なく起動完了。ハードディスクの温度が気になるので、hddtempを入れてみる。

t2ah1:/# apt-get install hddtemp
t2ah1:/# hddtemp /dev/sda
WARNING: Drive /dev/sda doesn't appear in the database of supported drives
WARNING: But using a common value, it reports something.
WARNING: Note that the temperature shown could be wrong.
WARNING: See --help, --debug and --drivebase options.
WARNING: And don't forget you can add your drive to hddtemp.db
/dev/sda: HDT722525DLA380: 39°C or °F

そんなハードディスク知らないといわれてしまったので、
/etc/hddtemp.db に以下を追記。

"HDT722525DLA380" 194 C "Hitachi Deskstar 250GB SATA"

t2ah1:/# hddtemp /dev/sda
/dev/sda: HDT722525DLA380: 40°C

RAID用のもう一個のHDDも試してみる。
t2ah1:/etc# hddtemp /dev/sdb
/dev/sdb: HDT722525DLA380: 38°C

温度を見る分には問題ないようだ。

RAIDのディスクの異常をどう感知するか。とりあえずSMARTでやってみる。

t2ah1:/# apt-get install smartmontools
t2ah1:/# smartctl -a /dev/sda
smartctl version 5.36 [x86_64-unknown-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Device: ATA HDT722525DLA380 Version: V44O

In Linux, SATA disks accessed via libata are only supported by smartmontools
for kernel versions 2.6.15 and above. Try an additional '-d ata' argument.


t2ah1:/# smartctl -a /dev/sda -d ata
smartctl version 5.36 [x86_64-unknown-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model: HDT722525DLA380
Serial Number: VDS41DT4EKPNRJ
Firmware Version: V44OA96A
User Capacity: 250,059,350,016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 1
Local Time is: Mon Jul 31 16:55:55 2000 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (4797) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 80) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 100 100 024 Pre-fail Always - 302
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 6
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 020 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 11
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 6
192 Power-Off_Retract_Count 0x0032 100 100 050 Old_age Always - 6
193 Load_Cycle_Count 0x0012 100 100 050 Old_age Always - 6
194 Temperature_Celsius 0x0002 114 114 000 Old_age Always - 48 (Lifetime Min/Max 25/52)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always - 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]


Warning! SMART Selective Self-Test Log Structure error: invalid SMART checksum.
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.


t2ah1:/# smartctl -a /dev/sdb -d ata
smartctl version 5.36 [x86_64-unknown-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model: HDT722525DLA380
Serial Number: VDS41DT4EKK88J
Firmware Version: V44OA96A
User Capacity: 250,059,350,016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 1
Local Time is: Mon Jul 31 16:56:37 2000 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (4797) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 80) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 100 100 024 Pre-fail Always - 311
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 5
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 020 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 9
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 5
192 Power-Off_Retract_Count 0x0032 100 100 050 Old_age Always - 5
193 Load_Cycle_Count 0x0012 100 100 050 Old_age Always - 5
194 Temperature_Celsius 0x0002 117 117 000 Old_age Always - 47 (Lifetime Min/Max 25/48)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always - 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]


Warning! SMART Selective Self-Test Log Structure error: invalid SMART checksum.
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.


ハードディスクの監視は、smartdにやってもらうことにする。

/etc/smartd.conf
/dev/sda -a -d ata
/dev/sdb -a -d ata
/dev/sda -H -m hogehoge@ドメイン
/dev/sdb -H -m hogehoge@ドメイン

/etc/default/smartmontools
start_smartd=yes

t2ah1:/# /etc/init.d/smartmontools restart
Restarting S.M.A.R.T. daemon: smartd (failed)

ありゃ、うまくsmartdが立ち上がらない。後回しにすることにする。

現状の問題点を整理すると
・サウスブリッジの機能を使ったRAID1で、ハードディスクの故障検知をする方法としては、SMART以外に有るのかが分からない。
・SMARTのデーモン、smartdがうまく起動しないので、故障時にメールが飛んでこない。
・(おまけ)T2-AH1のフロントパネルの時刻表示がGMTになってる。日本標準時に変更する方法が不明。
てなところか。