🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Q&A

解決済

1回答

2995閲覧

ゲストOSのルートパーティション拡張2

qwer012345

総合スコア6

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

0グッド

1クリップ

投稿2019/11/11 04:43

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ページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

testset

総合スコア223

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

qwer012345

2019/11/12 06:26

ご回答頂き、ありがとうございました。 前提条件を記載せず、申し訳ありません。 ご案内頂いた手順で、標準ルートパーティション(/dev/sda2)からlvmパーティション(/dev/sdb1)へ 乗せ換えることが出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問