物理机根分区/磁盘空间不足LVM在线扩容

这篇博客记录了在XFS文件系统下,通过LVM在线扩容磁盘空间的过程。首先查看根分区类型,然后格式化新增硬盘,创建物理卷,将其添加到卷组,扩展LVM逻辑卷,并最终更新文件系统大小,成功解决了磁盘空间不足的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

突然遭遇/磁盘空间100%的尴尬,因为上面跑的有服务,不能添加硬件重启,我就查看了lsblk发现有一块硬盘/dev/sda有2T的空间,正好使用LVM在线扩容,开始吧... ...

第一步、先查看/etc/fstab里的/根分区是什么文件系统类型 ,这里用的是 xfs

/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=1f24be8c-a592-4b7e-8e2c-416cd4a74d1d /boot                   xfs     defaults        0 0
UUID=E0C1-7ED8          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/cl-home     /home                   xfs     defaults        0 0
/dev/mapper/cl-swap     none                    swap    defaults        0 0

 第二步、格式化/dev/sda3, 如果分区上包含了partition table分区表就需要-f去强制wirte 

# mkfs -t xfs /dev/sda
mkfs.xfs: /dev/sda appears to contain a partition table (gpt).
mkfs.xfs: Use the -f option to force overwrite.

# mkfs -t xfs -f /dev/sda3 
meta-data=/dev/sda3              isize=512    agcount=32, agsize=18285504 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=585135104, imaxpct=5
         =                       sunit=64     swidth=128 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=285760, version=2
         =                       sectsz=512   sunit=64 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

第三步、创建PV

# pvs
  PV         VG Fmt  Attr PSize    PFree
  /dev/sdb3  cl lvm2 a--  <117.59g    0 

# pvcreate /dev/sda3
WARNING: xfs signature detected on /dev/sda3 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sda3.
  Physical volume "/dev/sda3" successfully created.

# pvs
  PV         VG Fmt  Attr PSize    PFree   
  /dev/sda3  cl lvm2 a--    <2.18t <184.11g
  /dev/sdb3  cl lvm2 a--  <117.59g       0 

第四步、增加PV到VG (能看到vg的变化从117G增加到2个多T)

# vgs
  WARNING: Couldn't find device with uuid dujV6z-4pEz-O2wD-MnnY-pW9c-YJaX-ifcImd.
  WARNING: VG centos is missing PV dujV6z-4pEz-O2wD-MnnY-pW9c-YJaX-ifcImd (last written to /dev/sdc1).
  VG     #PV #LV #SN Attr   VSize    VFree
  cl       1   3   0 wz--n- <117.59g    0 

# vgextend centos /dev/sda3
  Volume group "centos" not found
  Cannot process volume group centos

# vgs
  VG #PV #LV #SN Attr   VSize VFree   
  cl   2   3   0 wz--n- 2.29t <184.11g

第五步、扩展LVM

# lvs
  LV   VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home cl -wi-ao---- <43.59g                                                    
  root cl -wi-ao----  70.00g                                                    
  swap cl -wi-ao----   4.00g 

# lvextend -L +2T /dev/cl/root 
  Size of logical volume cl/root changed from 70.00 GiB (17920 extents) to <2.07 TiB (542208 extents).
  Logical volume cl/root successfully resized.

# lvs
  LV   VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home cl -wi-ao---- <43.59g                                                    
  root cl -wi-ao----  <2.07t                                                    
  swap cl -wi-ao----   4.00g   

第六步、更新文件系统 

  • 如果使用xfs文件系统
    xfs_growfs /dev/root_vg/root
  • 如果使用ext4文件系统
    resize2fs /dev/root_vg/root
# xfs_growfs /dev/cl/root
meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=4587520 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=18350080, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=8960, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 18350080 to 555220992

# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             252G     0  252G   0% /dev
tmpfs                252G     0  252G   0% /dev/shm
tmpfs                252G   20M  252G   1% /run
tmpfs                252G     0  252G   0% /sys/fs/cgroup
/dev/mapper/cl-root  2.1T   83G  2.0T   4% /
/dev/mapper/cl-home   44G  384M   44G   1% /home
/dev/sdb2           1014M  237M  778M  24% /boot
/dev/sdb1            599M  7.3M  592M   2% /boot/efi
tmpfs                 51G   60K   51G   1% /run/user/1000

问题解决

<think>好的,我需要帮助用户在CentOS 7上对非LVM根分区进行扩容。用户之前提到过引用关于LVM和非LVM扩容的内容,但这次明确要求非LVM的方法。首先,我得回忆非LVM分区扩容的步骤,通常这涉及到调整分区大小,然后扩展文件系统。 首先,用户需要确认当前的分区结构。使用`fdisk -l`或`lsblk`查看磁盘情况,确定根分区所在的设备,比如是/dev/sda2。然后,用户可能需要扩展虚拟磁盘,比如在VMware中增加磁盘空间。之后,进入系统,使用fdisk删除原有分区并重新创建更大的分区,注意保持相同的起始扇区,避免数据丢失。这时候需要执行partprobe或者重启让内核识别新分区表。接下来,如果是ext4文件系统,用resize2fs;如果是xfs,用xfs_growfs。要确保文件系统扩展正确,最后用df -h检查。 需要注意的是,非LVM的分区调整风险较高,操作前必须备份数据。此外,如果根分区后面有其他分区,可能需要先调整后面的分区,这可能比较复杂,可能需要使用GParted等工具,但在服务器环境中可能不太方便。所以步骤大概是:扩展虚拟磁盘→删除旧分区→创建新分区→刷新分区表→扩展文件系统→验证结果。同时提醒用户谨慎操作,避免数据丢失。</think>以下是CentOS 7系统中对**非LVM根分区**扩容的详细操作流程,包含风险提示和关键步骤说明: --- ### 一、操作前准备 1. **完整备份数据** 所有分区操作均有数据丢失风险,建议通过`tar`或`rsync`备份关键数据。 2. **确认分区类型** 执行命令查看当前分区信息: ```bash lsblk df -Th / # 检查根分区文件系统类型(xfs/ext4) ``` 若输出包含`/dev/sdX`(如/dev/sda2)且无`lvm`标识,则为非LVM分区[^3]。 --- ### 二、操作步骤(以虚拟机扩展磁盘为例) #### 1. 扩展虚拟磁盘容量 - **VMware/VirtualBox**:关闭虚拟机→编辑设置→扩展虚拟磁盘容量(如从20GB扩展到30GB) - **云服务器**:通过控制台调整云盘容量 #### 2. 创建新分区空间 1. 进入分区工具: ```bash fdisk /dev/sda # 假设根分区在/dev/sda2 ``` 2. 删除旧根分区(**不格式化**): - 输入`d`删除原根分区(如分区2) - 输入`n`新建分区,**起始扇区必须与原分区一致**(记录原分区的Start值) - 设置新结束扇区为最大可用空间(例如直接回车采用默认值) - 输入`w`保存分区表 #### 3. 刷新分区表 ```bash partprobe /dev/sda # 强制内核重新读取分区表 # 若失败则必须重启系统 reboot ``` #### 4. 扩展文件系统 - **EXT4文件系统**: ```bash resize2fs /dev/sda2 ``` - **XFS文件系统**: ```bash xfs_growfs / ``` --- ### 三、验证结果 ```bash df -h / # 查看扩容后的根分区容量 lsblk # 检查分区大小是否同步 ``` --- ### ⚠️ 关键风险提示 1. **分区连续性要求** 根分区后方不能有其他分区,否则需先删除后方分区(将导致数据丢失) 2. **虚拟机快照保护** 操作前创建虚拟机快照,避免操作失误导致系统崩溃 3. **物理机谨慎操作** 物理服务器建议使用`gparted-live`工具通过ISO引导操作 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值