« 国会議員の文書交通費 月100万はクーポンで三方よし | メイン | VirtualBoxのゲストCentOS7ディスク一時追加 »

UNIX

VirtualBoxのゲストCentOS7ディスク拡張

VirtualBoxのゲストCentOS7ディスク拡張 ディスク容量不足により追加でハードディスクを増設するリアルなサーバーと違い、仮想環境なのでOSインストール済の元々の仮想ハードディスクを 8GB から 16GB へ大きくする記録。

VirtualBox 6.1.18
ホストOS : Windows 10
ゲストOS : CentOS Linux release 7.7.1908 (Core)[CentOS-7-x86_64-Minimal-1908.iso]

 理解しておきたいキーワード
●LVM(Logical Volume Manager) : Linuxで当初HDDなどに直接ファイルシステムを割り当てて管理していたものが、物理ボリュームをまとめて仮想化されたボリュームグループとし それを論理ボリュームに分けて管理する仕組み。CentOSでは、デフォルト設定のインストールで論理ボリュームを使用。
●PV物理ボリューム(PisicalVolume) : 物理ディスク
●PE物理エクステント(Physical Extent) : PVを分割したLVMが管理する最小単位
●VGボリュームグループ(VolumeGroup) : PVを分割したPEの集まり
●LV論理ボリューム(LogialVolume) : ファイルシステムをマウントするデバイス(旧 /dev/sda1 相当)

 ディスク拡張の流れ...▼
 ストレージを SATA 8GB としてデフォルト構成でインストールした状態の各情報。
[wanko@host ~]$ df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
devtmpfs                  484M     0  484M    0% /dev
tmpfs                     496M  8.0K  496M    1% /dev/shm
tmpfs                     496M  6.7M  489M    2% /run
tmpfs                     496M     0  496M    0% /sys/fs/cgroup
/dev/mapper/centos-root   6.2G  4.7G  1.6G   76% /
/dev/sda1                1014M  136M  879M   14% /boot
tmpfs                     100M     0  100M    0% /run/user/1000
物理ボリューム情報
[wanko@host ~]$ sudo pvs
  PV         VG     Fmt  Attr PSize  PFree
  /dev/sda2  centos lvm2 a--  <7.00g    0
物理ボリューム詳細
[wanko@host ~]$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <7.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              1791
  Free PE               0
  Allocated PE          1791
  PV UUID               dt1IcN-e3B6-wACA-Q8df-yDuu-9tfN-2kCumi
ボリュームグループ情報
[wanko@host ~]$ sudo vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   1   2   0 wz--n- <7.00g    0
ボリュームグループ詳細
[wanko@host ~]$ sudo vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <7.00 GiB
  PE Size               4.00 MiB
  Total PE              1791
  Alloc PE / Size       1791 / <7.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               m3HcVl-8n22-kEfa-AGHL-zrL0-lnkV-Y3PVND
論理ボリューム情報
[wanko@host ~]$ sudo lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao----  <6.20g
  swap centos -wi-ao---- 820.00m
論理ボリューム詳細
[wanko@host ~]$ sudo lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                dFyiTa-lXFO-k7Vn-x8FX-GoEb-XMdu-0ljEBc
  LV Write Access        read/write
  LV Creation host, time syllabus.localdomain, 2020-03-07 08:31:36 +0900
  LV Status              available
  # open                 2
  LV Size                820.00 MiB
  Current LE             205
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                PRmv25-tE1c-RcuZ-7vCY-x0i7-CjcI-JRoPd6
  LV Write Access        read/write
  LV Creation host, time syllabus.localdomain, 2020-03-07 08:31:36 +0900
  LV Status              available
  # open                 1
  LV Size                <6.20 GiB
  Current LE             1586
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
利用できるHDDやUSBメモリなどのブロックデバイス一覧表示。
[wanko@host ~]$ lsblk -p
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
/dev/sda                      8:0    0    8G  0 disk
┣/dev/sda1                   8:1    0    1G  0 part /boot
┗/dev/sda2                   8:2    0    7G  0 part
  ┣/dev/mapper/centos-root 253:0    0  6.2G  0 lvm  /
  ┗/dev/mapper/centos-swap 253:1    0  820M  0 lvm  [SWAP]
/dev/sr0                     11:0    1 1024M  0 rom
centos7のファイルシステムを確認。
[wanko@host ~]$ cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat Mar  7 08:31:37 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=451b9a7b-1c3b-4bd6-9b0e-dc67a5999c62 /boot xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
以下、変化のあった情報のみ掲載。
仮想マシンを停止。
[wanko@host ~]$ sudo shutdown -h now
Windows の DOSプロンプトを起動。
●コマンド「VBoxManage」へ環境変数「path」を追加。
>set path=%path%;"C:\Program Files\Oracle\VirtualBox"
●対象仮想マシンの名称を確認。
>VBoxManage list vms
"SERVER" {b83bbb48-****-4f89-89eb-7462e694e84e}
→ SERVER
●仮想マシンの対象仮想ハードディスクを確認。
>VBoxManage showvminfo "SERVER" | find "SATA"

Storage Controller Name (1):            SATA
SATA (0, 0): C:\Users\taro\VirtualBox VMs\SERVER\SERVER-disk001.vdi (UUID: ff82d003-****-43fc-a94d-475a91bd9d90)
→ C:\Users\taro\VirtualBox VMs\SERVER\SERVER-disk001.vdi
vdi形式の対象仮想ハードディスクを 16GB x 1024 = 16384 へ変換(vdi形式でない場合事前に変換が必要)。
>VBoxManage modifyhd --resize 16384 "C:\Users\taro\VirtualBox VMs\SERVER\SERVER-disk001.vdi"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
●対象仮想マシンを起動。
>VBoxManage startvm "SERVER" --type headless
ここから再び仮想マシンにログイン。
[wanko@host ~]$ lsblk -p
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
/dev/sda                      8:0    0   16G  0 disk	★8→16
┣/dev/sda1                   8:1    0    1G  0 part /boot
┗/dev/sda2                   8:2    0    7G  0 part
  ┣/dev/mapper/centos-root 253:0    0  6.2G  0 lvm  /
  ┗/dev/mapper/centos-swap 253:1    0  820M  0 lvm  [SWAP]
/dev/sr0                     11:0    1 1024M  0 rom
[wanko@host ~]$ sudo fdisk -l

Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000bb1c4

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    16777215     7339008   8e  Linux LVM	★LVM管理

Disk /dev/mapper/centos-root: 6652 MB, 6652166144 bytes, 12992512 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: 859 MB, 859832320 bytes, 1679360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
[wanko@host ~]$ sudo 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 でヘルプ): d ←★削除
パーティション番号 (1,2, default 2): 2 ←★/dev/sda2
Partition 2 is deleted

コマンド (m でヘルプ): n ←★新規作成
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p ←★基本領域
パーティション番号 (2-4, default 2): 2 ←★/dev/sda2
最初 sector (2099200-33554431, 初期値 2099200): ←★エンターで先頭から
初期値 2099200 を使います
Last sector, +sectors or +size{K,M,G} (2099200-33554431, 初期値 33554431): ←★エンターで最後まで
初期値 33554431 を使います
Partition 2 of type Linux and of size 15 GiB is set

コマンド (m でヘルプ): t ←★種別設定
パーティション番号 (1,2, default 2): 2 ←★/dev/sda2
Hex code (type L to list all codes): L ←★種別一覧

 0  空              24  NEC DOS         81  Minix / 古い Li bf  Solaris
 1  FAT12           27  Hidden NTFS Win 82  Linux スワップ  c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隠し C: ド c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 拡張領域  c7  Syrinx
 5  拡張領域        41  PPC PReP Boot   86  NTFS ボリューム da  非 FS データ
 6  FAT16           42  SFS             87  NTFS ボリューム db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux プレーン  de  Dell ユーティリ
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt
 9  AIX ブート可能  4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access
 a  OS/2 ブートマネ 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad ハ eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
 f  W95 拡張領域 (L 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隠し FAT12      56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 診断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隠し FAT16 <32M 61  SpeedStor       ab  Darwin ブート   f2  DOS セカンダリ
16  隠し FAT16      63  GNU HURD または af  HFS / HFS+      fb  VMware VMFS
17  隠し HPFS/NTFS  64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI スワップ   fd  Linux raid 自動
1b  隠し W95 FAT32  70  DiskSecure Mult bb  隠し Boot Wizar fe  LANstep
1c  隠し W95 FAT32  75  PC/IX           be  Solaris ブート  ff  BBT
1e  隠し W95 FAT16  80  古い Minix
Hex code (type L to list all codes): 8e ←★Linux LVM
Changed type of partition 'Linux' to 'Linux LVM'

コマンド (m でヘルプ): p ←★変更後情報

Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000bb1c4

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    33554431    15727616   8e  Linux LVM	★

コマンド (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)
ディスクを同期しています。
対象仮想マシンを再起動。
[wanko@host ~]$ sudo reboot
再び仮想マシンにログイン。
[wanko@host ~]$ lsblk -p
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
/dev/sda                      8:0    0   16G  0 disk
┣/dev/sda1                   8:1    0    1G  0 part /boot
┗/dev/sda2                   8:2    0   15G  0 part★7→15
  ┣/dev/mapper/centos-root 253:0    0  6.2G  0 lvm  /
  ┗/dev/mapper/centos-swap 253:1    0  820M  0 lvm  [SWAP]
/dev/sr0                     11:0    1 1024M  0 rom
●PV物理ディスク(PisicalVolume)拡張 pvresize コマンド
pvresize <最終パーティションのPV名>
物理ボリューム「/dev/sda2」を最大サイズに変更
[wanko@host ~]$ sudo pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[wanko@host ~]$ df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
devtmpfs                  484M     0  484M    0% /dev
tmpfs                     496M  8.0K  496M    1% /dev/shm
tmpfs                     496M  6.7M  489M    2% /run
tmpfs                     496M     0  496M    0% /sys/fs/cgroup
/dev/mapper/centos-root   6.2G  4.7G  1.6G   76% /
/dev/sda1                1014M  136M  879M   14% /boot
tmpfs                     100M     0  100M    0% /run/user/1000
[wanko@host ~]$ sudo pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <15.00g 8.00g	★7→15
[wanko@host ~]$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <15.00 GiB / not usable 2.00 MiB	★7→15
  Allocatable           yes	★
  PE Size               4.00 MiB
  Total PE              3839	★
  Free PE               2048	★
  Allocated PE          1791
  PV UUID               dt1IcN-e3B6-wACA-Q8df-yDuu-9tfN-2kCumi
[wanko@host ~]$ sudo vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <15.00g 8.00g	★7→15
[wanko@host ~]$ sudo vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4	★
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <15.00 GiB	★
  PE Size               4.00 MiB
  Total PE              3839	★
  Alloc PE / Size       1791 / <7.00 GiB
  Free  PE / Size       2048 / 8.00 GiB	★
  VG UUID               m3HcVl-8n22-kEfa-AGHL-zrL0-lnkV-Y3PVND
●LV論理ボリューム(LogialVolume)拡張 lvextend コマンド
lvextend -l <割り当てたいPE数> <拡張したいLV>
ボリュームグループ「mapper」の空き容量全て(+100%FREE)を論理ボリューム「centos-root」に追加する
[wanko@host ~]$ sudo lvextend -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from <6.20 GiB (1586 extents) to <14.20 GiB (3634 extents).
  Logical volume centos/root successfully resized.
[wanko@host ~]$ df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
devtmpfs                  484M     0  484M    0% /dev
tmpfs                     496M  8.0K  496M    1% /dev/shm
tmpfs                     496M  6.8M  489M    2% /run
tmpfs                     496M     0  496M    0% /sys/fs/cgroup
/dev/mapper/centos-root   6.2G  4.7G  1.6G   76% /
/dev/sda1                1014M  136M  879M   14% /boot
tmpfs                     100M     0  100M    0% /run/user/1000
tmpfs                     100M     0  100M    0% /run/user/0
[wanko@host ~]$ sudo pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <15.00g    0	★8→0
[wanko@host ~]$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <15.00 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)	★
  PE Size               4.00 MiB
  Total PE              3839
  Free PE               0	★
  Allocated PE          3839	★
  PV UUID               dt1IcN-e3B6-wACA-Q8df-yDuu-9tfN-2kCumi
