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

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

相关推荐
HPC_fac1305206781613 分钟前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
yaoxin5211231 小时前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip
内核程序员kevin1 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
sinat_384241095 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ6 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream6 小时前
Linux的桌面
linux
xiaozhiwise6 小时前
Makefile 之 自动化变量
linux
Kkooe7 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒7 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql