场景
服务提供商提供的Linux服务器自带CentOS7.6系统,存在空闲的逻辑卷(400G),准备删除空闲的逻辑卷,扩展根分区对应的逻辑卷
前言
传统的分区,例如/dev/sda1等使用固定大小的分区,重新调整大小十分困难,并且会影响到已有的数据。逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。
例如
[root@web ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 4.2G 46G 9% /
说明:根文件系统就挂载在逻辑卷/dev/mapper/centos-root
查看当前有哪些逻辑卷组
[root@web ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 9 VG Access read/write VG Status resizable MAX LV 0 Cur LV 6 Open LV 6 Max PV 0 Cur PV 1 Act PV 1 VG Size 498.80 GiB PE Size 4.00 MiB Total PE 127693 Alloc PE / Size 104448 / 408.00 GiB Free PE / Size 23245 / 90.80 GiB VG UUID NJ00md-D6JB-WGg3-PDZ2-NsE3-fBzK-Y3IjqA
任务说明
当前环境中存在多个空闲的逻辑卷提供给docker使用,实际上并没有在项目上使用,只是安装系统默认分配的,因此全部删除,并且扩容到根分区的逻辑卷/dev/mapper/centos-root
[root@web ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 7.7G 0 7.7G 0% /dev tmpfs tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs tmpfs 7.7G 23M 7.7G 1% /run tmpfs tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 50G 4.2G 46G 9% / /dev/vda2 xfs 1014M 123M 892M 13% /boot /dev/vda1 vfat 200M 9.9M 190M 5% /boot/efi /dev/mapper/centos-cce_log_lv xfs 50G 33M 50G 1% /var/paas/log /dev/mapper/centos-cce_run_lv xfs 50G 33M 50G 1% /var/paas/run /dev/mapper/centos-cce_data_lv xfs 50G 33M 50G 1% /var/paas/data /dev/mapper/centos-cce_docker_lv xfs 200G 33M 200G 1% /var/lib/docker tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
步骤一:卸载逻辑卷的挂载(切莫在如下的路径下操作,最好回到根目录)
[root@web ~]# umount /var/paas/log/ [root@web ~]# umount /var/paas/run/ [root@web ~]# umount /var/paas/data/ [root@web ~]# umount /var/lib/docker/
步骤二:删除逻辑卷
[root@web ~]# lvremove /dev/mapper/centos-cce_log_lv Do you really want to remove active logical volume centos/cce_log_lv? [y/n]: y Logical volume "cce_log_lv" successfully removed [root@web ~]# lvremove /dev/mapper/centos-cce_run_lv Do you really want to remove active logical volume centos/cce_run_lv? [y/n]: y Logical volume "cce_run_lv" successfully removed [root@web ~]# lvremove /dev/mapper/centos-cce_data_lv Do you really want to remove active logical volume centos/cce_data_lv? [y/n]: y Logical volume "cce_data_lv" successfully removed [root@web ~]# lvremove /dev/mapper/centos-cce_docker_lv Do you really want to remove active logical volume centos/cce_docker_lv? [y/n]: y Logical volume "cce_docker_lv" successfully removed
步骤三:删除上述的逻辑卷,逻辑卷组有350G的空闲空间,动态调整根分区对应的逻辑卷空间
[root@gb paas]# lvextend -L +350G /dev/mapper/centos-root Size of logical volume centos/root changed from 250.00 GiB (64000 extents) to 400.00 GiB (102400 exten Logical volume centos/root successfully resized.
步骤四:同步根文件系统
[root@gb paas]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=20, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=65536000, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 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 65536000 to 104857600
步骤五:修改/etc/fstab,删除无效的挂载点
/dev/mapper/centos-cce_data_lv /var/paas/data xfs defaults 0 0 /dev/mapper/centos-cce_docker_lv /var/lib/docker xfs defaults 0 0 /dev/mapper/centos-cce_log_lv /var/paas/log xfs defaults 0 0 /dev/mapper/centos-cce_run_lv /var/paas/run xfs defaults 0 0
最终的显示效果,这个时候根分区的大小由原来的50G,扩展到400G
[root@gb paas]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 7.7G 0 7.7G 0% /dev tmpfs tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs tmpfs 7.7G 23M 7.7G 1% /run tmpfs tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 400G 1.3G 399G 1% / /dev/vda2 xfs 1014M 123M 892M 13% /boot /dev/vda1 vfat 200M 9.9M 190M 5% /boot/efi tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0