这是多日来第一次成功的操作。海康定制版与纯净版 CentOS,系统目录有区别。海康 OS 使用 Device mapper 机制管理安装目录(逻辑分区),扩容的话,就是增加这个逻辑分区的容量。
一、纯净版 CentOS 7.6 扩容默认分区 /dev/vda1 很容易
[Bash shell] 纯文本查看 复制代码 [root@iZuf6erq7yws017f57i8ayZ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.9G 17G 10% /
devtmpfs 234M 0 234M 0% /dev
tmpfs 244M 0 244M 0% /dev/shm
tmpfs 244M 428K 244M 1% /run
tmpfs 244M 0 244M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/0
步骤1:扩容分区
yum install -y cloud-utils-growpart
[root@iZuf6erq7yws017f57i8ayZ ~]# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=41940992 end=41943040 new: size=62912479 end=62914527
步骤2:扩容文件系统,扩容系统盘 /dev/vda1 的文件系统。
resize2fs /dev/vda1
[C] 纯文本查看 复制代码 [root@iZuf6erq7yws017f57i8ayZ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 30G 2.0G 27G 7% /
devtmpfs 234M 0 234M 0% /dev
tmpfs 244M 0 244M 0% /dev/shm
tmpfs 244M 428K 244M 1% /run
tmpfs 244M 0 244M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/0
二、海康定制版 CentOS 7.6 扩容根目录(位于逻辑卷 /dev/mapper/centos_hikvisionos-root)
这是初始状态:
[Bash shell] 纯文本查看 复制代码 [root@HikvisionOS hik]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 8.5M 3.7G 1% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/mapper/centos_hikvisionos-root 18G 2.4G 16G 14% /
/dev/vda2 1014M 177M 838M 18% /boot
/dev/vda5 128M 4.0K 128M 1% /boot/efi
/dev/mapper/centos_hikvisionos-opt 18G 33M 18G 1% /opt
[root@HikvisionOS ~]# ls /dev/vd*
/dev/vda /dev/vda1 /dev/vda2 /dev/vda3 /dev/vda4 /dev/vda5 /dev/vda6 /dev/vdb /dev/vdb1
[root@HikvisionOS hik]# vgs
VG #PV #LV #SN Attr VSize VFree
centos_hikvisionos 1 2 0 wz--n- 34.99g 0
开始操作:
首先,创建一个物理卷(physical volume,PV)
[root@HikvisionOS hik]# pvcreate /dev/vdb1 [这是加进来的一个 50GB 阿里云盘]
WARNING: ext4 signature detected on /dev/vdb1 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/vdb1.
Physical volume "/dev/vdb1" successfully created.
然后,把PV加入到一个卷组(volume group,VG)中,相当于扩充VG的大小
[root@HikvisionOS hik]# vgextend centos_hikvisionos /dev/vdb1
Volume group "centos_hikvisionos" successfully extended
再次查看 VG 信息
[root@HikvisionOS hik]# vgs
VG #PV #LV #SN Attr VSize VFree
centos_hikvisionos 2 2 0 wz--n- <84.99g <50.00g
这个时候,变更不生效。需要使用lvextend命令,扩展LV
[root@HikvisionOS hik]# lvextend -L +50G /dev/mapper/centos_hikvisionos
"/dev/mapper/centos_hikvisionos": Invalid path for Logical Volume.
Run `lvextend --help' for more information.
[root@HikvisionOS hik]# lvextend -L +50G /dev/centos_hikvisionos
"/dev/centos_hikvisionos": Invalid path for Logical Volume.
Run `lvextend --help' for more information.
[root@HikvisionOS hik]# lvextend -L +50G /dev/mapper/centos_hikvisionos-root
Insufficient free space: 12800 extents needed, but only 12799 available
微调一下尺寸,终于成功了。
[root@HikvisionOS hik]# lvextend -L +49G /dev/mapper/centos_hikvisionos-root
Size of logical volume centos_hikvisionos/root changed from <17.50 GiB (4479 extents) to <66.50 GiB (17023 extents).
Logical volume centos_hikvisionos/root successfully resized.
最后一步才是成功扩容
[root@HikvisionOS hik]# xfs_growfs /dev/mapper/centos_hikvisionos-root
meta-data=/dev/mapper/centos_hikvisionos-root isize=512 agcount=4, agsize=1146624 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4586496, 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 4586496 to 17431552
比较一下效果
[C] 纯文本查看 复制代码 [root@HikvisionOS hik]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 8.5M 3.7G 1% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/mapper/centos_hikvisionos-root 67G 2.4G 65G 4% /
/dev/vda2 1014M 177M 838M 18% /boot
/dev/vda5 128M 4.0K 128M 1% /boot/efi
/dev/mapper/centos_hikvisionos-opt 18G 33M 18G 1% /opt
需要说明:本方法加进来的云盘,如果卸载,会造成系统无法启动损坏!
VNC 控制台报错:
[FAILED] Failed to mount /sysroot.
Buffer I/O error on dev dm-1, logical block 17431535, async page read
=======================
主要参照了两篇网文:
1. Linux系统/dev/mapper目录浅谈(讲得很好,逻辑卷的方式就是动态分配硬盘空间了)
https://blog.csdn.net/u011495642/article/details/80197155
2. 虚拟机 /dev/mapper/centos-root 动态扩容
https://www.cnblogs.com/wjoyxt/p/11573464.html
|