システムハードディスク換装完了

とりあえず復旧までこぎつけた。

3GBのディスクが逝ったので、昔とあるrubyistから譲ってもらった10GBのディスクを使う。何年も使われずに押し入れで眠っていたけれど、捨てなくてよかったと思った瞬間だ。壊れるまで数年ほど頑張ってもらって、その間に起動方法を考えないといけない。

$ sudo hdparm -I /dev/hda
/dev/hda:

ATA device, with non-removable media
	Model Number:       IBM-DTTA-351010                         
	Serial Number:      WF0WFFB0996
	Firmware Revision:  T56OA73A
Standards:
	Used: ATA/ATAPI-4 T13 1153D revision 17 
	Supported: 4 3 2 1 
Configuration:
	Logical		max	current
	cylinders	16383	16383
	heads		15	15
	sectors/track	63	63
	--
	CHS current addressable sectors:   15481935
	LBA    user addressable sectors:   19807200
	device size with M = 1024*1024:        9671 MBytes
	device size with M = 1000*1000:       10141 MBytes (10 GB)
Capabilities:
	LBA, IORDY(can be disabled)
	Buffer size: 466.0kB	bytes avail on r/w long: 34	Queue depth: 32
	Standby timer values: spec'd by Standard, no device specific minimum
	R/W multiple sector transfer: Max = 16	Current = 0
	DMA: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=240ns  IORDY flow control=120ns
Commands/features:
	Enabled	Supported:
	   *	NOP cmd
	   *	READ BUFFER cmd
	   *	WRITE BUFFER cmd
	   *	Host Protected Area feature set
		Release interrupt
	   *	Look-ahead
	   *	Write cache
	   *	Power Management feature set
		Security Mode feature set
	   *	SMART feature set
	   *	READ/WRITE DMA QUEUED
Security: 
		supported
	not	enabled
	not	locked
		frozen
	not	expired: security count
	not	supported: enhanced erase
	22min for SECURITY ERASE UNIT. 

今回のシステムクラッシュは痛かった。旧ディスクはまだまだやれると思えるほど元気そうに見えたが、実は老体に鞭打ってたのだ。頑張ってきたのだが、悲鳴(異常音)を発することなく突然逝ってしまった。
だけどよく考えたら兆候はあった。パーティションテーブルがいかれてると何度も言われた。mksquashfsでシステムをバックアップとっていたときに、必ずmemory corruptionを起こしてた。昨日ふとsyslogを見てみたらI/O errorが起きていた。
その後、崩壊は一気に加速していった。tarがgzipがmountが…次々と/binのコマンドが読めなくなってしまった。DVD-RAMsquashfsでシステムをバックアップしているからそこにアクセスしようにもmountが使えなくては意味がない!まさに缶詰のなかに缶切りがある状況だ。
幸いシステムディスクとデータディスクを分けているため、当然のことながら/homeなどのデータにはまったく影響しない。システムとデータ同時に壊れるわけではないので精神衛生上よい!だからこそ小容量ディスクをシステムディスクに使いたいのだ。
これまた幸い数年前にSystemRescueCdを焼いていたから使ってみた。復旧中うかつにも/binを移動させてしまったためシステムが動作しなくなったとき、こいつに助けられた。ただ、バージョンが古いのでsquashfsには対応していなかった。最新版の0.4.0ではsquashfs対応なのでいざディスクがぶっこわれてもSystemRescueCdから復旧できるだろう。
今回はシステムのディスクがやられたので再度Debian GNU/Linuxをインストールすることにした。昔DebianインストーラのCDを作成した気がするのだが、見付からなかったので、Debian -- Network install from a minimal CDからISOイメージをダウンロードしてCDに焼いた。そして最小構成でインストール。このインストールの目的はあくまでカーネルMBRの設定だからだ。/binなどのシステムはDVD-RAMに毎週バックアップしているので、書き戻せばいいからだ。
書き戻したら、なんとかシステムは復旧した。ふぅ…

今回のクラッシュ→再インストールでliloからgrubに乗り換えられた。aptでカーネルをインストールしたらgrubの設定も自動でやってくれるので乗り換える価値はある。だって楽だから。

今回のクラッシュでリストアのしやすさが大切だと思い知らされた。バックアップを取っているつもりでもリストアに苦労しているようではだめだ。復旧「できる」のはシステム管理者として当たり前であり、少しでも短時間で復旧できないといけないのだ。盲点だったのは手持ちのSystemRescueCdのバージョンが古すぎてsquashfsに対応していないことだった!squashfsに対応していれば、LinuxをインストールしたらすぐにSystemRescueCdを起動してsquashfsから書き戻せばいいだけだったはず。

LinuxDOSのsysコマンドに対応するのってなんだろうね。ディスクにカーネルを書き込んでMBRを設定するやつ…んん〜

あと、シンボリックリンクを管理するプログラムってあるかな…復旧後にシンボリックリンクを作成しわすれて悲惨なことになったので。