Thursday, April 24, 2008

64bit kernel with 32bit userland

あぁやっとVMware Serverが安定しました。
やはり64bit userlandがダメだったみたいです。

i386 sid に apt-get install linux-image-2.6-amd64 で。
module をそのまま build してつかえるのか心配でしたが、問題なさげです。

ともあれ、一応4GBのメモリを使うことができているのでよしとしますか。

Tuesday, April 15, 2008

Reverting to 32bit

64bit にしてからVMware ServerがSignal11やへんなハングアップでぽこぽこ落ちるのでしかたなく32bitに戻すことにした。
作業は32bit->64bitと同じだが、将来のことを考えて / を二つ用意してどちらでも起動できるようにしよう。

そんなわけで、今回は物理的なHDDを1台用意してパーティションを適切に設定し、別のマシンでとにかくインストール。
んで、/etc, /var, /home あたりをコピーしてサーバのboot driveと交換。
これによりdowntimeを削減。

しかし /home のコピーはけっこう時間かかった。なにせSATAといえど古い80GBとかのDISKなので。

今のところ安定している模様だが、やはりメモリは3.3GB程度しか使えないことになってるので、カーネルだけ64bitにしてみようかと画策中である。

Thursday, April 3, 2008

64bit Migration

自宅のサーバっていうかルータマシン兼VMware Hostを64bit化(amd64 arch)した記録。

1. パーティションの確認。
/ と /home しかないので、とりあえず /var /etc /boot /usr など適当に /home/root に退避。

2. shutdown してDebian lenny amd64 インストーラをUSBメモリから起動

3. ディスクのdetect order が違っていて構成がおかしいが、とにかく以前の / を探してインストール

4. 案の定、grub ではまる。/ の場所が (hd0)ではなく、(hd2) になっていたので,もっかいインストールしなおし

5. そのまま起動はできないので grub のエントリをいじりつつ起動。つか grub2 でだいぶかわっててはまる。

6. まぁ起動できたので退避していたデータをうつす。

7. まずネットワークだ。っていうんで /etc/network/ の下を適当に restore.
pppoeも問題ないようだ。

8. VMware Server 1.0.5をいれる。32bitバイナリどうやって動かすんですか。と、はまったが、apt-get install ia32-libs でいいみたい。なるほど。
module のコンパイルができねえので vmware-anyany-update-116.tar.gz なるものをゲット。
これでまぁなんとかなった。が、vmware-server-console をつないでみると vmware-serverd が即死する模様。
なんだがコンディションがよくなさそうなので再起動したらなおった。謎。

9. 次に LDAP だ。 /etc/ldap/ /var/lib/ldap/ を restore するも slapd がSegvして起動しない。
32bitのデータは64bitでそのまま使えないのだろうか。
ということで、別のホストでdb_dumpしてdb_loadしたりしたら起動するようになった。
が、ldapsearch してもなにもかえってこない。slapcatではデータがあるように見える。
そんなわけで延々はまっていたが、slapcat で ldif をバックアップしていったんデータベースを消去。
slapadd で restore したらなんとかなった。まったくslapdはデリケートすぎる。やれやれ。

10. VMware Host と Guest 間の IPv6通信ができないぞ。
あぁこれは、ハードウェアチェックサムを disable しないといかんのだった。
ethtool -K eth1 tx off
でオケ。つうか /etc/rc.local に書いてたんで、これを restore. iptables-resotre もここに書いてた。

11. Guest からIPv4通信がまったくできないぞ。外に。
あぁこれは、どうやらルーターとして動いてないな。
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
はあはあ。つうか /etc/sysctl.conf を restore.

というわけで、5時間強ほどかかって完了。

教訓。slapd のバックアップは slapcat でやっといたほうがいいな。

以上。