ODA服务器RAC节点2/u01分区在线扩容操作记录及后续处理流程(Linux LVM + ext4 文件系统在线扩容操作手册)_20260307

1、实操过程记录:

bash 复制代码
开始连接到ODA
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Mar  7 16:23:39 2026
[root@teimes2 ~]# df -h
Filesystem                          Size  Used Avail Use% Mounted on
devtmpfs                            252G  240K  252G   1% /dev
tmpfs                               252G  8.5G  243G   4% /dev/shm
tmpfs                               252G  4.1G  248G   2% /run
tmpfs                               252G     0  252G   0% /sys/fs/cgroup
/dev/mapper/VolGroupSys-LogVolRoot   50G  9.3G   38G  20% /
/dev/mapper/VolGroupSys-LogVolU01    59G   45G   12G  80% /u01
/dev/md0p2                          488M  197M  255M  44% /boot
/dev/mapper/VolGroupSys-LogVolOpt    30G  9.7G   19G  35% /opt
/dev/md0p1                          511M  6.0M  505M   2% /boot/efi
tmpfs                                51G  4.0K   51G   1% /run/user/0
tmpfs                                51G     0   51G   0% /run/user/1000
/dev/asm/acfsclone-116              150G   14G  137G   9% /opt/oracle/oak/pkgrepos/orapkgs/clones
/dev/asm/commonstore-116            5.0G  559M  4.5G  11% /opt/oracle/dcs/commonstore
/dev/asm/odabase_n0-116              10G  7.0G  3.1G  70% /u01/app/odaorabase0
/dev/asm/odabase_n1-116              10G  6.4G  3.7G  64% /u01/app/odaorabase1
/dev/asm/orahome_sh-116              80G   14G   67G  18% /u01/app/odaorahome
/dev/asm/vol01-116                  300G   52G  249G  18% /u02
tmpfs                                51G     0   51G   0% /run/user/1001
[root@teimes2 ~]# ipmitool sunoem cli 'show /System/Open_Problems'
Connected. Use ^D to exit.
-> show /System/Open_Problems

Open Problems (0)
Date/Time                 Subsystems          Component
------------------------  ------------------  ------------

-> Session closed
Disconnected
[root@teimes2 ~]# odaadmcli show storage
==== BEGIN STORAGE DUMP ========
Host Description: Oracle Corporation:ORACLE SERVER E6-2L
Total number of controllers: 2
        Id         = 1
        Serial Num = SPC4322433
        Vendor     = LSI Logic
        Model      = ORCL_9500-8e
        FwVers     = 23.00.01.00
        strId      = mpt3sas:61:00.0

        Id         = 0
        Serial Num = SPC4319424
        Vendor     = LSI Logic
        Model      = ORCL_9500-8e
        FwVers     = 23.00.01.00
        strId      = mpt3sas:e1:00.0

Total number of expanders: 2
        Id         = 1
        Serial Num = 50800200028bc784
        Vendor     = ORACLE
        Model      = DE3-24C
        FwVers     = 2431
        strId      = Primary
        WWN        = 5080020002811e7e

        Id         = 0
        Serial Num = 50800200028bc784
        Vendor     = ORACLE
        Model      = DE3-24C
        FwVers     = 2431
        strId      = Secondary
        WWN        = 5080020002816a7e

Total number of PDs: 24
        /dev/sda        SAMSUNG           SSD  7681gb slot:  0  exp:  0   MSCAC2DD2ORA7.6T
        /dev/sdb        SAMSUNG           SSD  7681gb slot:  1  exp:  0   MSCAC2DD2ORA7.6T
        /dev/sdf        SAMSUNG           SSD  7681gb slot:  2  exp:  0   MSCAC2DD2ORA7.6T
        /dev/sdd        SAMSUNG           SSD  7681gb slot:  3  exp:  0   MSCAC2DD2ORA7.6T
        /dev/sdc        SAMSUNG           SSD  7681gb slot:  4  exp:  0   MSCAC2DD2ORA7.6T
        /dev/sde        SAMSUNG           SSD  7681gb slot:  5  exp:  0   MSCAC2DD2ORA7.6T
        Disk is missing in the  slot: 6
        Disk is missing in the  slot: 7
        Disk is missing in the  slot: 8
        Disk is missing in the  slot: 9
        Disk is missing in the  slot: 10
        Disk is missing in the  slot: 11
        Disk is missing in the  slot: 12
        Disk is missing in the  slot: 13
        Disk is missing in the  slot: 14
        Disk is missing in the  slot: 15
        Disk is missing in the  slot: 16
        Disk is missing in the  slot: 17
        Disk is missing in the  slot: 18
        Disk is missing in the  slot: 19
        Disk is missing in the  slot: 20
        Disk is missing in the  slot: 21
        Disk is missing in the  slot: 22
        Disk is missing in the  slot: 23
