サーバ用に新しいHDDを購入したものの、仕事が忙しかったりして5ヶ月も放置してしまった。
この週末にようやくOSのアップグレード(CentOS 4.8から5.5)を行って、データベースやらホームディレクトリの同期を取って作業完了。
久々にサーバのケースを開いた。24時間365日稼働してる割にはホコリも少なくて綺麗。セットアップの完了した2基の1TB HDDへ交換して作業完了。これで空き容量が一気に増えた。
古い2基の320GB HDDは約3年間稼働し続けたことになる。
Richh GR Digital IIで撮影。
今回HDDの交換だけでなくOSをCentOS4.8から5.5へアップグレードしたのですが、意外とハマりました。うまくやらないとクリーンインストールより手間かも。
ハマりどころをメモしておきます。
Upgradeできない
CentOS 5.5のインストールDVDから起動して既存のシステムをアップグレードしようとすると /dev/sdb1が/mntにマウントできないと言ってインストーラが終了してしまう。
sdb1ってなんだ? sda1だろ。っていうのでしばらくハマった。
原因は/etc/fstabに設定されているいろんなファイルシステムのせい。アップグレードを実行するために用意した仮サーバにはこれらが接続されていないためだった。
/etc/fstabから関係ないマウントをコメントアウトして解決。
grub-installでエラー
アップグレードが完了したシステムが起動できるようにGRUBの再インストールを行うが、grub-installを実行するとエラー。
The file /boot/boot/grub/stage1 not read correctly
原因は新しいHDDのルートファイルシステムのinode sizeだった。何も考えずにmkfsしたext3は、inode sizeが256byteになっていた。このサイズだとgrubが使えないそうだ。
ルートファイルシステムのinode sizeを128にしてext3を再構築。
mkfs.ext3 -I 128 /dev/sda1
再度仮サーバに旧システムをコピーしてアップグレードから再開。
yumが動かない
システムを最新にするためにyum updateを実行するとエラーで動かない。
No module named sqlite
python-sqliteのバージョンの不整合らしい。強制的に上書きします。
wget http://mirror.centos.org/centos-5/5.5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm
rpm -Uvh python-sqlite-1.1.7-1.2.1.i386.rpm --force
CentOS 4系から5系にアップデートしたのでyumのキャッシュを消してからアップデートします。
yum clean all
yum update
public keyがないとエラーが出るのでKeyをインストール。
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5