トップページ | 2008年5月 »

2008年3月

2008年3月31日 (月)

initrdとシリアルATA

IDE(P-ATA)ディスク上に構築されたRedHat等initrdブートシステムのLinuxを、Serial-ATAディスクデバイスに環境まるごとコピー移植等した場合、以下の方法でシリアルATA(認識)対応が必要です。

[/boot/initrd]
・cpioコマンドでinitrdイメージを展開
 cpio -i --make-directories < initrdイメージ名
  ※もしくは、gzip -dc ./initrdイメージ名 | cpio -idmv

・以下のモジュールをinsmodするようinitを編集
 scsi_mod sd_mod libata ata_piix
・カーネルから、展開済みcpioの/libへ上記ドライバのコピー
 ※これらドライバがない場合はカーネルconfigスイッチを有効にしてビルド
・cpioコマンドでinitrdイメージを作成
 find . | cpio -o -H newc | gzip > ../initrdイメージ名

[/etc/grub.conf] と [/etc/fstab]
hda該当部を其々sdaパーティションに読み替えて置換

rebootしBIOSセッティングを変更
ex)
enhanced_mode
SATA genericII

以上でSATAから起動します。

※ミスがあるとkernel panicになって起動しないので慎重に・・・

2008年3月29日 (土)

linux環境まるごと引越し

普通、PCを買い替えるとOSインストール -> ドライバのインストールと設定 -> ソフトのインストールと設定 となるわけですが、特に最後のソフトの部分は数が多いとウンザリしますよね。
そんな時、以下の作業により比較的楽に完璧な元のシステム環境を構築再現できます。

・新PCに旧PCのHDDを接続し、CDドライブにLinuxインストールディスクを入れてrescueモードで起動。
※CentOS5の場合はCDのプロンプトでlinux rescue

・fdiskで新PCのHDDに/やswap等のパティーションを旧PCと同じ構成で作成

・mkfs、mkswapでフォーマット
※必要があればe2labelで各マウントポイントのLABELを生成

・partprobeで上記の内容をシステムに認識させた後mountし、grubを新HDDのMBRにinstall

・cp -aで旧HDDの内容をすべてコピー
※sys proc devはディレクトリ作成のみ

・新HDDから起動

・/etc/sysconfig/ifcfg-eth0とudevに新PCのMACアドレスを設定

・新旧PCでビデオカードが違う場合は/etc/X11/xorg.confのdriverやmoduleを書換え

・サウンドチップ等その他デバイスに変更があれば/etc/modprobe.confを編集

・CPUアーキテクチャが異なる場合はCPU固有命令を利用するアプリをリビルド


以上でシステムの移行は終了です。

2008年3月22日 (土)

スワップ

最近はDDR2メモリ激安ですね

メモリを例えば4GBにして、システムの足を引っ張っているOSのswap動作を止める絶好の機会ではないでしょうか。

RedHat系は/etc/fstab内の
/dev/hda3 swap swap defaults 0 0

#/dev/hda3 swap swap defaults 0 0
にコメント化するだけでスワップ動作を起動時からoffにできます。

※コンソールでswapon -sと入力し何も表示されなければスワップはoffになっています。swapoff -aコマンド実行とかrc.sysinitのスクリプトを編集する必要はありません。

みなさんご想像どおりこれは高速化に貢献度が高く、体感できる程速くなるのでコストパフォーマンス抜群のチューニングではないでしょうか。

※個々の環境は異なるため、もしこれを試される方は自己責任でお願いいたします。

トップページ | 2008年5月 »