CentOS 扩展/dev/mapper/VolGroup-lv_root容量

本文详细记录了如何扩展CentOS系统的/dev/mapper/VolGroup-lv_root分区容量,包括创建新分区、修改分区类型、创建物理卷、扩展卷组、调整LV大小以及重新识别文件系统大小的步骤,旨在解决生产环境中root空间不足的问题。

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

项目部署生产环境,由于客户不懂linux,每次都是最简单的安装(硬盘分区全部按最新安装),每次拿到系统,都要耗费一番功夫,也出现过不少坑(磁盘分完,重启,远程连接不上)。现把硬盘分配过程写下,希望日后或其他同事能用到。

 

## Step 1: 查看磁盘空间,lv_root ,目的扩容 lv_root

[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       50G  6.4G   41G  14% /
tmpfs                 7.8G   72K  7.8G   1% /dev/shm
/dev/sda1             477M   42M  411M  10% /boot
/dev/mapper/VolGroup-lv_home
                       41G   48M   39G   1% /home

## Step 2:查看隐藏的磁盘

[root@localhost ~]# fdisk -l

 

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 h

### 扩展 LVM 分区及 XFS 文件系统教程 #### 添加新磁盘并初始化物理卷 当需要扩展 Linux 系统的磁盘分区时,可以先向虚拟机或物理主机添加一块新的硬盘设备。假设新增加的磁盘为 `/dev/sdb`。 使用 `fdisk` 工具创建一个新的分区: ```bash fdisk /dev/sdb ``` 完成操作后,确认新分区已成功创建(例如 `/dev/sdb1`)。接着将其初始化为物理卷 (Physical Volume, PV),以便后续加入到现有的卷组中: ```bash pvcreate /dev/sdb1 ``` 此命令会将指定的分区标记为可用作 LVM 的物理存储资源[^1]。 #### 将物理卷添加至现有卷组 如果当前系统已经存在一个名为 `vg1` 的卷组,则可以通过下面这条指令把刚建立好的物理卷纳入其中: ```bash vgextend vg1 /dev/sdb1 ``` 执行上述语句之后,该卷组便能够利用新增加的空间来分配给逻辑卷使用了[^2]。 #### 延伸逻辑卷容量 对于目标逻辑卷 `lv1` 来说,在所属卷组拥有足够的未分配空间前提下,可通过如下方式增大其尺寸: ```bash lvextend -l +100%FREE /dev/mapper/vg1-lv1 ``` 这里 `-l +100%FREE` 参数表示尽可能多地占用剩余自由区域;当然也可以采用具体数值代替百分比形式,比如设置固定大小增加量:`-L +10G` 表示追加 10GB 容量。 #### 调整文件系统大小匹配更新后的逻辑卷 最后一步就是让实际使用的文件系统感知到底层逻辑卷的变化情况,并作出相应调整。由于案例中的文件系统类型为 XFS ,所以需要用到专门工具 `xfs_growfs` 实现在线增长功能而无需重新启动服务或者卸载挂载点即可生效: ```bash xfs_growfs /mnt/lv1/ ``` 注意路径应指向之前定义好并且正常工作的挂载目录位置。此时再查看状态信息就会发现总容量有所提升: ```bash df -hT | grep lv1 ``` 以上即完成了整个流程——从硬件层面扩充到最后应用层面上线的过程描述。 ```python # 示例 Python 脚本用于自动化部分过程 import os def extend_lvm_and_xfs(dev_path='/dev/sdb', pv_dev='/dev/sdb1', vg_name='vg1', lv_name='lv1'): commands = [ f'echo "n\np\n1\n\n\nt\n8e\nw" | fdisk {dev_path}', # 创建新分区并设为LVM类型(8e) f'partprobe {dev_path}', f'pvcreate {pv_dev}', f'vgextend {vg_name} {pv_dev}', f'lvextend -l +100%FREE /dev/{vg_name}/{lv_name}', 'xfs_growfs /mnt/lv1/' ] for cmd in commands: result = os.system(cmd) if result != 0: raise Exception(f"Command failed: {cmd}") if __name__ == "__main__": try: extend_lvm_and_xfs() print("Operation completed successfully.") except Exception as e: print(e) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值