VMwareで作成したゲストOSの/(ルートパーティション:/dev/sda2)を拡張する予定で、
ルートパーティションは、標準パーティションで作成しています(非LVM)。
対応は以下を想定しております。
①②は検証で確認出来ましたが、③④⑤の対応がうまくいかず困っております。
ファイルの変更箇所、手順情報をご教示頂ければ幸いです。
※貼り付け画像(df,fdisk,fstab,menu.list,blkid)
①/dev/sdb1を作成(100GB:LVM)し、マウントする
fdisk /dev/sdb
コマンド (m でヘルプ): n→p→1→デフォルト
コマンド (m でヘルプ): t→8e→w
pvcreate /dev/sdb1
vgcreate VolGroup00 /dev/sdb1
lvcreate -L 100G VolGroup00 -n root_new
mkfs.ext4 /dev/VolGroup00/root_new
mkdir /mnt/root_new
mount /dev/VolGroup00/root_new /mnt/root_new
②/(ルートパーティション:/dev/sda2)を/dev/sdb1へコピー(バックアップ)
tar -cvpf - --one-file-system / | tar -xvpf - -C /mnt/root_new --numeric-owner
③/etc/fstab修正
④/boot/grub/menu.lst修正
⑤OS再起動後、/dev/sda2を削除し、状態確認
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
前提条件
前提条件がなかったので、以下の条件で実施されるものとして回答いたします。
- CentOS 6.10 (質問者の環境は6.7と推定)
- SELinux disabled
- swapやbootの作成を行っていないので、HDDを入れ替えるという手順ではありません
- 単純にroot fsとしてマウントされているext4パーティションをlvmパーティションに乗せ換える手順です
あくまでも当方の環境ですので、パス等の誤りにより予期せぬことが起こる可能性があります。
事前にバックアップやスナップショットをお忘れなく取得してください。
少しでも間違えると起動しなくなります。
結果
- SELinux はdisabledにしないと、起動した喜びとともに絶望を感じる(ログイン成功してもログイン画面へ戻る)
- fstab/grub.confのUUIDを書き換える(/dev/disk/by-uuid で出てくる dm-0)
- grub.confの
rd_NO_LVM
を消しておくこと(kernel panicになります)
検証
移行元環境
[root@centos3 mnt]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda3 7.1G 742M 6.0G 11% / tmpfs 947M 0 947M 0% /dev/shm /dev/vda1 477M 46M 406M 11% /boot [root@centos3 mnt]# dmesg | tail -10 sda: unknown partition table sd 2:0:0:0: [sda] Attached SCSI disk sda: sda1
/dev/vda1
を移行します
手順1-2
ほぼ提示いただいた手順を実施
[root@centos3 mnt]# fdisk /dev/sda Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-10240, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-10240, default 10240): Using default value 10240 Command (m for help): t Selected partition 1 Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@centos3 mnt]# pvcreate /dev/sda Device /dev/sda not found (or ignored by filtering). [root@centos3 mnt]# pvcreate /dev/sda1 Physical volume "/dev/sda1" successfully created [root@centos3 mnt]# vgcreate VolGroup00 /dev/sda1 Volume group "VolGroup00" successfully created [root@centos3 mnt]# lvcreate -L 9G VolGroup00 -n root_new Logical volume "root_new" created. [root@centos3 mnt]# mkfs.ext4 /dev/VolGroup00/root_new mke2fs 1.41.12 (17-May-2010) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 589824 inodes, 2359296 blocks 117964 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2415919104 72 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 21 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@centos3 mnt]# mkdir /mnt/root_new [root@centos3 mnt]# mount /dev/VolGroup00/root_new /mnt/root_new
手順3 - fstabの編集
まずは、UUIDを特定します。dm-0を指しているUUIDをメモします。
以下の例だと、0ed959e2-6b4e-4dc8-bb54-7eea189ba12a
です。
[root@centos3 root_new]# ls /dev/disk/by-uuid/ -l total 0 lrwxrwxrwx. 1 root root 10 Nov 12 10:00 0ed959e2-6b4e-4dc8-bb54-7eea189ba12a -> ../../dm-0 lrwxrwxrwx. 1 root root 10 Nov 12 09:35 1563f228-9590-4d80-8db9-c6eef146fb50 -> ../../vda2 lrwxrwxrwx. 1 root root 10 Nov 12 09:35 26afc596-3f80-454c-908f-a943e71b5a22 -> ../../vda1 lrwxrwxrwx. 1 root root 10 Nov 12 09:36 dbc39012-df73-4d2b-a778-d98910a664c2 -> ../../vda3
既存のUUIDを次のように書き換えます。
[root@centos3 ~]# vi /mnt/root_new/etc/fstab #UUID=dbc39012-df73-4d2b-a778-d98910a664c2 / ext4 defaults 1 1 UUID=0ed959e2-6b4e-4dc8-bb54-7eea189ba12a / ext4 defaults 1 1
念のため、selinuxを確認します。
[root@centos3 ~]# vi /mnt/root_new/etc/sysconfig/selinux SELINUX=disabled
手順4 - grubの編集
[root@centos3 ~]# vi /boot/grub/grub.conf
次の4行をコピー(環境によって異なる)して、
title CentOS (2.6.32-754.23.1.el6.i686) root (hd0,0) kernel /vmlinuz-2.6.32-754.23.1.el6.i686 ro root=UUID=dbc39012-df73-4d2b-a778-d98910a664c2 rd_NO_LUKS rd_NO_MD crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-754.23.1.el6.i686.img
次のように加工して、コピー元の行の上に記載してください。(UUIDの差し替え、rd_NO_LVMの排除、titileの書き換え)
title CentOS2 (2.6.32-754.23.1.el6.i686) root (hd0,0) kernel /vmlinuz-2.6.32-754.23.1.el6.i686 ro root=UUID=0ed959e2-6b4e-4dc8-bb54-7eea189ba12a rd_NO_LUKS rd_NO_MD crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-754.23.1.el6.i686.img
最後に、次のようにコマンドを実行し、HDD認識されているか確認してください。
[root@centos3 ~]# grub-install --recheck /dev/vda Probing devices to guess BIOS drives. This may take a long time. Installation finished. No error reported. This is the contents of the device map /boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script `grub-install'. (fd0) /dev/fd0 (hd0) /dev/vda (hd1) /dev/sda
あとは、起動時に作成したgrub設定(CentOS2 (2.6.32-754.23.1.el6.i686)
)で起動してみてください。
投稿2019/11/11 18:19
総合スコア223
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/12 06:26