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 ]; thenecho "物理卷创建失败!"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 "" && lvsecho "=== 配置完成 ==="
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的优势在于可以动态调整大小,方便后续存储管理。