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

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

相关推荐
云边有个稻草人3 分钟前
【Linux系统】第八节—进程概念(上)—冯诺依曼体系结构+操作系统+进程及进程状态+僵尸进程—详解!
linux·进程·冯诺依曼体系结构·pcb·僵尸进程·进程的状态·task_ struct
xian0gang13 分钟前
rk3588 区分两个相同的usb相机
linux
这儿有一堆花23 分钟前
安全访问家中 Linux 服务器的远程方案 —— 专为单用户场景设计
linux·服务器·安全
RussellFans1 小时前
Linux 文本三剑客(grep, awk, sed)
linux·运维·服务器
猴哥聊项目管理1 小时前
什么是DevOps智能平台的核心功能?
运维·项目管理·制造·devops·软件·项目管理软件·软件分享
Chuncheng's blog1 小时前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
听风吹等浪起1 小时前
CentOS在vmware局域网内搭建DHCP服务器【踩坑记录】
linux·服务器·centos
明月看潮生1 小时前
青少年编程与数学 01-011 系统软件简介 04 Linux操作系统
linux·青少年编程·操作系统·系统软件·编程与数学
aitav02 小时前
⚡️ Linux Docker 基本命令参数详解
linux·运维·docker
Nazi62 小时前
docker数据管理
运维·docker·容器