==== END STORAGE DUMP =========
[root@teimes2 ~]# odaadmcli show disk
        NAME            PATH            TYPE            STATE           STATE_DETAILS
 
        e0_pd_00        /dev/sda        SSD             ONLINE          Good           
        e0_pd_01        /dev/sdb        SSD             ONLINE          Good           
        e0_pd_02        /dev/sdf        SSD             ONLINE          Good           
        e0_pd_03        /dev/sdd        SSD             ONLINE          Good           
        e0_pd_04        /dev/sdc        SSD             ONLINE          Good           
        e0_pd_05        /dev/sde        SSD             ONLINE          Good           
[root@teimes2 ~]# 
[root@teimes2 ~]# 
[root@teimes2 ~]# df  -Th
Filesystem                         Type      Size  Used Avail Use% Mounted on
devtmpfs                           devtmpfs  252G  240K  252G   1% /dev
tmpfs                              tmpfs     252G  8.5G  243G   4% /dev/shm
tmpfs                              tmpfs     252G  4.1G  248G   2% /run
tmpfs                              tmpfs     252G     0  252G   0% /sys/fs/cgroup
/dev/mapper/VolGroupSys-LogVolRoot ext4       50G  9.3G   38G  20% /
/dev/mapper/VolGroupSys-LogVolU01  ext4       59G   45G   12G  80% /u01
/dev/md0p2                         ext4      488M  197M  255M  44% /boot
/dev/mapper/VolGroupSys-LogVolOpt  ext4       30G  9.7G   19G  35% /opt
/dev/md0p1                         vfat      511M  6.0M  505M   2% /boot/efi
tmpfs                              tmpfs      51G  4.0K   51G   1% /run/user/0
tmpfs                              tmpfs      51G     0   51G   0% /run/user/1000
/dev/asm/acfsclone-116             acfs      150G   14G  137G   9% /opt/oracle/oak/pkgrepos/orapkgs/clones
/dev/asm/commonstore-116           acfs      5.0G  559M  4.5G  11% /opt/oracle/dcs/commonstore
/dev/asm/odabase_n0-116            acfs       10G  7.0G  3.1G  70% /u01/app/odaorabase0
/dev/asm/odabase_n1-116            acfs       10G  6.4G  3.7G  64% /u01/app/odaorabase1
/dev/asm/orahome_sh-116            acfs       80G   14G   67G  18% /u01/app/odaorahome
/dev/asm/vol01-116                 acfs      300G   52G  249G  18% /u02
tmpfs                              tmpfs      51G     0   51G   0% /run/user/1001
[root@teimes2 ~]# 
[root@teimes2 ~]# df -Th /u01
Filesystem                        Type  Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01 ext4   59G   45G   12G  80% /u01
[root@teimes2 ~]# vgs
  VG          #PV #LV #SN Attr   VSize   VFree  
  VolGroupSys   1   4   0 wz--n- 446.00g 282.00g
[root@teimes2 ~]# lvs
  LV         VG          Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LogVolOpt  VolGroupSys -wi-ao---- 30.00g                                                    
  LogVolRoot VolGroupSys -wi-ao---- 50.00g                                                    
  LogVolSwap VolGroupSys -wi-ao---- 24.00g                                                    
  LogVolU01  VolGroupSys -wi-ao---- 60.00g                                                    
[root@teimes2 ~]# pvs
  PV         VG          Fmt  Attr PSize   PFree  
  /dev/md0p3 VolGroupSys lvm2 a--  446.00g 282.00g
