Linux 硬盘扩容操作手册

从文件系统到磁盘分区的关系及扩展流程(脱敏版)

1. 硬件和逻辑结构关系图

以下是文件系统到磁盘分区的关系图:

+----------------+       +----------------+       +------------------+       +---------------------+
| 文件系统       |  <--  | 逻辑卷          |  <--  | 卷组             |  <--  | 物理卷             |  <--  | 硬盘分区           |
| (/data)        |       | (/dev/vg_data/lv_data) |       | (vg_data)        |       | (/dev/vdb)          |       | (/dev/vdb)         |
+----------------+       +----------------+       +------------------+       +---------------------+       +---------------------+
2. 操作命令
2.1 确认文件系统的磁盘使用情况
bash 复制代码
df -h
2.2 查看磁盘分区和逻辑结构
bash 复制代码
lsblk
2.3 查看物理卷信息
bash 复制代码
pvdisplay
2.4 查看卷组信息
bash 复制代码
vgdisplay
2.5 查看逻辑卷信息
bash 复制代码
lvdisplay

3. 扩展流程

3.1 确认硬盘扩容

首先,确保新的硬盘空间已经被系统识别,可以通过 lsblk 查看硬盘大小。

3.2 扫描新的硬盘大小

对于已经添加了硬盘的系统,使用以下命令来重新扫描物理卷的大小:

bash 复制代码
pvresize /dev/vdb
3.3 扩展卷组

在物理卷被更新后,扩展卷组以包含新增的空间:

bash 复制代码
vgdisplay vg_data
bash 复制代码
lvextend -l +100%FREE /dev/vg_data/lv_data

lvextend 命令会将卷组中的所有剩余空间分配给逻辑卷。

3.4 扩展文件系统

文件系统需要通过以下命令进行扩展,使其能够使用新增的逻辑卷空间:

  • 对于 XFS 文件系统:

    bash 复制代码
    xfs_growfs /data
  • 对于 EXT4 文件系统:

    bash 复制代码
    resize2fs /dev/vg_data/lv_data
4. 完整操作步骤示例
  1. 检查文件系统空间:

    bash 复制代码
    df -h
  2. 检查当前磁盘结构:

    bash 复制代码
    lsblk
  3. 检查物理卷信息:

    bash 复制代码
    pvdisplay
  4. 确认物理卷已包含新硬盘空间,并扩展物理卷:

    bash 复制代码
    pvresize /dev/vdb
  5. 检查卷组信息,确认物理卷被成功添加到卷组中:

    bash 复制代码
    vgdisplay vg_data
  6. 扩展逻辑卷:

    bash 复制代码
    lvextend -l +100%FREE /dev/vg_data/lv_data
  7. 扩展文件系统:

    • 对于 XFS 文件系统:

      bash 复制代码
      xfs_growfs /data
    • 对于 EXT4 文件系统:

      bash 复制代码
      resize2fs /dev/vg_data/lv_data

5. 参考命令输出

示例输出

lsblk

text 复制代码
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                11:0    1 1024M  0 rom  
vda               252:0    0   40G  0 disk 
|-vda1            252:1    0    1G  0 part /boot
`-vda2            252:2    0   39G  0 part 
  |-klas-root     253:0    0   35G  0 lvm  /
  `-klas-swap     253:1    0    4G  0 lvm  [SWAP]
vdb               252:16   0  200G  0 disk 
`-vg_data-lv_data 253:2    0  200G  0 lvm  /data

pvdisplay

text 复制代码
--- Physical volume ---
PV Name               /dev/vdb
VG Name               vg_data
PV Size               <200.00 GiB / not usable 3.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              51199
Free PE               0
Allocated PE          51199
PV UUID               

vgdisplay vg_data

text 复制代码
--- Volume group ---
VG Name               vg_data
Format                lvm2
VG Size               <200.00 GiB
PE Size               4.00 MiB
Total PE              51199
Alloc PE / Size       25599 / <100.00 GiB
Free  PE / Size       25600 / 100.00 GiB

lvdisplay /dev/vg_data/lv_data

text 复制代码
--- Logical volume ---
LV Path                /dev/vg_data/lv_data
LV Name                lv_data
VG Name                vg_data
LV Size                <200.00 GiB

df -h

text 复制代码
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_data
                      200G  105G   96G  53% /data

这份技术文档提供了从硬盘扩容到文件系统扩展的完整流程及操作命令,确保你可以高效地管理和扩展系统存储。

相关推荐
2401_840192278 分钟前
OpenStack基础架构
运维·服务器·openstack
小马爱打代码12 分钟前
125个Docker的常用命令
运维·docker·容器
某风吾起14 分钟前
Linux 消息队列的使用方法
java·linux·运维
胡八一43 分钟前
解决docker: ‘buildx‘ is not a docker command.
运维·docker·容器
HaoHao_0101 小时前
AWS Serverless Application Repository
服务器·数据库·云计算·aws·云服务器
Golinie1 小时前
【C++高并发服务器WebServer】-2:exec函数簇、进程控制
linux·c++·webserver·高并发服务器
Rhys..2 小时前
Jenkins pipline怎么设置定时跑脚本
运维·前端·jenkins
励志去大厂的菜鸟2 小时前
系统相关类——java.lang.Math (三)(案例详细拆解小白友好)
java·服务器·开发语言·深度学习·学习方法
Icoolkj2 小时前
微服务学习-Nacos 注册中心实战
linux·学习·微服务
老王聊主机2 小时前
2025年华为云一键快速部署幻兽帕鲁联机服务器教程
运维·服务器·华为云