linux——lvm

来源:互联网 发布:剑网三 知乎 编辑:程序博客网 时间:2024/06/04 18:25

一. lvm 的建立

划分物理分区并修改分区标签为lvm

[root@server ~]# fdisk /dev/vdb

Command (m for help): t

Hex code (type L to list all codes): 8e

pvcreate /dev/vdb1 ###创建物理卷

[root@server206 ~]# pvcreate /dev/vdb1

这里写图片描述

vgvreate vg0 /dev/vdb1 ####创建物理卷组

[root@server206 ~]# vgcreate vg0 /dev/vdb1

这里写图片描述

lvcreate -L 100M -n 1v0 vg0 #####创建逻辑卷

[root@server206 ~]# lvcreate -L 100M -n lv0 vg0

这里写图片描述

mkfs.xfs /dev/vg0/lv0 ####格式化设备

[root@server206 ~]# mkfs.xfs /dev/vg0/lv0

这里写图片描述

mount /dev/vg0/lv0 /mnt ####设备挂载投入使用

[root@server206 ~]# mount /dev/vg0/lv0 /mnt

这里写图片描述

监控命令

[root@server206 ~]# watch -n 1 ‘pvs;echo ===========;vgs;echo =========;lvs;echo ==========;df -h /mnt’

二.lvm的拉伸

1.在xfs 格式下

当vg中剩余 容量充足的时候

root@server206 ~]# lvextend -L 400M /dev/vg0/lv0

[root@server206 ~]# xfs_growfs /dev/vg0/lv0

这里写图片描述
这里写图片描述

当vg中剩余 容量不足的时候

[root@server206 ~]# lvextend -L 600M /dev/vg0/lv0

Extending logical volume lv0 to 600.00 MiB Insufficient free space: 100 extents needed, but only 74 available ######容量不足

新建分区

fdisk /dev/vdb

[root@server206 ~]# pvcreate /dev/vdb2

[root@server206 ~]# vgextend vg0 /dev/vdb2

[root@server206 ~]# lvextend -L 600M /dev/vg0/lv0

[root@server206 ~]# xfs_growfs /dev/vg0/lv0

这里写图片描述
这里写图片描述

2.在ext文件系统中

设备卸载

[root@server206 ~]# umount /mnt

拉伸

[root@server206 ~]# mkfs.ext4 /dev/vg0/lv0

这里写图片描述

[root@server206 ~]# blkid

/dev/vda1: UUID=”9bf6b9f7-92ad-441b-848e-0257cbb883d1” TYPE=”xfs”
/dev/vdb1: UUID=”YMKLl9-ZQlM-Tg9Z-xnov-girw-DFe2-9PywbF” TYPE=”LVM2_member”
/dev/vdb2: UUID=”d7qETe-lgef-qIPW-n4hd-ZVRX-A6mE-Ew89lq” TYPE=”LVM2_member”
/dev/mapper/vg0-lv0: UUID=”546f319d-4822-4546-8c44-a9195fc4f226” TYPE=”ext4”

[root@server206 ~]# lvextend -L 800M /dev/vg0/lv0

Extending logical volume lv0 to 700.00 MiB
Logical volume lv0 successfully resized

[root@server206 ~]# resize2fs /dev/vg0/lv0

[root@server206 ~]# mount /dev/vg0/lv0 /mnt

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

三.lvm的缩减

对设备

[root@server206 ~]# umount /mnt

[root@server206 ~]# e2fsck -f /dev/vg0/lv0

/dev/vg0/lv0: 11/46080 files (0.0% non-contiguous), 7298/179200 blocks #####查看设备中文件所占空间大小

[root@server206 ~]# resize2fs /dev/vg0/lv0 200M

[root@server206 ~]# mount /dev/vg0/lv0 /mnt

[root@server206 ~]# lvreduce -L 200M /dev/vg0/lv0

这里写图片描述

这里写图片描述

对卷组

当要移除分区存在数据时,需要把数据迁移到其他pv中

[root@server206 ~]# pvmove /dev/vdb1 /dev/vdb2

[root@server206 ~]# vgreduce vg0 /dev/vdb1

[root@server206 ~]# pvremove /dev/vdb1

这里写图片描述

四.lvm的快照

lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0

mount /dev/vg0/lv0backup /mnt

保护原始数据不被篡改

这里写图片描述
这里写图片描述
这里写图片描述

五.lvm的删除

[root@server206 mnt]# umount /mnt

[root@server206 ~]# lvremove /dev/vg0/lv0backup

[root@server206 ~]# lvremove /dev/vg0/lv0

[root@server206 ~]# vgremove vg0

[root@server206 ~]# pvremove /dev/vdb2

[root@server206 ~]# fdisk /dev/vdb

Command (m for help): p
/dev/vdb1 2048 1026047 512000 8e Linux LVM
/dev/vdb2 1026048 2050047 512000 8e Linux LVM
Command (m for help): d
Partition number (1,2, default 2): 1
Command (m for help): d

这里写图片描述
这里写图片描述
这里写图片描述

注意当lvm的分区被误删除时

pvs
No device found for PV dGhln2-Dzg4-jiZ1-c2pO-CKUi-OLOE-EtdkWC.
No device found for PV dGhln2-Dzg4-jiZ1-c2pO-CKUi-OLOE-EtdkWC.
No device found for PV dGhln2-Dzg4-jiZ1-c2pO-CKUi-OLOE-EtdkWC.
No device found for PV dGhln2-Dzg4-jiZ1-c2pO-CKUi-OLOE-EtdkWC.
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg0 lvm2 a– 196.00m 196.00m
unknown device vg0 lvm2 a-m 196.00m 196.00m

解决方法:

[root@server206 ~]# vgreduce vg0 –removemissing

No device found for PV dGhln2-Dzg4-jiZ1-c2pO-CKUi-OLOE-EtdkWC.
No device found for PV dGhln2-Dzg4-jiZ1-c2pO-CKUi-OLOE-EtdkWC.
Wrote out consistent volume group vg0

原创粉丝点击