VMware側での作業
VMware Workstation 15 Playerを起動して、対象のCentOS 7(Scientific Linux 7.x)を選択します。
右ペイン下に表示されている「仮想マシン設定の編集」をクリックします。
表示される「仮想マシン設定」画面で、「ハードディスク(SCSI)」を選択します。
右ペインの「展開」ボタンをクリックします。
表示される「ディスク容量の拡張」画面で、拡張したいディスク容量を指定して、「展開」ボタンをクリックします。
「仮想マシン設定」画面でOKボタンをクリックして保存します。
VMware Workstation 15 Player側の作業はこれだけです。
対象の仮想マシンここでは、CentOS 7を起動してください。
CentOS7(Scientific Linux 7.x)側での作業
注意:
私の環境では、既に40GBほど拡張済みなので、既に/dev/sda3が存在している。
初めてボリューム拡張する場合は、/dev/sda4でなく、/dev/sda3になるので以降の記載では、/dev/sda4を/dev/sda3と読み替えて作業してください。
VMware側でディスク領域を拡張してもCentOS 7ではディスク容量は変化しない。
suでスーパーユーザーに移行してください。
dfコマンドで現在のディスクを確認すると以下の表示になり、CentOS 7(/dev/mapper/centos-root)で、136Gと表示されている。
[root@centos7-xxx-jp xxx]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 2.9G 0 2.9G 0% /dev tmpfs 2.9G 4.0K 2.9G 1% /dev/shm tmpfs 2.9G 13M 2.9G 1% /run tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 136G 73G 63G 54% / /dev/sda1 1014M 401M 614M 40% /boot vmhgfs-fuse 930G 793G 138G 86% /mnt/hgfs tmpfs 579M 56K 579M 1% /run/user/1000 tmpfs 579M 0 579M 0% /run/user/0 [root@centos7-xxx-jp xxx]#
fdiskコマンドで現在のディスクを確認すると以下の表示になる。
[root@centos7-xxx-jp xxx]# fdisk -l Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000a79a5 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 209715199 103808000 83 Linux /dev/sda3 209715200 293601279 41943040 83 Linux Disk /dev/mapper/centos-root: 145.1 GB, 145080975360 bytes, 283361280 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk /dev/mapper/centos-swap: 4160 MB, 4160749568 bytes, 8126464 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト [root@centos7-xxx-jp xxx]#
/dev/sdaの表示が、214.7 GBと表示されているので、領域としては、拡張した200GBの容量を認識している。
fdiskを使用して物理ボリュームの拡張を行う。
[root@centos7-xxx-jp xxx]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. コマンド (m でヘルプ):
[p]を入力して、パーティションテーブルを出力して、パーティションの数を識別します。初めて領域拡張する場合は、/dev/sda3は表示されずsda1とsda2が表示されます。
コマンド (m でヘルプ): p Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000a79a5 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 209715199 103808000 83 Linux /dev/sda3 209715200 293601279 41943040 83 Linux コマンド (m でヘルプ):
[n]を入力して、新規でプライマリーパーティションを作成します。
Partition typeへは、primaryの[p]を入力します。
コマンド (m でヘルプ): n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): p
以降は、デフォルトで問題無いので、全てEnterで進めます。
以下で、「Selected partion 4」となっているのは、既にパーティションを追加しているためなので、初めての場合は、「Selected partion 3」となります。
Selected partition 4 最初 sector (293601280-419430399, 初期値 293601280): 初期値 293601280 を使います Last sector, +sectors or +size{K,M,G} (293601280-419430399, 初期値 419430399): 初期値 419430399 を使います Partition 4 of type Linux and of size 60 GiB is set コマンド (m でヘルプ):
私の場合、system partition IDは、Linuxだったので、変更していませんが、system partition IDがLinux LVMと表示されている場合は、
[t]を入力して、system partition IDの変更を行ってください。
[t]の後、「Selected partion」で表示されている番号、初めての場合は3を入力してパーティションを選択し、[8e]を入力して、Linux LVMパーティションに変更してください。
ここまで完了したら、[w]を入力してパーティションテーブルに変更を書き込みます。
コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) ディスクを同期しています。 [root@centos7-xxx-jp xxx]#
WARNINGが表示されますが、再起動することで反映されますのでご心配なく。
仮想マシンを再起動します。
fdiskで確認してみます。
[root@centos7-xxx-jp xxx]# fdisk -l Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000a79a5 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 209715199 103808000 83 Linux /dev/sda3 209715200 293601279 41943040 83 Linux /dev/sda4 293601280 419430399 62914560 83 Linux Disk /dev/mapper/centos-root: 145.1 GB, 145080975360 bytes, 283361280 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk /dev/mapper/centos-swap: 4160 MB, 4160749568 bytes, 8126464 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト [root@centos7-xxx-jp xxx]#
/dev/sda4に60GBの領域が割り当てられています。
初めて領域を拡張する場合は、/dev/sda3に割り当てられているはずです。
pvcreateコマンドで新しいパーティションを物理ボリュームに変換します。
何度も書きますが、初めて領域を拡張する場合は、/dev/sda3になります。
[root@centos7-xxx-jp xxx]# pvcreate /dev/sda4 Physical volume "/dev/sda4" successfully created. [root@centos7-xxx-jp xxx]#
vgdisplayコマンドで、ボリュームグループ名を確認して、
vgextendコマンドで、物理ボリュームを拡張します。
[root@centos7-xxx-jp xxx]# vgdisplay -C VG #PV #LV #SN Attr VSize VFree centos 2 2 0 wz--n- 138.99g 0 [root@centos7-xxx-jp xxx]# [root@centos7-xxx-jp xxx]# vgextend centos /dev/sda4 Volume group "centos" successfully extended [root@centos7-xxx-jp xxx]#
vgdisplayコマンドで、拡張されたボリュームを確認します。
[root@centos7-xxx-jp xxx]# vgdisplay -C VG #PV #LV #SN Attr VSize VFree centos 3 2 0 wz--n- <198.99g <60.00g [root@centos7-xxx-jp xxx]#
lvextendコマンドで、FREEの全ての領域を使用して論理ボリュームを拡張します。
[root@centos7-xxx-jp xxx]# lvextend -l +100%FREE /dev/centos/root Size of logical volume centos/root changed from <135.12 GiB (34590 extents) to 195.11 GiB (49949 extents). Logical volume centos/root successfully resized. [root@centos7-xxx-jp xxx]#
CentOS 7からはデフォルトファイルシステムがXFS file sysstemとなっているため、xfs_growfsコマンドを使用します。
[root@centos7-xxx-jp xxx]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=12, agsize=2956800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=35420160, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=5775, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 35420160 to 51147776 [root@centos7-xxx-jp xxx]#
dfコマンドで、ファイルシステムに使用できる新しい空き領域が拡張されていることを確認します。
[root@centos7-xxx-jp xxx]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 2.9G 0 2.9G 0% /dev tmpfs 2.9G 0 2.9G 0% /dev/shm tmpfs 2.9G 13M 2.9G 1% /run tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 196G 74G 122G 38% / vmhgfs-fuse 930G 790G 141G 85% /mnt/hgfs /dev/sda1 1014M 401M 614M 40% /boot tmpfs 579M 56K 579M 1% /run/user/1000 [root@centos7-xxx-jp xxx]#
無事に/パーティションに60GBが拡張され、約200GBに拡張されています。
実は、最初に論理ボリュームの拡張(lvextend)コマンドを実行するのを忘れていたため、拡張できずに焦ってしまいました・・・
これを忘れると、dfコマンドで確認しても最初の状態から何も変化しないので、もし変化しないという場合は、コマンドの実行が抜けていないか確認してみてください。
以下、拡張されなかった場合の表示です。
[root@centos7-xxx-jp xxx]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 2.9G 0 2.9G 0% /dev tmpfs 2.9G 0 2.9G 0% /dev/shm tmpfs 2.9G 13M 2.9G 1% /run tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 136G 74G 62G 55% / vmhgfs-fuse 930G 791G 140G 86% /mnt/hgfs /dev/sda1 1014M 401M 614M 40% /boot tmpfs 579M 56K 579M 1% /run/user/1000 [root@centos7-xxx-jp xxx]#
Linuxのボリューム拡張って難しいことではないのですが、面倒で、さらにバージョンによってコマンドが変わったりするので、Linux使いの人は問題無いでしょうが、私のように仕事でたま~にLinuxをさわるような人間には、VMで拡張したらそのまま反映してくれる設定などあれば良いと思うのは私だけでしょうか・・・
そういえば、パーティションが4つになったので、この方法ではこれ以上領域拡張できなくなってしまいました。
今度領域拡張する場合は、どうするか調べないと(^^;