[root@teimes2 ~]# 
[root@teimes2 ~]# 
[root@teimes2 ~]# df -Th /u01
Filesystem                        Type  Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01 ext4   59G   45G   12G  80% /u01
[root@teimes2 ~]# lvdisplay /dev/VolGroupSys/LogVolU01
  --- Logical volume ---
  LV Path                /dev/VolGroupSys/LogVolU01
  LV Name                LogVolU01
  VG Name                VolGroupSys
  LV UUID                F0WILH-68XV-mBel-Ai96-rUwa-cLUx-AHYWvI
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2025-10-18 17:37:24 +0800
  LV Status              available
  # open                 1
  LV Size                60.00 GiB
  Current LE             1920
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:3
   
[root@teimes2 ~]# df -h
Filesystem                          Size  Used Avail Use% Mounted on
devtmpfs                            252G  240K  252G   1% /dev
tmpfs                               252G  8.5G  243G   4% /dev/shm
tmpfs                               252G  4.1G  248G   2% /run
tmpfs                               252G     0  252G   0% /sys/fs/cgroup
/dev/mapper/VolGroupSys-LogVolRoot   50G  9.3G   38G  20% /
/dev/mapper/VolGroupSys-LogVolU01    59G   45G   12G  80% /u01
/dev/md0p2                          488M  197M  255M  44% /boot
/dev/mapper/VolGroupSys-LogVolOpt    30G  9.7G   19G  35% /opt
/dev/md0p1                          511M  6.0M  505M   2% /boot/efi
tmpfs                                51G  4.0K   51G   1% /run/user/0
tmpfs                                51G     0   51G   0% /run/user/1000
/dev/asm/acfsclone-116              150G   14G  137G   9% /opt/oracle/oak/pkgrepos/orapkgs/clones
/dev/asm/commonstore-116            5.0G  559M  4.5G  11% /opt/oracle/dcs/commonstore
/dev/asm/odabase_n0-116              10G  7.0G  3.1G  70% /u01/app/odaorabase0
/dev/asm/odabase_n1-116              10G  6.4G  3.7G  64% /u01/app/odaorabase1
/dev/asm/orahome_sh-116              80G   14G   67G  18% /u01/app/odaorahome
/dev/asm/vol01-116                  300G   52G  249G  18% /u02
tmpfs                                51G     0   51G   0% /run/user/1001
[root@teimes2 ~]# lvextend -L +20G /dev/VolGroupSys/LogVolU01
  Size of logical volume VolGroupSys/LogVolU01 changed from 60.00 GiB (1920 extents) to 80.00 GiB (2560 extents).
  Logical volume VolGroupSys/LogVolU01 successfully resized.
[root@teimes2 ~]# resize2fs /dev/VolGroupSys/LogVolU01
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/VolGroupSys/LogVolU01 is mounted on /u01; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 10
The filesystem on /dev/VolGroupSys/LogVolU01 is now 20971520 (4k) blocks long.

[root@teimes2 ~]# df -Th /u01
Filesystem                        Type  Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01 ext4   79G   45G   31G  60% /u01
[root@teimes2 ~]# lvextend -L +20G /dev/VolGroupSys/LogVolU01
  Size of logical volume VolGroupSys/LogVolU01 changed from 80.00 GiB (2560 extents) to 100.00 GiB (3200 extents).
  Logical volume VolGroupSys/LogVolU01 successfully resized.
[root@teimes2 ~]# resize2fs /dev/VolGroupSys/LogVolU01
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/VolGroupSys/LogVolU01 is mounted on /u01; on-line resizing required
old_desc_blocks = 10, new_desc_blocks = 13
The filesystem on /dev/VolGroupSys/LogVolU01 is now 26214400 (4k) blocks long.

