非LVM環境のLVM化 [Linux]
【手順の要約】
・新環境用に PV、VG、LV、FS を作成する。
・既存環境の FS を対応する新環境の FS にコピーする。
・既存環境で新環境の設定ファイルを変更する。
・既存環境から新環境の initrd イメージを更新する。
【前提条件】
・CentOS、および Debian GNU/Linux を対象とする。
・ブートローダーは、GRUB Legacy を使用する。
(LV からはブートできない。)
・PV、VG、LV、FS の作成については、記述を省略する。
(/boot 用のパーティションは、LVM 化せず、32〜64MB 位で作成する。)
・ファイルシステムのタイプは、ext3 とする。
・既存環境を複製し、新環境を作成する。
実施手順は、下記の通りである。
1. 既存環境の起動
2. 既存の FS のコピー
(1) 新環境の FS のマウント
(例) # mkdir /tmp/root # mount -t ext3 <新環境の / のデバイス・パス> /tmp/root # mount -t ext3 <新環境の /boot のデバイス・パス> /tmp/root/boot … (以下同様) …
(2) FS のコピー
dump/restore コマンド、等を使用し、データのコピーを実施する。
(できれば、シングル・ユーザー・モードで実施する。)
(例) # cd <複製先 FS 用のマウント・ポイント> # dump -0 -f - <既存環境の FS のデバイス・パス> | restore -rf - # rm restoresymtable
3. 新環境の設定ファイルの変更
(1) /etc/fstab
/、/boot 等のデバイス・パスを新環境のデバイス・パスに変更する。
(2) /boot/grub/grub.conf
・kernel, initrd のファイル・パスの設定から /boot を削除する。
(既存環境で、/boot を別パーティションにしていない場合に実施。)
・kernel の root オプションに、/ 用の LV のデバイス・パスを指定する。
4. 新環境の initrd イメージの更新
4-1. CentOS の場合
(1) 現在の initrd-
(2) mkinitrd コマンドを実行する。
(例) cd /tmp/root/boot mv initrd-`uname -r`.img initrd-`uname -r`.img.sav mkinitrd [-f] --fstab=/tmp/root/etc/fstab \ /tmp/root/boot/initrd-`uname -r`.img `uname -r`
4-2. Debian GNU/Linux の場合
(1) 現在の initrd.img-
(2) /tmp/root に chroot する。
(3) mount /proc
(4) update-initramfs コマンドを実行する。
(または、mkinitramfs コマンドを実行する。)
(5) chroot を終了する。
(例) cd /tmp/root/boot mv initrd.img-`uname -r` initrd.img-`uname -r`.sav chroot /tmp/root mount /proc update-initramfs -c -k `uname -r` (または、mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r`) exit
5. 新環境の PBR への GRUB のインストール
grub-install コマンドを --root-directory オプションを指定して実行する。
(例) # grub-install --root-directory=/tmp/root </boot のデバイス・パス>
6. 新環境での再起動
(1) 新環境用のエントリの追加
既存環境の GRUB に下記の設定を追加する。
title New System … 適当なタイトルを設定 root (hdX,Y) … 新環境の /boot のデバイス・パスを設定 chainloader +1
(2) リブート
リブートし、GRUB のメニューで新システムを選択する。
7. 後処理
(1) MBR の更新
(例) # grub-install /dev/sda
(2) 既存環境のパーティションの削除
コメント 0