* システム移行時にディスク構成を変える場合の initrd の調整方法 [#zaa7a7c2]
- ディスクを交換するときには、たとえば dump, tar, cp -pR, ddなどを使って別のメディアにデータを移してからリストアしたり、現行システムを動作させながら(single user modeになって)直接データをコピーして新しいディスクを構成したりするわけですが、普通のディスクからSoftware RAID1に移行するなどといった場合、kernel や initrd の変更が必要になります。
//- RaiserFS なんかにしてた場合 dump は使えません

// /dev/consoleが開けないと言っている場合は(pivot_rootでエラーなど)
// そもそもマウントが出来ていない可能性が高い。

- 新しいディスクを構成した後、いったんシステムをインストールして必要な boot 用データを作ってもらうのもいいでしょう。しかし、ディスクのみを変える場合はカーネルモジュールまわりなどの差異を解決するのが面倒です

** initrd を手でいじって新環境にあわせる [#q16efdd7]
//- dar, dump
- 新しいディスクを第1デバイスとして接続し、旧ディスクははずしてインストーラを起動する。RAID物理パーティションを作るなどする
// RAID物理パーティションをあとでRAID上に作りたいパーティションそれぞれについて作る

// /boot 1GB
// swap 4GB
// / 残り

//ソフトウェアRAID1でMDデバイスの作成
//ブートフラグ

// /etc/mdadm/mdadm.confをメモる
// 移してmdrun

// 新しいディスクへ
// cp -pR
// /boot /proc /mntはのぞく

- 旧ディスクで起動し、MDデバイスを認識させる
- 新しく使う予定のMDデバイスをマウントし、そこをrootに指定してMDデバイス用モジュールが含まれる initrd を作る
 # mkinitrd -r /dev/md2
- これを雛形として正常に動作する initrd に作り替える。まず、最近の Linux では initrd は [[en.wp:cramfs]] イメージなので(cpio だったり違う場合もある)
 # mkdir initrd
 # mount -o loop initrd.img /mnt/initrd
- こうしてinitrdの内容が読み込めるようになる。しかし、このファイルシステムは読み込み専用なので、ここでコピーを行う。
 # mkdir initrdnew
 # cp -pR initrd/* initrdnew/
- ここで initrdnew の中身を適切に編集する
-- たとえば直下にある script ファイルに記述されているデバイス名を新しい環境にあったものに書き換える
- /dev 以下のスペシャルファイルが足りない場合があるので必要なモノをコピーする
 # cp -pR /dev/hda* ./ 
- 最後に cramfs で dev2 にハードリンクされていたディレクトリを mkdir する
 devfs keyscripts mnt proc sys tmp var
- mkcramfs を用意し、イメージを作り直す
 # chmod -R root.root initrdnew
 # mkcramfs initrdnew initrd.cramfs
 # gzip initrd.cramfs

// mkinitrd "-r" /proc/mdstat

** 参考 [#gee72613]
- [[en.wp:initrd]]
- pivot_root
- [[15.9. バックアップの基本:http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/backup-basics.html]] FreeBSD ハンドブック
- [[9.2. バックアッププログラム:http://docs.freebsd.org/doc/3.5-RELEASE/usr/share/doc/ja/books/handbook/backup-programs.html]] FreeBSD ハンドブック
- http://huli3.hp.infoseek.co.jp/diary/ の方に助言を頂きました
- [[第3章 ディスク管理とファイルシステム:http://www.miraclelinux.com/technet/document/linux/training/1_3_3.html]]
- [[第5回 システム・バックアップを基礎の基礎から:http://www.atmarkit.co.jp/flinux/rensai/root05/root05c.html]]
- [[Google.jp:Software RAID]]
- [[VMware Playerでraw diskのOSを起動する:http://www.daionet.gr.jp/~knok/trac/trac.cgi/wiki/vmwareplayer]]
- [[4. Appendix A: Creating your own initrd:http://intimate.handhelds.org/docs/install-howto/x136.html]]
- [[[最強Railsサーバ構築計画 その1] debianでSoftware RAID1マシンを作る:http://blog.masuidrive.jp/articles/2007/03/05/rails-on-debian]]
- [[Software-RAID:http://memo.blogdns.net/raid.html]]
- [[【CentOS4】 通常のディスクからSoftware RAID1に変換する:http://www.jw7.org/wiki/index.php?%A1%DACentOS4%A1%DB%20%C4%CC%BE%EF%A4%CE%A5%C7%A5%A3%A5%B9%A5%AF%A4%AB%A4%E9Software%20RAID1%A4%CB%CA%D1%B4%B9%A4%B9%A4%EB]] 
-- 私の環境では--fstabオプションは無かった。かわりに-rでrootを指定する
- [[Debian(unstable) の最新カーネル(2.6.11)が Dell でパニクる件:http://wota.jp/ac/?date=20050704]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS