当前位置: 首页 > news >正文

使用LVM和扩展文件系统增加root分区存储容量

在 CentOS 7 系统中,管理和扩展存储空间是一个常见的任务,尤其是在服务器运行过程中需要增加根分区(root partition)存储容量时。本文将详细介绍如何使用逻辑卷管理(LVM)和扩展文件系统来增加 root 分区的存储容量。

准备工作

在进行任何磁盘操作之前,务必备份重要数据,并确保对操作步骤有充分理解。以下步骤适用于 CentOS 7 环境。

1. 检查当前的磁盘配置

首先,使用 lsblk 命令检查当前的磁盘布局和分区情况:

lsblk

输出示例:

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   40G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   39G  0 part ├─centos-root 253:0    0   37G  0 lvm  /└─centos-swap 253:1    0    2G  0 lvm  [SWAP]

2. 确认可用的物理卷

使用 pvs 命令查看物理卷(Physical Volumes)情况:

pvs

输出示例:

  PV         VG     Fmt  Attr PSize   PFree/dev/sda2  centos lvm2 a--  <39.00g 2.00g

3. 添加新的物理卷

假设有一个新的磁盘(如 /dev/sdb)可用于扩展存储,首先将其创建为物理卷:

pvcreate /dev/sdb

将新物理卷加入现有的卷组(Volume Group):

vgextend centos /dev/sdb

扩展逻辑卷

1. 查看卷组情况

使用 vgs 命令查看卷组信息,确认新加入的物理卷和可用空间:

vgs

输出示例:

  VG     #PV #LV #SN Attr   VSize   VFreecentos   2   2   0 wz--n- <79.00g 40.00g
​

2. 扩展根逻辑卷

假设需要将 centos-root 逻辑卷扩展 20GB:

lvextend -L +20G /dev/centos/root

也可以选择使用所有剩余空间:

lvextend -l +100%FREE /dev/centos/root

3. 扩展文件系统

对于 xfs 文件系统,使用 xfs_growfs 命令扩展:

xfs_growfs /
​

如果是 ext4 文件系统,则使用 resize2fs 命令:

resize2fs /dev/centos/root
​

验证扩展结果

1. 检查扩展后的逻辑卷

再次使用 lsblk 命令检查扩展后的磁盘布局:

lsblk
​

2. 验证文件系统容量

使用 df -h 命令查看文件系统的使用情况,确保根分区容量已经增加:

df -h
​

输出示例:

Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   57G  1.5G   56G   3% /
​

常见问题及解决方法

1. 没有足够的空闲空间

如果卷组中没有足够的空闲空间来扩展逻辑卷,需要确保已经正确添加新的物理卷并将其分配到卷组中。

2. 文件系统类型不支持在线扩展

如果遇到文件系统类型不支持在线扩展,需要将系统引导到单用户模式或者使用 Live CD 来进行离线扩展。

3. 卷组锁定

在执行扩展操作时可能会遇到卷组锁定问题,可以尝试重启系统或者检查其他可能占用卷组的进程。

http://www.dtcms.com/a/267706.html

相关文章:

  • 信号和槽(4)
  • 3dmax物理材质转换标准材质,物理材质转VR材质,VR材质转标准材质3dmax物理材质转标准材质插件
  • 98.验证二叉搜索树
  • python实现简单的地图绘制与标记20250705
  • 【每天一个知识点】子空间聚类(Subspace Clustering)
  • 零基础保姆级本地化部署文心大模型4.5开源系列
  • Unity文件夹标签 —— FolderTag
  • SpinLock (TTAS) C-A-S 自旋锁实现原理
  • 人工智能学习60-Yolo
  • TCP协议概念和特性
  • cmd 的sftp传输;Conda出现环境问题: error: invalid value for --gpu-architecture (-arch)
  • Kotlin 协程:Channel 与 Flow 深度对比及 Channel 使用指南
  • 《自然语言处理:基于预训练模型的方法》-笔记
  • Java教程——深入学习guava之并发编程
  • 基于matlab的二连杆机械臂PD控制的仿真
  • 2025年5月-植物水分吸收和运输优化算法water uptake and transport-附Matlab免费代码
  • 数字地和模拟地
  • 使用 C++/OpenCV 和 MFCC 构建双重认证智能门禁系统
  • 白皮解读——173页数据安全治理白皮书5.0【附全文阅读】
  • 灵活应对市场波动的智能运营中枢​
  • leetcode918.环形子数组的最大和
  • Spark SQL架构及高级用法
  • Java Go SDK 管理工具与最佳实践
  • 【汇编逆向系列】九、函数传参之结构体 - SHL、SHR指令,小型结构体参数和返回值
  • 《深度剖析:5G网络切片如何精准保障不同业务QoS需求》
  • PHP语法基础篇(九):正则表达式
  • 本机上搭一个HTTPS网站用什么工具?.NET self host支持吗?
  • Redis--黑马点评--达人探店功能实现详解
  • C++ 11中lock_guard和unique_lock的区别
  • 初识Linux:Linux开发工具gcc/g++和gdb以及Makefile的使用