GNU/Linux >> Linux の 問題 >  >> Linux

CentOS / RHEL :既存のルート ファイルシステムを LVM パーティションに変換する

質問:ルート ファイル システムがいっぱいで、LVM ではありません。これを LVM である新しいパーティションに移動する必要があります。これはどのように達成できますか?

答え :
通常のディスク パーティション上の既存のルート ファイル システムを LVM ボリュームに変換する手順は次のとおりです:

1. 最初に LVM パーティションを作成します。
空きディスクを選択し、その上に LVM パーティションを作成します。

# pvcreate /dev/sdb1
# vgcreate vg_new_root  /dev/sdb1
# lvcreate -L 4G -n lv0 vg_new_root

2. この新しい LVM パーティションを ext3 または ext4 (または必要に応じて) でフォーマットします。以下の例では、aext4 ファイル システムを作成します:

# mkfs.ext4 /dev/vg_new_root/lv0

3. 新しいマウント ポイントを作成し、そこに LVM パーティションをマウントします。

# mkdir /mnt/NEW_ROOT_PARTITION
# mount /dev/vg_new_root/lv0  /mnt/NEW_ROOT_PARTITION

4. 「/」のすべての内容を、新しくマウントされたフォルダーにコピーします。

# tar -cvpf - --one-file-system --acls --xattrs --selinux / | tar -C /mnt/NEW_ROOT_PARTITION -xf
# cp -aux /dev /mnt/NEW_ROOT_PARTITION

5. ファイルを編集します – /mnt/NEW_ROOT_PARTITION/etc/fstab 新しいルートを反映するには:

/dev/vg_new_root/lv0      /       ext4    defaults     1 1

6. 新しいファイルシステムに chroot し、raid と lvm をサポートする initrd を作成する必要があります:

# mount --bind /dev /mnt/NEW_ROOT_PARTITION
# chroot /mnt/NEW_ROOT_PARTITION
# mount -t proc /proc /proc
# mount -t sysfs /sys /sys
# vgscan
# vgchange -ay
# mkinitrd -v /boot/initrd-`uname -r`.lvm.img `uname -r`
# umount /sys
# umount /proc
# exit
# mv /mnt/lv0/boot/initrd-`uname -r`.lvm.img /boot

7. /boot/grub/grub.conf を編集します 新しいルート /dev/vg_new_root/lv0 を指す . 「/boot」ディレクトリに古い initrd をバックアップし、新しい initrd の名前を既存のものに変更するか、grub.conf のエントリを編集します。

8.再起動

# shutdown -r now


Linux
  1. CentOS / RHEL :新しい LVM ベースのスワップ パーティションを作成する方法

  2. CentOS / RHEL :LVM デバイス上の非ルート EXT3/4 ファイルシステムのサイズ変更 (拡張)

  3. CentOS / RHEL :非 LVM デバイス (ハードディスク パーティション) 上の非ルート EXT3/4 ファイルシステムのサイズを変更 (縮小) します。

  1. CentOS / RHEL :非 LVM デバイス (ハードディスク パーティション) 上の非ルート EXT3/4 ファイルシステムのサイズ変更 (拡張)

  2. CentOS / RHEL :使用するディスク パーティションを拡張して LVM の物理ボリュームを拡張する方法

  3. 物理パーティション システムを LVM に変更するには?

  1. CentOS 7 /RHEL7でルートパスワードをリセットする

  2. CentOS / RHEL 6 でルート ファイルシステムを縮小する方法

  3. CentOS / RHEL LVM :ボリューム グループ メタデータのバックアップ