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

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

相关推荐
wdfk_prog6 分钟前
Docker 29 与 containerd image store:镜像为什么会保存两种形态
运维·docker·容器
Java小学生丶14 分钟前
[开源自荐] ZTShell,一个使用 Tauri 2 + Rust 全程由 AI 开发的跨平台桌面 SSH 工具
linux·网络·centos7·云服务器·开发技巧·资源分享·个人私货
广州灵眸科技有限公司17 分钟前
灵眸科技EAI3572-Core-L核心板即将发布!八核+4TOPS NPU,面向工业与边缘AI
linux·运维·服务器·数据库·yolo
流浪00117 分钟前
Linux系统篇28——通信(五):信号量专篇:从电影院订票到内核一张大表,把信号量一次讲透
linux·运维·服务器
码农小韩23 分钟前
Linux应用开发(三)——Linux的文件属性与目录
linux·嵌入式软件开发·linux操作系统·嵌入式操作系统·linux应用开发
张洛闻Eren28 分钟前
云原生k8s【第七课】:集群监控与可观测性
linux·运维·docker·云原生·容器·kubernetes·k8s
31 分钟前
Python 图片处理:裁剪缩放至300×200,格式JPG/PNG/GIF,控制大小≤100KB
linux·前端·python
青禾8378 小时前
Linux 操作系统入门指南:从目录结构到常用命令
linux·运维·服务器
zhengqweasd9 小时前
流量没跑满、带宽空闲,业务依然卡顿
运维·服务器·网络