[wanko@host ~]$ sudo vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <15.00g    0	★8→0
[wanko@host ~]$ sudo vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5	★4→5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <15.00 GiB
  PE Size               4.00 MiB
  Total PE              3839
  Alloc PE / Size       3839 / <15.00 GiB	★
  Free  PE / Size       0 / 0	★
  VG UUID               m3HcVl-8n22-kEfa-AGHL-zrL0-lnkV-Y3PVND
[wanko@host ~]$ sudo lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <14.20g	★
  swap centos -wi-ao---- 820.00m
[wanko@host ~]$ sudo lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                dFyiTa-lXFO-k7Vn-x8FX-GoEb-XMdu-0ljEBc
  LV Write Access        read/write
  LV Creation host, time syllabus.localdomain, 2020-03-07 08:31:36 +0900
  LV Status              available
  # open                 2
  LV Size                820.00 MiB
  Current LE             205
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                PRmv25-tE1c-RcuZ-7vCY-x0i7-CjcI-JRoPd6
  LV Write Access        read/write
  LV Creation host, time syllabus.localdomain, 2020-03-07 08:31:36 +0900
  LV Status              available
  # open                 1
  LV Size                <14.20 GiB	★
  Current LE             3634	★
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
[wanko@host ~]$ lsblk -p
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
/dev/sda                      8:0    0   16G  0 disk
┣/dev/sda1                   8:1    0    1G  0 part /boot
┗/dev/sda2                   8:2    0   15G  0 part
  ┣/dev/mapper/centos-root 253:0    0 14.2G  0 lvm  /	★6.2>14.2
  ┗/dev/mapper/centos-swap 253:1    0  820M  0 lvm  [SWAP]
/dev/sr0                     11:0    1 1024M  0 rom
●論理ボリューム上のファイルシステムをリサイズ
xfs_growfs /dev/<拡張したいLV>
[wanko@host ~]$ sudo xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=406016 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1624064, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1624064 to 3721216
[wanko@host ~]$ df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
devtmpfs                  484M     0  484M    0% /dev
tmpfs                     496M  8.0K  496M    1% /dev/shm
tmpfs                     496M  6.8M  489M    2% /run
tmpfs                     496M     0  496M    0% /sys/fs/cgroup
/dev/mapper/centos-root    15G  4.5G  9.7G   32% /	★6.2>15
/dev/sda1                1014M  136M  879M   14% /boot
tmpfs                     100M     0  100M    0% /run/user/1000
tmpfs                     100M     0  100M    0% /run/user/0
 無事完了。

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/7734

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)