Linux 服务器挂载 LVM 逻辑卷全流程记录与问题排查

在日常服务器运维中,经常会遇到需要挂载新硬盘或逻辑卷的情况。本文记录了我在一台 Linux 服务器上将新硬盘 /dev/sdb 挂载为 LVM 逻辑卷,并最终挂载到 /data 目录的全过程,包括出现的问题以及解决办法,希望对大家有所帮助。

环境与需求

  • 操作系统:Linux(RHEL/CentOS/Ubuntu 均适用)
  • 新增磁盘:/dev/sdb
  • 挂载目录:/data
  • 挂载方式:LVM(物理卷 PV → 卷组 VG → 逻辑卷 LV → 文件系统 → 挂载点)

步骤 1:安装 LVM 工具

首先确认服务器是否安装了 LVM 工具,未安装的话需安装:

Shell 复制代码
# RHEL/CentOS
sudo yum install lvm2 -y

# Ubuntu/Debian
sudo apt-get install lvm2 -y

检查安装是否成功:

Shell 复制代码
lvm version

步骤 2:查看磁盘信息

查看系统当前磁盘状态,确认 /dev/sdb 是否可用:

Shell 复制代码
lsblk

确认磁盘上没有重要数据,准备进行分区与格式化。

步骤 3:创建物理卷 PV

将磁盘初始化为 LVM 的物理卷:

Shell 复制代码
sudo pvcreate /dev/sdb

查看 PV 信息:

Shell 复制代码
sudo pvdisplay

步骤 4:创建卷组 VG

创建卷组 data_vg,把 PV 加入卷组:

Shell 复制代码
sudo vgcreate data_vg /dev/sdb

查看卷组信息:

Shell 复制代码
sudo vgdisplay

步骤 5:创建逻辑卷 LV

创建逻辑卷 data_lv,使用卷组内全部可用空间:

Shell 复制代码
sudo lvcreate -l 100%FREE -n data_lv data_vg

查看逻辑卷信息:

Shell 复制代码
sudo lvdisplay

逻辑卷设备路径一般为:

Shell 复制代码
/dev/data_vg/data_lv

步骤 6:格式化逻辑卷

格式化逻辑卷为 ext4(也可选择 xfs):

Shell 复制代码
sudo mkfs.ext4 /dev/data_vg/data_lv

步骤 7:创建挂载点

Shell 复制代码
sudo mkdir -p /data

步骤 8:挂载逻辑卷

Shell 复制代码
sudo mount /dev/data_vg/data_lv /data

检查挂载状态:

Shell 复制代码
df -h
lsblk

步骤 9:配置开机自动挂载

编辑 /etc/fstab

Shell 复制代码
sudo vim /etc/fstab

添加一行:

Shell 复制代码
/dev/data_vg/data_lv  /data  ext4  defaults  0  0

或者使用 UUID,更稳妥:

Shell 复制代码
blkid /dev/data_vg/data_lv

得到类似:

Shell 复制代码
UUID=8b2f9f3e-xxxx-xxxx-xxxx-xxxxxxxx  /data  ext4  defaults  0  2

各参数说明:

  1. 参数一:设备路径,或UUID;
  2. 参数二:挂载点(Mount Point),要挂载到的目录;
  3. 参数三:文件系统类型(Filesystem Type),表示文件系统格式,需要与实际格式化时使用的文件系统一致,可通过blkid命令查看;
  4. 参数四:挂载参数(Mount Options),表示使用默认挂载选项;
  5. 参数五:dump 备份标志,用于老式 dump 备份工具,0不备份,1参与备份,现代 Linux 几乎都不用 dump,因此基本统一写0;
  6. fsck 检查顺序,表示开机时是否执行文件系统检查,0不检查,1最优先检查,2次优先检查;

保存后测试:

Shell 复制代码
sudo mount -a
df -h

如果显示 /data 正常挂载,说明配置成功。

总结

通过本次操作,我掌握了完整的 LVM 挂载流程:

  1. PV → VG → LV → 格式化 → 挂载点 → 挂载
  2. /etc/fstab 配置开机自动挂载
  3. 遇到卸载后的显示问题可以通过 mount -a 或重启恢复

这套流程适用于新磁盘挂载和逻辑卷管理,也为后续扩容或快照管理打下基础。

相关推荐
Sokach101511 小时前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao1 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒4 天前
TShark:Wireshark CLI 功能
linux
A小辣椒4 天前
TShark:基础知识
linux
AlfredZhao5 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao5 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334665 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪5 天前
linux 拷贝文件或目录到指定的位置
linux