[root@teimes2 ~]# df -Th /u01
Filesystem                        Type  Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01 ext4   99G   45G   50G  48% /u01
[root@teimes2 ~]# df -h
Filesystem                          Size  Used Avail Use% Mounted on
devtmpfs                            252G  240K  252G   1% /dev
tmpfs                               252G  8.5G  243G   4% /dev/shm
tmpfs                               252G  4.1G  248G   2% /run
tmpfs                               252G     0  252G   0% /sys/fs/cgroup
/dev/mapper/VolGroupSys-LogVolRoot   50G  9.3G   38G  20% /
/dev/mapper/VolGroupSys-LogVolU01    99G   45G   50G  48% /u01
/dev/md0p2                          488M  197M  255M  44% /boot
/dev/mapper/VolGroupSys-LogVolOpt    30G  9.7G   19G  35% /opt
/dev/md0p1                          511M  6.0M  505M   2% /boot/efi
tmpfs                                51G  4.0K   51G   1% /run/user/0
tmpfs                                51G     0   51G   0% /run/user/1000
/dev/asm/acfsclone-116              150G   14G  137G   9% /opt/oracle/oak/pkgrepos/orapkgs/clones
/dev/asm/commonstore-116            5.0G  559M  4.5G  11% /opt/oracle/dcs/commonstore
/dev/asm/odabase_n0-116              10G  7.0G  3.1G  70% /u01/app/odaorabase0
/dev/asm/odabase_n1-116              10G  6.4G  3.7G  64% /u01/app/odaorabase1
/dev/asm/orahome_sh-116              80G   14G   67G  18% /u01/app/odaorahome
/dev/asm/vol01-116                  300G   52G  249G  18% /u02
tmpfs                                51G     0   51G   0% /run/user/1001
[root@teimes2 ~]# lvs
  LV         VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LogVolOpt  VolGroupSys -wi-ao----  30.00g                                                    
  LogVolRoot VolGroupSys -wi-ao----  50.00g                                                    
  LogVolSwap VolGroupSys -wi-ao----  24.00g                                                    
  LogVolU01  VolGroupSys -wi-ao---- 100.00g                                                    
[root@teimes2 ~]# 

2、Linux LVM + ext4 文件系统在线扩容操作手册

按以上真实操作过程,整理成一份能直接留档、下次也能复用的ODA生产环境 /u01 在线扩容操作手册。

bash 复制代码
Linux LVM + ext4 文件系统在线扩容操作手册
适用场景:生产环境 /u01 挂载点空间使用率较高,底层为 LVM 逻辑卷,文件系统为 ext4
适用主机:teimes2(生产 ODA 二节点)
操作用户:root

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
一、操作目的
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
当 /u01 分区空间使用率较高时,在不重启服务器、不卸载文件系统的前提下,
对 LVM 逻辑卷及 ext4 文件系统进行在线扩容,缓解空间压力,保障业务稳定运行。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
二、适用前提
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 挂载点对应的是 LVM 逻辑卷
2. 文件系统类型为 ext4
3. 所在卷组(VG)有足够空闲空间可供扩容
4. 当前系统及业务运行正常
5. 建议在业务相对平稳时段操作
6. 建议使用 root 用户操作
7. 建议在 tmux / screen 会话中执行,避免 SSH 中断

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
三、扩容前检查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 查看挂载点及文件系统类型
df -Th /u01

参考输出:
/dev/mapper/VolGroupSys-LogVolU01 ext4 59G 45G 12G 80% /u01

2. 查看卷组剩余空间
vgs

参考输出:
VG          #PV #LV #SN Attr   VSize   VFree
VolGroupSys   1   4   0 wz--n- 446.00g 282.00g

3. 查看逻辑卷信息
lvs

参考输出:
LV         VG          Attr       LSize
LogVolU01  VolGroupSys -wi-ao---- 60.00g

4. 查看物理卷信息
pvs

参考输出:
PV         VG          Fmt  Attr PSize   PFree
/dev/md0p3 VolGroupSys lvm2 a--  446.00g 282.00g

5. 确认目标逻辑卷路径
lvdisplay /dev/VolGroupSys/LogVolU01

确认项:
- LV Path 为 /dev/VolGroupSys/LogVolU01
- LV Name 为 LogVolU01
- VG Name 为 VolGroupSys
- LV Status 为 available

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
四、风险提示
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 本次操作属于 LVM + ext4 在线扩容,正常情况下无需重启,不影响业务运行
2. 生产环境操作前必须确认卷组空闲空间充足,避免扩容失败
3. 必须确认逻辑卷名称无误,防止误扩其它分区
4. 扩容命令执行成功后,再执行文件系统扩容命令
5. 本操作为扩容,不涉及数据删除
6. 一般不建议生产环境中直接使用 lvextend -r,建议分两步执行,便于观察和回退判断

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
五、操作步骤
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
说明:
本次实际操作共执行两轮扩容,
第一轮:60G -> 80G
第二轮:80G -> 100G

