CentOS 7 新磁盘LVM挂载详细步骤

CentOS 7 新磁盘LVM挂载详细步骤

1. 准备工作:查看磁盘信息

# 查看当前磁盘情况
lsblk
fdisk -l

# 查看磁盘是否被识别
lsscsi
ls -l /dev/sd*

2. 分区(可选,LVM可以直接使用整盘)

方案A:创建分区

# 对sdb进行分区(假设新盘是/dev/sdb)
fdisk /dev/sdb

# fdisk交互命令:
n      # 新建分区
p      # 主分区
1      # 分区号
回车    # 起始扇区(默认)
回车    # 结束扇区(默认)
t      # 更改分区类型
8e     # 设置为LVM类型(Linux LVM)
w      # 写入并退出

方案B:直接使用整盘(推荐)

LVM可以直接使用整块磁盘,无需分区。

3. 创建物理卷(Physical Volume)

# 方法1:使用整块磁盘
pvcreate /dev/sdb

# 方法2:使用分区(如果创建了分区)
pvcreate /dev/sdb1

# 查看创建的物理卷
pvs
pvdisplay

4. 创建卷组(Volume Group)

# 创建名为 datavg 的卷组
vgcreate datavg /dev/sdb

# 查看卷组信息
vgs
vgdisplay datavg

5. 创建逻辑卷(Logical Volume)

# 方法1:创建指定大小的逻辑卷
# 创建名为 datalv,大小为20G的逻辑卷
lvcreate -L 20G -n datalv datavg

# 方法2:使用所有可用空间
lvcreate -l 100%FREE -n datalv datavg

# 方法3:创建时指定PE数量(每个PE默认4M)
lvcreate -l 5000 -n datalv datavg  # 5000*4M=20G

# 查看逻辑卷
lvs
lvdisplay /dev/datavg/datalv

6. 创建文件系统

# 格式化为ext4文件系统(推荐)
mkfs.ext4 /dev/datavg/datalv

# 或者格式化为xfs文件系统(CentOS 7默认)
mkfs.xfs /dev/datavg/datalv

# 查看文件系统信息
blkid /dev/datavg/datalv

7. 挂载使用

临时挂载

# 创建挂载目录
mkdir /data

# 挂载逻辑卷
mount /dev/datavg/datalv /data

# 验证挂载
df -h /data
lsblk

永久挂载(开机自动挂载)

# 获取UUID(推荐使用UUID挂载)
blkid /dev/datavg/datalv
# 输出示例:/dev/datavg/datalv: UUID="e1f8a5f3-..." TYPE="ext4"

# 备份fstab文件
cp /etc/fstab /etc/fstab.bak.$(date +%Y%m%d)

# 编辑fstab文件
vi /etc/fstab

# 添加以下内容(根据实际情况选择一种):
# 方式1:使用UUID(最稳定,推荐)
UUID=e1f8a5f3-...   /data   ext4    defaults    0   0

# 方式2:使用设备路径
/dev/datavg/datalv  /data   ext4    defaults    0   0

# 方式3:使用LVM标签(如果有)
/dev/mapper/datavg-datalv  /data  ext4  defaults  0  0

# 测试fstab配置
mount -a

# 验证
df -h /data

8. LVM扩展管理(后续维护)

扩展逻辑卷(当有更多空间时)

# 1. 首先扩展卷组(添加新物理卷)
pvcreate /dev/sdc
vgextend datavg /dev/sdc

# 2. 扩展逻辑卷(增加10G)
lvextend -L +10G /dev/datavg/datalv

# 3. 扩展文件系统(ext4)
resize2fs /dev/datavg/datalv

# 对于xfs文件系统
xfs_growfs /data

缩小逻辑卷(谨慎操作)

# 1. 卸载文件系统
umount /data

# 2. 检查文件系统
e2fsck -f /dev/datavg/datalv

# 3. 缩小文件系统(ext4)
resize2fs /dev/datavg/datalv 15G

# 4. 缩小逻辑卷
lvreduce -L 15G /dev/datavg/datalv

# 5. 重新挂载
mount /dev/datavg/datalv /data

9. 完整示例脚本

#!/bin/bash
# 新磁盘LVM挂载完整示例

# 假设新磁盘为 /dev/sdb
DISK="/dev/sdb"
VG_NAME="datavg"
LV_NAME="datalv"
MOUNT_POINT="/data"

echo "=== 开始配置LVM磁盘 ==="

# 1. 创建物理卷
echo "创建物理卷..."
pvcreate $DISK
if [ $? -ne 0 ]; then
    echo "物理卷创建失败!"
    exit 1
fi

# 2. 创建卷组
echo "创建卷组 $VG_NAME..."
vgcreate $VG_NAME $DISK

# 3. 创建逻辑卷(使用全部空间)
echo "创建逻辑卷 $LV_NAME..."
lvcreate -l 100%FREE -n $LV_NAME $VG_NAME

# 4. 创建文件系统(ext4)
echo "创建ext4文件系统..."
mkfs.ext4 /dev/$VG_NAME/$LV_NAME

# 5. 创建挂载点
echo "创建挂载点 $MOUNT_POINT..."
mkdir -p $MOUNT_POINT

# 6. 获取UUID
UUID=$(blkid -s UUID -o value /dev/$VG_NAME/$LV_NAME)
echo "UUID: $UUID"

# 7. 配置fstab
echo "配置/etc/fstab..."
echo "UUID=$UUID $MOUNT_POINT ext4 defaults 0 0" >> /etc/fstab

# 8. 挂载
echo "挂载文件系统..."
mount -a

# 9. 验证
echo "=== 验证配置 ==="
df -h $MOUNT_POINT
echo ""
echo "LVM状态:"
pvs && echo "" && vgs && echo "" && lvs

echo "=== 配置完成 ==="

10. 常见问题解决

问题1:pvcreate 失败

# 如果磁盘已有分区表
wipefs -a /dev/sdb
# 或者
dd if=/dev/zero of=/dev/sdb bs=512 count=1

问题2:挂载失败

# 检查文件系统
fsck /dev/datavg/datalv

# 重新创建文件系统(会丢失数据!)
mkfs.ext4 -f /dev/datavg/datalv

问题3:LVM命令找不到

# 安装LVM工具
yum install lvm2 -y

# 启动LVM服务
systemctl start lvm2-lvmetad
systemctl enable lvm2-lvmetad

11. 检查清单

这样就完成了从新磁盘到LVM挂载的完整流程。LVM的优势在于可以动态调整大小,方便后续存储管理。

posted @ 2026-01-06 15:43  大司徒  阅读(17)  评论(0)    收藏  举报