使用LVM管理磁盘

Mikage Yuziki 发布于 10 天前 28 次阅读


挂载磁盘后为了方便扩容,我们采用lvm来管理磁盘

一、挂载磁盘

1.识别新的设备

lsblk

识别到设备vdb

2.创建pv、vg、lv

pvcreate /dev/vdb
vgcreate datavg /dev/vdb
#大小根据实际情况进行修改
lvcreate -L 4096G -n lvdata datavg

3.格式化并挂载

#格式化为xfs文件系统
mkfs.xfs /dev/mapper/datavg-lvdata
#挂载到/data目录
mkdir /data
mount /dev/mapper/datavg-lvdata /data
#将以下内容添加到/etc/fstab文件的最后一行
/dev/mapper/datavg-lvdata /data xfs defaults 0 0

4.自动挂载

mount -a

二、磁盘扩容

1.检查当前LVM状态

运行以下命令查看当前的物理卷(PV)、卷组(VG)和逻辑卷(LV)的状态:

vgdisplay datavg
lvdisplay /dev/mapper/datavg-lvdata

2.扩展物理卷(PV)

如果需要扩容,首先需要确保有足够的未分配空间。如果/dev/vdb磁盘有未分配空间,可以直接扩展物理卷。如果没有,可以添加一个新的磁盘并将其加入卷组。

*扩展现有磁盘(如果有未分配空间)

pvresize /dev/vdb

*添加新磁盘(如果有额外的磁盘)

假设新磁盘为/dev/vdc

pvcreate /dev/vdc
vgextend datavg /dev/vdc

3.扩展逻辑卷(LV)

根据需要扩展逻辑卷的大小。例如,扩展lvdata到新的大小:

lvresize -L +1024G /dev/mapper/datavg-lvdata

这里+1024G表示在当前大小基础上增加1024GB。也可以直接指定目标大小:

lvresize -L 5120G /dev/mapper/datavg-lvdata

这会将逻辑卷的大小调整为5120GB。

4.扩展文件系统

对于xfs文件系统,运行以下命令扩展文件系统:

xfs_growfs /data

xfs_growfs会自动检测逻辑卷的大小变化并扩展文件系统。

5.验证扩容结果

df -h /data

三、磁盘缩容

警告:缩容操作可能会导致数据丢失,因此在操作之前必须确保文件系统中没有重要数据,或者已经备份了所有数据

1.卸载文件系统

在缩容之前,需要先卸载文件系统:

umount /data

2.检查文件系统完整性

在缩容之前,建议运行文件系统检查工具(如xfs_repair)以确保文件系统没有损坏:

xfs_repair /dev/mapper/datavg-lvdata

3.缩小逻辑卷(LV)

使用lvresize命令缩小逻辑卷的大小。例如,将逻辑卷缩小到3072GB:

lvresize -L 3072G /dev/mapper/datavg-lvdata

注意:在缩小逻辑卷之前,必须确保文件系统中没有超出新大小的数据。否则,可能会导致数据丢失。

4.重新挂载文件系统

mount /dev/mapper/datavg-lvdata /data

5.验证缩容结果

df -h /data

四、注意事项

  • 备份数据:在进行任何扩容或缩容操作之前,建议备份重要数据。
  • 文件系统支持:不同的文件系统对缩容的支持不同。xfs文件系统不支持在线缩容,必须先卸载文件系统。
  • 检查空间:在扩容之前,确保有足够的未分配空间或可以添加新的磁盘。
  • 监控操作:在执行扩容或缩容操作时,建议监控系统日志(如/var/log/messages),以确保操作成功。