【第一轮扩容】

步骤1:扩容逻辑卷 20G
lvextend -L +20G /dev/VolGroupSys/LogVolU01

成功标志参考:
Size of logical volume VolGroupSys/LogVolU01 changed from 60.00 GiB (1920 extents) to 80.00 GiB (2560 extents).
Logical volume VolGroupSys/LogVolU01 successfully resized.

步骤2:扩容 ext4 文件系统
resize2fs /dev/VolGroupSys/LogVolU01

成功标志参考:
Filesystem at /dev/VolGroupSys/LogVolU01 is mounted on /u01; on-line resizing required
The filesystem on /dev/VolGroupSys/LogVolU01 is now 20971520 (4k) blocks long.

步骤3:检查扩容结果
df -Th /u01

参考结果:
/dev/mapper/VolGroupSys-LogVolU01 ext4 79G 45G 31G 60% /u01


【第二轮扩容】

步骤4:再次扩容逻辑卷 20G
lvextend -L +20G /dev/VolGroupSys/LogVolU01

成功标志参考:
Size of logical volume VolGroupSys/LogVolU01 changed from 80.00 GiB (2560 extents) to 100.00 GiB (3200 extents).
Logical volume VolGroupSys/LogVolU01 successfully resized.

步骤5:再次扩容 ext4 文件系统
resize2fs /dev/VolGroupSys/LogVolU01

成功标志参考:
Filesystem at /dev/VolGroupSys/LogVolU01 is mounted on /u01; on-line resizing required
The filesystem on /dev/VolGroupSys/LogVolU01 is now 26214400 (4k) blocks long.

步骤6:再次检查扩容结果
df -Th /u01

参考结果:
/dev/mapper/VolGroupSys-LogVolU01 ext4 99G 45G 50G 48% /u01

步骤7:最终确认逻辑卷大小
lvs

参考结果:
LV         VG          Attr       LSize
LogVolU01  VolGroupSys -wi-ao---- 100.00g

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
六、最终结果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. /u01 挂载点已成功在线扩容
2. 逻辑卷 LogVolU01 容量由 60G 扩展至 100G
3. 文件系统 ext4 已同步扩展完成
4. /u01 使用率由 80% 降至 48%
5. 扩容过程无报错
6. 无需重启服务器
7. 业务未受影响

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
七、操作后检查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 再次确认挂载点容量
df -Th /u01

2. 再次确认逻辑卷大小
lvs

3. 如有需要,检查系统日志是否有异常
dmesg | tail -50

4. 如有数据库或应用部署在 /u01 下,可补充检查相关进程状态
ps -ef | grep -E 'oracle|asm|dcs'
根据现场业务自行调整检查项

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
八、标准命令模板(下次复用)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 扩容前检查
df -Th /u01
vgs
lvs
pvs
lvdisplay /dev/VolGroupSys/LogVolU01

2. 扩容逻辑卷(示例:增加20G)
lvextend -L +20G /dev/VolGroupSys/LogVolU01

3. 扩容 ext4 文件系统
resize2fs /dev/VolGroupSys/LogVolU01

4. 验证结果
df -Th /u01
lvs

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
九、变更记录描述模板
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
生产 ODA 二节点 /u01 分区空间使用率较高,
经检查确认其底层为 LVM 逻辑卷 VolGroupSys/LogVolU01,
文件系统为 ext4,且卷组 VolGroupSys 具备充足剩余空间。
在业务运行状态下执行在线扩容操作,
先后完成逻辑卷扩容及 ext4 文件系统扩展,
最终将 /u01 容量由 60G 提升至 100G,
空间使用率由 80% 降至 48%,
整个过程无报错、无需重启、业务未受影响。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
十、注意事项
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 本次实际扩容总量为 40G,不是 20G
2. 如果以后只需扩 20G,只执行一轮 lvextend + resize2fs 即可
3. 若 vgs 显示 VFree 不足,则不能直接扩容,需先补充底层存储空间
4. 若文件系统不是 ext4,而是 xfs,则扩容命令不是 resize2fs,而应使用 xfs_growfs
5. 生产环境操作应保留命令输出和前后对比截图,便于审计和复盘

