Skip to content

LVM 逻辑卷管理

创建 LVM 逻辑卷的步骤

1. 查看系统存储设备

bash
df -h
lsblk

2. 创建物理卷

使用 pvcreate 命令将磁盘或分区转换为物理卷。例如:

bash
# 创建
pvcreate /dev/sdb

# 查看
pvdisplay /dev/sdb

这条命令将 /dev/sdb 磁盘转换为 LVM 物理卷。

3. 创建卷组

使用 vgcreate 命令创建卷组,并将物理卷添加到卷组中。例如:

bash
vgcreate yunjisuan /dev/sdb

这条命令创建了一个名为 yunjisuan 的卷组,并将 /dev/sdb 物理卷添加到该卷组中。

4. 创建逻辑卷

使用 lvcreate 命令在卷组中创建逻辑卷。例如:

bash
lvcreate -n datalv -L +5G yunjisuan

这条命令在 yunjisuan 卷组中创建了一个名为 datalv、大小增加 5GB 的逻辑卷。

注意:+5G是在原基础上增加,5G是整体大小为5G

5. 格式化逻辑卷

逻辑卷创建完成后,需要格式化为文件系统

bash
mkfs.ext4 /dev/yunjisuan/datalv

命令将逻辑卷格式化为 ext4 文件系统

6. 挂载逻辑卷

bash
mkdir /data
mount /dev/yunjisuan/datalv /data

第一条命令创建挂载点 /data,第二条命令将逻辑卷挂载到该挂载点。

7. 开机自动挂载

mount挂载是临时操作,下次系统重启不会自动挂载,可编辑/etc/fstab文件或者/etc/rc.d.rc.local

bash
# /etc/fstab
/dev/yunjisuan/datalv /data		ext4	defaults	0 0

# /etc/rc.d/rc.local
mount /dev/yunjisuan/datalv /data

8. 检测

bash
df -Th

调整逻辑卷大小步骤

扩大逻辑卷

  1. 使用 lvextend 命令扩展逻辑卷的大小。例如:

    bash
    lvextend --size +2G /dev/datavg/datalv

    这条命令将逻辑卷 datalv 扩大 2GB。

  2. 调整文件系统大小以适应新的逻辑卷大小。

    对于 ext4 文件系统,可以使用 resize2fs 命令:

    bash
    resize2fs /dev/datavg/datalv

    对于 XFS 文件系统,可以使用 xfs_growfs 命令:

    bash
    xfs_growfs /mnt/data

缩小逻辑卷

在缩小逻辑卷之前,需要确保文件系统不会受到损坏。以下是缩小逻辑卷的步骤:

  1. 卸载逻辑卷:

    bash
    umount /dev/datavg/datalv
  2. 文件系统完整性检查和修复

    bash
    e2fsck -f /dev/datavg/datalv
  3. 调整文件系统大小。

    对于 ext4 文件系统,可以使用 resize2fs 命令:

    bash
    resize2fs /dev/datavg/datalv 3G

    这条命令将文件系统大小调整为 3GB。

  4. 使用 lvreduce 命令缩小逻辑卷的大小:

    bash
    lvreduce -L 3G /dev/datavg/datalv

    注意:在缩小逻辑卷时,必须确保逻辑卷的新大小大于或等于文件系统大小,否则可能导致数据丢失。

  5. 挂载逻辑卷:

    bash
    mount /dev/datavg/datalv /mnt/data

创建快照卷

快照卷用于在某一时刻创建逻辑卷的快照,以便进行数据备份或恢复。以下是创建快照卷的步骤:

  1. 使用 lvcreate 命令创建快照卷。例如:

    bash
    lvcreate --size 1G --snapshot --name datalv-snapshot /dev/datavg/datalv

    这条命令创建了一个名为 datalv-snapshot、大小为 1GB 的快照卷,用于保存 datalv 逻辑卷的当前状态。

  2. 挂载快照卷并进行数据备份。例如:

    bash
    mkdir /mnt/snapshot
    mount /dev/datavg/datalv-snapshot /mnt/snapshot
  3. 在备份完成后,可以删除快照卷以释放空间:

    bash
    umount /mnt/snapshot
    lvremove /dev/datavg/datalv-snapshot

    注意:快照卷的大小应足够保存在创建快照后对原始逻辑卷所做的更改。如果快照卷空间不足,快照将失效。

系统文件扩容步骤

1. 查看添加设备

bash
lsblk

2. 创建物理卷

bash
pvcreate /dev/sdd

3. 卷组扩容

bash
# 先查看要扩容的卷组
pvdisplay

# 我这里以openeuler为例
vgextend openeuler /dev/sdd

4. 逻辑卷扩容

bash
lvextend -l +100%FREE /dev/openeuler/root

5. 在线格式化

bash
## 操作前先查看文件系统类型
resize2fs /dev/openeuler/root		# ext格式
xfs_growfs /dev/openeuler/root		# xfs

6. 检测

bash
df -Th

重点说明

系统逻辑卷扩容后不要缩减,因为硬盘里已经存储系统文件信息,移除硬盘会影响系统的正常运行