增加物理存储
将新扩容的100GB空间进行fdisk分区,或者直接使用pvcreate 建立物理卷
建立物理卷(可选,建议用fdisk分区)
pvcreate /dev/sdb
fdisk分区
lsblk可以看到硬盘变成300GB,但是分区还是sda1和sda2共200GB,利用fdisk对sda进行分区,将扩容空间创建为新的sda3分区
(base) [root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 199.5G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
└─centos-home 253:2 0 141.6G 0 lvm /home
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 100G 0 loop
└─docker-253:0-76908-pool 253:3 0 100G 0 dm
├─docker-253:0-76908-6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463
├─docker-253:0-76908-b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68
└─docker-253:0-76908-9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c
loop1 7:1 0 2G 0 loop
└─docker-253:0-76908-pool 253:3 0 100G 0 dm
├─docker-253:0-76908-6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463
├─docker-253:0-76908-b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68
└─docker-253:0-76908-9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c
(base) [root@localhost ~]# 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.
Command (m for help): p
Disk /dev/sda: 322.1 GB, 322122547200 bytes, 629145600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000696e6
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 419430399 209202176 8e Linux LVM
Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
Partition number (3,4, default 3):
First sector (419430400-629145599, default 419430400):
Using default value 419430400
Last sector, +sectors or +size{K,M,G} (419430400-629145599, default 629145599):
Using default value 629145599
Partition 3 of type Linux and of size 100 GiB is set
分区操作后,先输入p,查看下分区表无误后,再执行w命令写入
Command (m for help): p
Disk /dev/sda: 322.1 GB, 322122547200 bytes, 629145600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000696e6
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 419430399 209202176 8e Linux LVM
/dev/sda3 419430400 629145599 104857600 83 Linux
可以看到新的30GB空间已经分区完成为/dev/sda3,执行w 写入
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
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)
Syncing disks.
提示设备忙,需要reboot重启生效,执行reboot重启
再次查看
(base) [root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 199.5G 0 part
│ ├─centos-root 253:0 0 50G 0 lvm /
│ ├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
│ └─centos-home 253:2 0 141.6G 0 lvm /home
└─sda3 8:3 0 100G 0 part
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 100G 0 loop
└─docker-253:0-76908-pool 253:3 0 100G 0 dm
├─docker-253:0-76908-b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68
├─docker-253:0-76908-6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463
└─docker-253:0-76908-9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c
loop1 7:1 0 2G 0 loop
└─docker-253:0-76908-pool 253:3 0 100G 0 dm
├─docker-253:0-76908-b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68
├─docker-253:0-76908-6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463
└─docker-253:0-76908-9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c
将扩容的分区添加到需要扩容的卷组中
查看卷组
(base) [root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- <199.51g 64.00m
当前虚拟机有一个卷组centos
查看物理卷
(base) [root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <199.51g 64.00m
一个物理卷/dev/sda2输入卷组centos
利用vgextend命令将新的分区添加到目标卷组centos中
(base) [root@localhost ~]# vgextend centos /dev/sda3
Physical volume "/dev/sda3" successfully created.
Volume group "centos" successfully extended
再次查看卷组
(base) [root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 3 0 wz--n- 299.50g <100.06g
可以看到容量已经扩到50GB
将扩容的空间添加到目标逻辑卷
查看逻辑卷
(base) [root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- 141.57g
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- <7.88g
详细查看使用lvdisplay
(base) [root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID W4yCF3-wuNM-Kild-TemT-KcAC-24uz-MNkC25
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-05-14 05:56:45 +0800
LV Status available
# open 2
LV Size <7.88 GiB
Current LE 2016
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/home
LV Name home
VG Name centos
LV UUID u7E5Y7-90bS-7diU-P7UP-T2M6-sTpa-tEob12
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-05-14 05:56:45 +0800
LV Status available
# open 1
LV Size 141.57 GiB
Current LE 36242
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID nvNTNB-dtCa-alny-CYBS-mHqU-RBhr-GIOcjG
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-05-14 05:56:46 +0800
LV Status available
# open 1
LV Size 50.00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
使用lvextend命令进行逻辑卷扩容
(base) [root@localhost ~]# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to <150.06 GiB (38415 extents).
Logical volume centos/root successfully resized.
使用lsblk命令查看
(base) [root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 199.5G 0 part
│ ├─centos-root 253:0 0 150.1G 0 lvm /
│ ├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
│ └─centos-home 253:2 0 141.6G 0 lvm /home
└─sda3 8:3 0 100G 0 part
└─centos-root 253:0 0 150.1G 0 lvm /
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 100G 0 loop
└─docker-253:0-76908-pool 253:3 0 100G 0 dm
├─docker-253:0-76908-b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68
├─docker-253:0-76908-6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463
└─docker-253:0-76908-9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c
loop1 7:1 0 2G 0 loop
└─docker-253:0-76908-pool 253:3 0 100G 0 dm
├─docker-253:0-76908-b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68 253:4 0 10G 0 dm /var/lib/docker/devicemapper/mnt/b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68
├─docker-253:0-76908-6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463 253:5 0 10G 0 dm /var/lib/docker/devicemapper/mnt/6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463
└─docker-253:0-76908-9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c 253:6 0 10G 0 dm /var/lib/docker/devicemapper/mnt/9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c
发现/dev/sda3已经扩容到centos-root逻辑卷中,现在逻辑卷容量为150.1G.
创建文件系统
查看当前文件系统
(base) [root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat May 14 05:56:47 2022
#
# 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=81551a02-4d71-4691-a1a4-2a35496ee1a7 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
根目录为xfs文件系统,使用xfs_growfs命令进行扩容
(base) [root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 39336960
再次查看磁盘
(base) [root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 16K 5.8G 1% /dev/shm
tmpfs 5.8G 9.2M 5.8G 1% /run
tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 151G 45G 106G 30% /
/dev/sda1 497M 211M 287M 43% /boot
/dev/mapper/centos-home 142G 33M 142G 1% /home
/dev/dm-4 10G 709M 9.3G 7% /var/lib/docker/devicemapper/mnt/b1b6f8238658349512a27061fc1ccaa59fdbcf9244c7319f7d98b8dd39231c68
/dev/dm-5 10G 907M 9.2G 9% /var/lib/docker/devicemapper/mnt/6487ee88cff7f7df32b6de854dce4a5bbf8d9be5b75d6c934b25458503954463
/dev/dm-6 10G 1.1G 9.0G 11% /var/lib/docker/devicemapper/mnt/9b2576df31fd36f7c031fbf7a11ff02f508d8e51cf8c8e1f18f2a86fe0fdf42c
tmpfs 1.2G 0 1.2G 0% /run/user/0
根目录已经扩容。