3、处理过程各命令简要解读

下面这份我分成两部分:

  1. 本次实际操作记录:你这次到底查了什么、敲了什么

  2. 下次遇到同类问题的处理流程:以后怎么判断、怎么扩、扩多少

bash 复制代码
Linux /u01 分区在线扩容操作记录及后续处理流程
主机:teimes2
场景:生产 ODA 二节点 /u01 空间使用率高,需要在线扩容
操作用户:root

==================================================
一、本次实际操作记录
==================================================

1、先检查 /u01 当前挂载、文件系统类型、容量使用情况
执行命令:
df -Th /u01

检查目的:
确认 /u01 对应文件系统类型是否为 ext4,查看当前容量和使用率

--------------------------------------------------

2、检查卷组是否有足够剩余空间
执行命令:
vgs

检查目的:
确认 VG=VolGroupSys 是否还有足够空闲空间可供扩容

--------------------------------------------------

3、检查逻辑卷信息
执行命令:
lvs

检查目的:
确认 /u01 对应逻辑卷名称为 LogVolU01,并查看当前逻辑卷大小

--------------------------------------------------

4、检查物理卷信息
执行命令:
pvs

检查目的:
确认卷组底层 PV 情况,核实 VG 剩余空间来源

--------------------------------------------------

5、确认 /u01 对应的逻辑卷路径
执行命令:
lvdisplay /dev/VolGroupSys/LogVolU01

检查目的:
确认扩容目标卷为 /dev/VolGroupSys/LogVolU01,避免误操作其他卷

--------------------------------------------------

6、第一次扩容逻辑卷 20G
执行命令:
lvextend -L +20G /dev/VolGroupSys/LogVolU01

操作目的:
将逻辑卷容量由 60G 扩大到 80G

--------------------------------------------------

7、第一次扩容 ext4 文件系统
执行命令:
resize2fs /dev/VolGroupSys/LogVolU01

操作目的:
将文件系统容量同步扩展到新的逻辑卷大小

--------------------------------------------------

8、第一次扩容后检查结果
执行命令:
df -Th /u01

检查目的:
确认 /u01 容量已从约 59G 增长到约 79G,使用率下降

--------------------------------------------------

9、第二次扩容逻辑卷 20G
执行命令:
lvextend -L +20G /dev/VolGroupSys/LogVolU01

操作目的:
将逻辑卷容量由 80G 继续扩大到 100G

--------------------------------------------------

10、第二次扩容 ext4 文件系统
执行命令:
resize2fs /dev/VolGroupSys/LogVolU01

操作目的:
将文件系统容量同步扩展到新的逻辑卷大小

--------------------------------------------------

11、第二次扩容后检查结果
执行命令:
df -Th /u01

检查目的:
确认 /u01 容量已从约 79G 增长到约 99G,使用率进一步下降

--------------------------------------------------

12、最终确认逻辑卷大小
执行命令:
lvs

检查目的:
确认 LogVolU01 最终大小为 100G

==================================================
二、本次操作结论
==================================================

1、/u01 原始逻辑卷大小:60G
2、第一次扩容后:80G
3、第二次扩容后:100G
4、本次总共扩容:40G
5、/u01 使用率由 80% 降至 48%
6、扩容方式为 LVM + ext4 在线扩容
7、操作过程中未报错
8、未重启服务器
9、业务未受影响

==================================================
三、下次再遇到同类问题,应该如何处理
==================================================

【第一步:先判断是不是可以直接扩容】

先执行以下检查命令:
df -Th /u01
vgs
lvs
pvs
lvdisplay /dev/VolGroupSys/LogVolU01

判断规则:

1、df -Th /u01
看 /u01 文件系统类型
如果是 ext4,可以用 resize2fs
如果是 xfs,就不能用 resize2fs,要改用 xfs_growfs

