
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 としてデフォルト構成でインストールした状態の各情報。
仮想マシンを停止。
●コマンド「VBoxManage」へ環境変数「path」を追加。
●仮想マシンの対象仮想ハードディスクを確認。
●vdi形式の対象仮想ハードディスクを 16GB x 1024 = 16384 へ変換(vdi形式でない場合事前に変換が必要)。
pvresize <最終パーティションのPV名>
物理ボリューム「/dev/sda2」を最大サイズに変更
lvextend -l <割り当てたいPE数> <拡張したいLV>
ボリュームグループ「mapper」の空き容量全て(+100%FREE)を論理ボリューム「centos-root」に追加する
xfs_growfs /dev/<拡張したいLV>
[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 romcentos7のファイルシステムを確認。
[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 nowWindows の 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無事完了。