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

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

相关推荐
charlie11451419116 分钟前
嵌入式Linux驱动开发(7) 从虚拟设备到真实硬件 —— LED驱动硬件基础
linux·开发语言·驱动开发·内核·c
Mortalbreeze32 分钟前
软件包管理器yum和编辑器vim详解 —— 附带vim配置链接
linux·服务器
李日灐1 小时前
< 7 > Linux 开发工具:git 版本控制器 和 cgdb/gdb 调试器
linux·运维·服务器·开发语言·git·调试器·gdb/cgdb
青木9601 小时前
前后端开发调试运行技巧
linux·服务器·前端·后端·npm·uv
c++之路1 小时前
C++ 模板
linux·开发语言·c++
xcbrand1 小时前
餐饮品牌全案公司哪家可靠
运维·python
apl3591 小时前
GUI 型 DevOps 平台的天花板,Ashby 在 1956 年就画好了
运维·devops
云动课堂2 小时前
【运维实战】MySQL 8.0 数据库 · 一键自动化部署方案 (适配银河麒麟 V10 / 龙蜥 8 / Rocky Linux 8 / CentOS 8)
linux·运维·数据库
cui_ruicheng2 小时前
Linux进程间通信(一):管道与IPC基础
linux·运维·服务器
Lumos_7772 小时前
Linux -- 互斥锁
linux