2、vgs
看 VolGroupSys 是否有足够 VFree
如果 VG 空闲空间不足,就不能直接扩容,需要先扩底层存储

3、lvs
确认 /u01 对应逻辑卷名称和当前大小

4、lvdisplay
再次确认目标卷路径,避免误扩其他分区

--------------------------------------------------

【第二步:决定扩多少】

原则:
不要看到使用率高就无脑扩,先结合实际情况判断

建议判断方法:
1、看当前可用空间是否还能支撑一段时间
2、看 /u01 目录下数据增长速度
3、看业务是否持续增长
4、优先判断是否有可清理文件,而不是每次都直接加盘

可先执行:
du -xh --max-depth=1 /u01 | sort -h

作用:
看 /u01 下哪个目录最占空间
能清理先清理,不能清理再扩容

--------------------------------------------------

【第三步:确认可以扩后,再执行扩容】

如果文件系统是 ext4,且 VG 空间充足,执行:

1、扩逻辑卷
lvextend -L +20G /dev/VolGroupSys/LogVolU01

2、扩文件系统
resize2fs /dev/VolGroupSys/LogVolU01

3、检查结果
df -Th /u01
lvs

--------------------------------------------------

【第四步:生产环境建议】

1、尽量在业务相对平稳时段操作
2、建议用 root 用户执行
3、建议先进入 tmux,避免 SSH 断开
命令:
tmux

4、不要直接上来就用 lvextend -r
生产环境更建议分两步:
先 lvextend
再 resize2fs
这样更容易检查每一步结果

5、每一步执行完都要核实
尤其是:
df -Th /u01
lvs

--------------------------------------------------

【第五步:以后固定处理模板】

当 /u01 空间告警时,固定按以下顺序处理:

1、检查文件系统和挂载点
df -Th /u01

2、检查卷组剩余空间
vgs

3、检查逻辑卷信息
lvs

4、确认目标逻辑卷
lvdisplay /dev/VolGroupSys/LogVolU01

5、如有必要,先查大目录
du -xh --max-depth=1 /u01 | sort -h

6、确认需要扩容后,执行:
lvextend -L +20G /dev/VolGroupSys/LogVolU01
resize2fs /dev/VolGroupSys/LogVolU01

7、检查扩容结果
df -Th /u01
lvs

==================================================
四、注意事项
==================================================

1、本次你实际做了两轮扩容,不是一轮
2、以后如果只需要加 20G,只执行一轮:
lvextend -L +20G /dev/VolGroupSys/LogVolU01
resize2fs /dev/VolGroupSys/LogVolU01

3、如果以后 df 显示类型不是 ext4,就不能照搬 resize2fs
4、如果 vgs 显示没有足够空闲空间,就不能直接扩
5、扩容前一定确认卷路径,别把别的卷喂胖了
6、扩容完成后要保留前后 df、lvs 结果,方便留痕和审计
相关推荐
parafeeee8 小时前
程序人生-Hello’s P2P
数据库·后端·asp.net
欲买桂花同载酒5828 小时前
程序人生-Hello’s P2P
运维·服务器·数据库
八月的雨季 最後的冰吻8 小时前
FFmepg-- 38-Jitter Buffer固定值c程序分析
服务器·音视频
iPadiPhone8 小时前
流量洪峰下的数据守护者:InnoDB MVCC 全实现深度解析
java·数据库·mysql·面试
NineData8 小时前
AI时代的数据对比:DBA还需要盯着屏幕看差异吗?
运维·数据库
jyfool9 小时前
Ubuntu 远程桌面配置踩坑实录:从 TightVNC 到 x11vnc 的折腾之旅
linux·运维·ubuntu
Javatutouhouduan9 小时前
SpringBoot整合reids:JSON序列化文件夹操作实录
java·数据库·redis·html·springboot·java编程·java程序员
网硕互联的小客服9 小时前
服务器防火墙是如何区分正常流量和攻击流量?
运维·服务器·网络
安当加密9 小时前
基于 RADIUS 的 Linux 服务器双因子认证:从 FreeRADIUS 到轻量级 ASP 方案的演进
linux·运维·服务器