家のファイルサーバを復活させたついでに、Linux Kernel を 2.6.30 から longterm maintenance の 2.6.35.9 に入れ替えました。2.6.30 以降のどこかでファイルサーバの CPU(Intel Atom)への対応が入ったのと、longterm なら中途半端なバージョンよりは安定している気がすると思ってのことです。
コンパイルしていざ再起動すると kernel panic…。root がマウントできないと怒っています。
今までは内蔵 HDD が sda で、外付けの RAID が sdb, sdc, sdd, sde, sdf だったのですが、カーネルを入れ替えたら内蔵 HDD が sdf 外付けの RAID が sda, sdb, sdc, sdd, sde になってしまったようです。
認識順序が変わったかなと思って、試しに root=/dev/sda1 を root=/dev/sdf1 に変えて再起動したところあっさり起動しました。しかしトラブった時のために昔の環境も残しておきたいのですよ。
カーネルごとに設定を書ける grub は良いとしても、/etc/fstab はそうはいきません。swap 領域に /dev/sda5 を使っているので、カーネル入れ換えごとに /dev/sda5 にしたり、/dev/sdf5 にするのは面倒くさいです。
設定ファイルをいちいち書き換えるのは面倒くさいので、内蔵 HDD さんにはなんとしても /dev/sda で居ていただかなくてはなりません。そのためにはカーネルから一番最初に内蔵 HDD を認識してもらう必要があります。
幸運なことに私の環境では内蔵 HDD のドライバは ata_piix で、外付け HDD のドライバは sata_sil24 と異なるドライバが使われていましたので、ata_piix をカーネル組み込みに、sata_sil24 だけモジュールにしました。これなら ata_piix が一番最初に認識され、root がマウントされ、その後 sata_sil24 が認識されます。バッチリです。
最初は Linux の HDD 認識のアルゴリズムを見ないとわからないけど、面倒くさそうだなあ??と考えていたのですが、そんなこと調べるまでもなく単純に解決できたのでした。
めでたし、めでたし。
外付け HDD のドライバをカーネルモジュールにして、めでたしめでたし…かと思ったら、起動時に変なメッセージが出ています。読んでみると HDD 5台構成にしたはずの RAID 5 が 4台構成で動いています。
md: md0 stopped. md: bind<sdb> md: bind<sdd> md: bind<sde> md: bind<sdf> md: bind<sdc> md: kicking non-fresh sdb from array! md: unbind<sdb> ...
あるぇー、なんで /dev/sdb が弾かれてるの?HDD 壊れたかしら?って思ったのですが、違いました。内蔵 HDD を sdf のままで一度起動したことが原因でした。
デバイスファイル名だとわかりづらいので、変化前の内蔵 HDD が sda だったときのデバイスファイル名を小文字で、変化後の sdf だったときのデバイスファイル名を大文字で書きましょう。対応表は下記の通り。
変化前 | 変化後 | コメント |
---|---|---|
sda | SDF | 内蔵 HDD |
sdb | SDA | 外付け HDD 1 |
sdc | SDB | 外付け HDD 2 |
sdd | SDC | 外付け HDD 3 |
sde | SDD | 外付け HDD 4 |
sdf | SDE | 外付け HDD 5 |
上記を踏まえて時系列で説明してみましょう。
とまあ、RAID システムのバカなんだか賢いんだかよくわかんねえ動きをしてくれた結果、4台構成になってしまったわけです。それにしても HDD 認識の順番がころころ変わるのは困るのよねー…。
直し方は時間かかりますがとても簡単です。sdb が物理的に壊れたわけではないので、単に sdb をもう一度アレイに追加すれば良いだけです。
# mdadm --manage /dev/md0 -a /dev/sdb
こんな感じです。長くても 1日ほっとけば直ってると思います。アレイを直している様子が見たければ、$ cat /proc/mdstat で概要が、# mdadm --detail /dev/md0 で詳細情報が見られます。
奥さんが何か番組を録画したいと言っていたのでレコーダーを買いに行きました。せっかくだし会社に貢献するかなってことで、DIGA DMR-BWT1100 を買いました。
昔レコーダのチームの人に型番の読み方を聞いたんだけど、忘れましたね…。確か BWT は B: Blu-ray 対応、W: 2チューナ(Z: 3チューナ、R: 1チューナ)、T: 3D 対応(何も無し: 3D 未対応)、だっけ?数字は計画性が無くて 100 増えたり 1000 減ったりしてイマイチ意味がわかんねーです。
さっそく DIGA をテレビに繋ごうと思って、今日テレビの裏を見たら、引っ越し当初に「映ればいいだろ、こんなの」ってずさんな配線をしたのを思い出しました。
家にある AQUOS は地デジも BS も映るのに、アンテナ線が 1本しか繋がっていません。UHF/BS 混合の信号を BS 端子に入れて、地デジ端子を開放状態にすると、地デジも BS も映ってしまうためです。
でも DIGA はそんなヘンテコ仕様になってないので、UHF/BS 分配器とアンテナ線 3本が追加で必要です。分配器はどうでもいいとしても、アンテナ線が全然足りません。後で買ってくるか…。
実家へ帰省のため北海道へ。
それにしてもこの時期の飛行機チケットは高いなあ。帰省ラッシュを良いことに足下見過ぎ。
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2021.
Powered by PHP 5.2.17.
using GD bundled (2.0.34 compatible)(png support.)