雨研员工讨论版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 147|回复: 0

海康定制版 CentOS 7.6 根目录扩容纪实

[复制链接]

148

主题

395

帖子

3599

积分

员工

Rank: 9Rank: 9Rank: 9

积分
3599
 楼主| 发表于 2021-8-19 11:58 | 显示全部楼层 |阅读模式
这是多日来第一次成功的操作。海康定制版与纯净版 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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|雨研员工讨论版

GMT+8, 2026-4-1 16:28 , Processed in 0.081895 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表