RED HAT7.1 カーネルアップグレード&EXT3ファイルシステムの利用

| コメント(0)

EXT3ファイルシステム

現在 RED HAT Linux はバージョン9がリリースされている状態で、古いバージョンの話題で恐縮であるが カーネルのアップデートとEXT3ファイル利用する設定変更を行ってみた。

自宅のサーバマシンは Red hat Linux 7.1 である。このバージョンの Red hat はファイルシステムに ext2 というのが用いられている。以前はこのサーバマシンに SETI@Home の Unix クライアントバージョンを インストールして地球外知的生命体探査(SETI)の解析プログラムを24時間絶え間なく走らせていた。 ところが、CPUの発熱かメモリの不足(?)か何か原因は知らないが数ヶ月に一度ぐらいの割合で カーネルパニックを起こしその時にはコンソールにその SETI のプログラム名が表示されてる。 原因は不明なのだが、結局 SETI のクライアントプログラムを停止すれば全く不具合は発生しないので現在は停止させている。

で、このような不正終了を起こした場合には電源を切って再起動するしかなくなるわけだが、 大抵の場合、私が職場に出勤している場合に起こるので家の者(*1)に復旧作業をさせるわけである(^^; 「rootでログインして、パスワードは****でぇ、そこでああしてこうして…」

(*1) 中学生の息子 > 小学生の息子 > カミさん ( > は作業依頼の優先順位...)

このような場合電源を入れただけでは正しく起動せず、起動途中で停止した状態になってしまう。 なのでシングルユーザでログインし(linux 1)、fsck コマンドでファイルの整合性をチェック、修正してからでないと 起動しない。このような作業を携帯電話を使って指示してやると通話料金もかさむ。(作業者が不慣れなため) 前々からどうにかならないかなと思っていたんである。 ext3ファイルシステムだと自動的に不整合が修正されるというのを風の噂には聞いていたため(Red hat7.2以降) 最新の Red hat 9 をインストールしたいとは思っていたんだが、 OSのインストールはともかく、各種アプリのインストールと設定の復元が大変なため躊躇していた。

ext3ファイルシステムについて

インターネットでいろいろ調べるとカーネルのアップグレードとユーティリティプログラムを アップデートすると Red hat 7.1 でもext3ファイルシステムの導入が可能ではないかと思うようになった。
事前準備
まずは現在のシステムのブートフロッピーを作成する。
以前に作成したものは残っているが、何時のか分からないので一応作ってみた。


# fdformat /dev/fd0H1400        --> 1.44MB指定
# mkbootdisk --device /dev/fd0 2.4.2-2 --> 現在のカーネルバージョン
rpm でインストールしようとしているので一応 /boot をバックアップする。


# cd /
# cp -pr boot boot.bkup --> まあ不要かも知れないが…念のため
lilo.conf で lba32 を指定する。
私のサーバの場合 /boot は専用パテ-ションを使用していない。 そのためカーネルアップデートすると 1024シリンダ以降にファイルが作成されて起動しなくなるかも知れない(^^; いや、本当は /パテーション(/dev/hda1)に 2G しか割り当ててないので有り得ないことではあるのだが… まあ、邪魔になるわけじゃなし、設定変更した。


boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=250
message=/boot/message.ja
lba32 --> ここがデフォルトでは linear になっている。
default=linux
  .
  .
  .
念には念を入れてディスクを丸ごとバックアップする。

以前は Antidote for PC Hard Drive Data Copier という安価なバックアップ専用ソフトを使用して バックアップしてたのだが、結構時間がかかるそのため最近では mirrordir というソフトを使って cron による自動バックアップを行っている。 そのための起動スクリプトを実行することによってバックアップした。そのやり方は別途紹介する。
アップデートのためのファイルを用意する
e2fsprogsパッケージのアップデート

extファイルシステムをext3に変更するツール群一式を以下のページから入手する
★ Red Hat Linux 7.1 i386
e2fsprogs-1.26-1.71.i386.rpm
e2fsprogs-devel-1.26-1.71.i386.rpm


2.4 kernelパッケージのアップデート 2.4アップデートカーネル一式を以下のページから入手する
★ Red Hat Linux 7.1 i386
kernel-2.4.20-24.7.i386.rpm

と思ったのだがRed hat にはページはあるもののファイルがすでに存在しないようだ。 なので google からファイルだけを探してみた。 すると rpm を検索するドイツのサイト rpmseek.com というところが見つかり、そこを利用して検索した。 rpm でインストール使用とすると私の場合以下のパッケージも必要であるということが分かり同様に検索した。


832426 dev-3.3-4.i386.rpm
10729 filesystem-2.1.0-2.1.noarch.rpm
336255 initscripts-5.84.1-1.i386.rpm
176773 iptables-1.2.8-8.72.3.i386.rpm
12662023 kernel-2.4.20-28.7.i386.rpm
29194 mkinitrd-3.2.6-1.i386.rpm
208818 modutils-2.4.18-3.7x.i386.rpm
アップデートパッケージのインストール
レッドハットのホームページで記述されていたバージョンよりも若干新しいバージョンをダウンロードしてしまったようだが、 まあ、バックアップもあることだしやってみようということでこれらのファイルを使ってインストールしてみた。 コンパイルオプションなどが全く不明なわけで多少気持ち悪いものがあるが、 そもそも最初のインストール(古いカーネル)でどういったオプションでコンパイルされているのを理解している わけではないから、まあ似たようなものだろうということで…(^^;

# rpm -Fvh *.rpm

起動用の img ファイルを作成する。

# mkinitrd /boot/initrd-2.4.20.img 2.4.20-28.7

次に /etc/lilo.conf を変更する。


boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=250
message=/boot/message.ja
lba32
default=linux

image=/boot/vmlinuz-2.4.2-2
label=linux.040515
read-only
root=/dev/hda1
image=/boot/vmlinuz-2.4.20-28.7
label=linux
read-only
root=/dev/hda1
initrd=/boot/initrd-2.4.20.img

/sbin/lilo を実行してシャットダウン、起動して確認してみる。

# uname -ra
Linux lxsrv2 2.4.20-28.7 #1 Thu Dec 18 11:23:36 EST 2003 i686 unknown

というわけでちゃんと起動するし、OKそうである。
ext3ファイルシステムへのコンバート
ウチのサーバのパテーション構成は以下の通りである。


[root@lxsrv2 kernel]# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 2071384 175532 1790628 9% /
/dev/hda5 5162796 1006240 3894300 21% /home
/dev/hda6 2071384 1253276 712884 64% /usr
/dev/hda7 1035660 157936 825116 17% /var
none 127948 0 127948 0% /dev/shm
/dev/hda9 9131740 7307512 1360356 85% /samba
[root@lxsrv2 kernel]#

シングルユーザでログインし
# tune2fs -j /dev/hda9 などとしてファイルシステムを ext3に変換する。

/etc/fstab の ext2 を ext3 に変更して再起動する。

# df -T としてファイルシステムを確認する。


[root@lxsrv2 kernel]# df -T
Filesystem Type 1k-blocks Used Available Use% Mounted on
/dev/hda1 ext3 2071384 175532 1790628 9% /
/dev/hda5 ext3 5162796 1006240 3894300 21% /home
/dev/hda6 ext3 2071384 1253280 712880 64% /usr
/dev/hda7 ext3 1035660 157948 825104 17% /var
none tmpfs 127948 0 127948 0% /dev/shm
/dev/hda9 ext3 9131740 7307512 1360356 85% /samba
[root@lxsrv2 kernel]#
ということで RED HAT7.1 でカーネルとユーティリティのアップデートで 見事ファイルシステムが ext3 に変換されていることが確認されました。 あとは、カーネルパニックを起こし、不正終了後の再起動がうまくいくことを確認するのみです…違うか(^^;

コメントする

ウェブページ

  • about
Powered by Movable Type 5.2.10

このブログ記事について

このページは、よしが2004年5月16日 12:52に書いたブログ記事です。

ひとつ前のブログ記事は「ダイナミックDNS(DDNS)ddo.jp(Dynamic Do!.jp) 自動登録スクリプト」です。

次のブログ記事は「女性剣道大会」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。