linuxにはレスキュー(rescue)モードがある
ディストリビューションの起動メディア(CD or DVD)から起動し、プロンプトで
linux rescueと入力することで起動する
rescueモードでは、パスワード無しでメディアから起動しroot権限となる
ローカルハードディスクはディスクドライバが正常に動作しているのであれば利用できる
NICは起動メディア内のドライバで稼動するのであれば利用できる
LVMディスクもハードディスクが認識していれば利用できる
コマンド類は基本的にメディア内のものを利用するので安全
起動後、/mnt/sysimageにハードディスクの/(root)がマウントされ利用可能
chrootコマンドで/mnt/sysimageを指定することで利便性があがる
LVMディスクを認識させるところから必要
# lvm vgscan VG情報を認識 # lvm vgchange -a y VolGroup00 VolGropu00をアクティブに設定 # lvm lvdisplay 認識したLV情報を表示 # mount /dev/mapper/VolGroup00 /mnt/vg /mnt/vgにマウント
この後、通常コマンドを利用してOS内を復旧させる
ルートパーティションをリサイズする場合もRescueモードを活用する。
パーティションリサイズはターゲットパーティションをアンマウントしておく必要があり
ルートパーティションの場合、アンマウントすると当然コマンド系が使えなくなるので
RAMディスク等に退避させておく必要がある。Rescueモードであえれば
そのままコマンド系が使えるので簡単にリサイズできる。
特にLVMの場合便利。
これは縮小させる場合ね
Rescueモード起動時の指定 Netwrokはなし、マウントはskipしておく vgdisplayでターゲットが見えているか確認 Free PEが0になってることを確認 見えてない時は lvm vgscan VG情報を認識 lvm vgchange -ay [VG名] [VG名]をアクティブに設定 lvdisplayでターゲットパーティションのパス名を確認 lvm lvchange -ay [LV名] [LV名]をアクティブに設定 e2fsck [LV名] tune2fs -l [LV名] BLOCK数とBLOCK SIZEでパーティションサイズを確認 resize2fs [LV名] ??G ??Gにサイズ変更 tune2fs -l [LV名] BLOCK数とBLOCK SIZEでパーティションサイズを確認 lvreduce -L ??G [LV名] 問いにはYesで答える lvdisplay [LV名] vgdisplay [VG名]で確認 Free PEが0ではなくなっている事を確認 再起動でOK
拡張ね
fdisk /dev/sdb nで新しい基本パーティションを作成して書き込む 新パーティションをPVに組み込む pvcreate /dev/sdb1 既存ボリュームグループにPVを組み込む vgextend VolGroup /dev/sdb1 既存論理グループにVGを組み込む lvextend -l +100%FREE /dev/VolGroup/lv_root ファイルシステムの拡張 サイズ指定しなければパーティションデフォルトサイズが設定される 基本はオフライン(アンマウント)状態でやるのが筋だがetx3以上はオンラインもサポートされた resize2fs /dev/VolGroup/lv_root