LVM管理

一、 查看LVM信息

功能 命令
查看物理卷 # pvs 或 # pvdisplay
查看逻辑卷 # lvs 或 # lvdisplay
查看卷组 # vgs 或 # vgdisplay

二、 LVM创建

序号 步骤 命令
1 分配磁盘 如:/dev/sdb
2 创建物理卷pv # pvcreate pvname /dev/sdb
3 创建卷vg # vgcreate vgname pvpath
4 创建逻辑卷lv # lvcreate -L 50G -n lvname vgname
5 格式化lv为文件系统 # mkfs.ext4 /dev/mapper/vgname-lvname
6 挂载文件系统 # mount /dev/mapper/vgname-lvname /example
7 获取UUID码 # blkid /dev/mapper/vgname-lvname
8 编辑/etc/fstab # vi /etc/fstab

三、 扩展LVM文件系统

(1)扩展lv

| 序号 | 步骤 | 命令 | |:---- |:------------------------------------ | ---------------------------------------------------------------- | | 1 | 查看文件系统是否属于lvm类型 | # df -h | | 2 | 查看lv属于哪个vg | # lvs | | 3 | 查看vg是否还有空间 | # vgs | | 4 | 若vg还有空闲空间,执行以下命令扩展lv | # lvextend -L +50G /dev/mapper/vgname-lvname | | 5 | 同步文件系统(在线) | # resize2fs /dev/mapper/vgname-lvname(xfs使用xfs_growfs命令) | 扩展时,若使用lvextend -r 选项,就直接resizefs了,因此,就不需要再resize2fs或者xfs_growfs了

注意:若vg已经用完空间,划分一块硬盘给系统,创建pv,并将pv分配给vg,操作请参考LVM创建,然后执行文件系统的扩容

(2)扩展vg

序号 步骤 命令
1 虚拟机扩展磁盘 图形界面操作
2 重启操作系统 #reboot
3 查看磁盘空间是否已经增大 # fdisk -l /dev/sdb
4 变更pv大小 # pvresize /dev/sdb
5 查看vg大小 # vgs

四、 缩减LVM文件系统

注意:生产系统不建议缩减文件系统空间,存在丢失数据的风险!

序号 步骤 命令
1 取消挂载 # umount /fs01
2 检查lv设备 # e2fsck -f /dev/mapper/vgname-lvname
3 缩减文件系统 # resize2fs /dev/vg/lv01 50G (缩减到50G)
4 缩减逻辑卷 # lvreduce -L 50G /dev/vg/lv01
5 格式lv为fs # mkfs.ext4 /dev/vg/lv01
6 获取UUID码 # blkid /dev/vg/lv01
7 修改fstab文件 # vi /etc/fstab
8 重新挂载 # mount /dev/vg/lv01 /fs01
9 修改文件系统权限 # chown -R wasusr:wasgrp /fs01

当文件系统删除了lost+found文件,执行步骤2时会提示先运行e2fsck -f /dev/mapper/vgname-lvname,运行后提示创建lost+found。

五、 LV快照功能

LV快照只在源逻辑卷发生数据变化时才占用快照卷空间,实验如下: 1. 对逻辑卷lv01创建快照,空间为1G,命名为snaplv01

# lvcreate -s -n snaplv01 -p -r -L /dev/vg/lv01
# ls /dv/vg
lv01 snaplv01

  1. 往lv01挂载的文件系统写入300MB的随机文件

    # dd if=/dev/urandom of=/mnt/2.txt bs=1M count=300
    # ls /fs01
    1.txt 2.txt data

  2. 通过lvs命令查看快照卷使用情况

    # lvs
    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
    lv01 vg owi-aos--- 12.00g
    snaplv01 vg sri-a-s--- 1.00g lv0 29.42

  3. 恢复快照前lv逻辑卷

    # umount /fs01
    # lvconvert --merge /dev/vg/snaplv01
    Merging of volume snaplv0 started.
    lv0: Merged: 71.0%
    lv0: Merged: 91.9%
    lv0: Merged: 100.0%

    # ls /dev/vg lv01 # mount /dev/vg/lv01 /fs01
    $ ls /fs01 1.txt data

  4. 删除快照

    # lvremove /dev/vg/snaplv01

Editing is enabled. Use the "Save changes" button below the editor to commit modifications to this file.