設備切り替えは大変

また1晩サーバ群を止めてしまった。

今回はお客さんに提供するサーバのテストをしつつ、うちで使っていた古いサーバを新しい環境に移そうとしている。都合4台のサーバを一度に移行を含んだ立ち上げをする。もちろんうちにはマンパワーがないから、何から何までやるわけだな。

ハードそのものは、以前に作ったケースを使う。部材は安物ばかりなのだけど、どうせ並列運転するので一度に壊れることはなかろう。それよりも、人為的ミスの方がよほど大きい。これに4枚マザーを入れて、2つをお客さんに。1つはこのサーバに入っているものを移行させるために。もう1つは今作っているサービスのために。

2台の運用開始は5月頃だという話なので、それまでエージングとテストをする。

この雑文の置いてあるサーバは、1台の物理マシンの上に3つの仮想マシンが構成されている。ファイルシステムは別にあるファイルサーバの中にある。なので、サーバが正常に動いていれば、どのサーバの上でも動かせるはずだ。もちろん動くのではあるが、なかなか一筋縄では行かない。

仮想化はXenで行なっている。別に何でもいいんだけど、全仮想化をすると無駄に重いし、どうせLinuxしか動かさないのだから、準仮想化をすることに。で、distroは使い慣れたDebian。

ところがDebianがクソなのは、stableはカーネルが古いということ。今時、2.6.18を使えと言う。backportを使っても2.6.22だ。lennyにするとちとまだ微妙なところがある。今時のCPUを使おうとすると、今時のマザーになるのだけど、カーネルが今時のマザーにうまく対応していない。なので、ハードウェアがすんなり動いてくれない。カーネルくらい自分でコンパイルしてしまえばいいのだけど、Xenが絡むとビルドそのものが面倒臭くなるし、バージョンの同期とか考えなきゃいけなくってやる気が萎える。

そうやってソフトの動作が不安定なところに向けて、安物のハードはババがあったりする。玄人指向のPCI GbEカードに不良品が… お陰で認識の順序やらがおかしくなる。それでますますハマる。私は新品パーツは疑う人なので、古いパーツに交換してテストするのだが、微妙なハードばかりになってしまったので、ますますハマりがちに。

まー、少しでも作業が楽になるように、レスキュー用のUSBメモリを作って、異常があるとそこから起動するようにした。と言っても、4台とも同じシステムのコピーで作っているのだけど、ついでにそれをUSBメモリにもコピーしただけ。普通のUSBメモリなので、日経Linuxでやったような小細工はしてない。でも、これがあるとないとでは、作業の効率がまるで違う。

ちょっと前まではそんな用途はCD-ROMを作ってやるものだった。でも、今やUSBメモリの容量も大きくなり、普通の環境が納まる程度のものはタダみたいな値段で売っている(安いのは遅いけど)。しかもCD-ROMと違って、

  • 容量の選択が広い
  • 書き換えが出来る
  • ドライブが不要

というところがありがたい。もう「レスキューCD-ROM」なんてのはやめてしまって、「レスキューUSBメモリ」にしてしまうのがいい。日経Linux 3月号でやったような小細工をしなくても、普通にディスクとして入れてしまっても、まぁ問題はない。媒体を他に流用したいんだったら、ああいう方法の方が都合がいいのだけど、どうせUSBメモリは安くなってしまっているので、「いざ」という時専用に1つ作っておくといいと思う。

というのはさて置き、困るのは「しばらく使っているとディスクの内容が壊れる」という現象。まだ条件は特定してないのだけど、ちょっと目を離したスキに/usr/sbinだの/bootだのが壊れている。もっともVMの方は、起動した後はそういったものにまるで影響をされないから、何事もないかのように動いている。それで油断してリブートすると次は起動出来ない。どうもSATAのドライバあたりの問題だろうとは思うんだが。これも目の前では再現してくれない。とりあえずカーネルを最新にしたら落ちついたように見えるのだけど、しばらくテストしないことには。

それとは別に回線の切り替えもせにゃいかん。まぁこれは金がもったいないだけで、急ぐこともないんだが。

PS.

訳あって停電してしまったのだが、普通に復旧出来た。安定はしている模様。