逻辑卷管理器LVM
1、逻辑卷管理器LVM
允许对卷进行方便操作的抽象层,包括重新设定文件系统大小。
允许在多个物理设备间重新组织文件系统。
-
- 将设备指定为物理卷
- 用一个或多个物理卷来创建一个卷组
- 物理卷是用固定大小的物理区域(PE) 来定义的,
- 在物理卷上创建逻辑卷是由物理区域(PE)组成
- 可以在逻辑卷上创建文件系统。
2、LVM介绍
LVM:logical volume manager , version:2
dm:device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块。
设备名: /dev/dm-# (这才是真正的设备名,下面软连接是为了方式使用)
软连接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
3、LVM更改文件系统的容量
LVM可以弹性的更改LVM 的容量
通过交换PE 来进行资料的转换,将原来的LV 内的PE转移到其他的设备中以降低LV 的容量,或将其他设备中的PE加到LV中以加大容量
lv 是由多个pe组成!!!
4、pv管理工具:
显示pv信息:
pvs, pvdisplay
创建pv
pvcreate /dev/DEVICE
5、vg 管理工具
显示卷组
vgs, vgdisplay
创建卷组:
vgcreate -s # (PE大小) VG_NAME /dev/{ DEVICE1, DEVICE2..}
管理卷组:
vgextend VG-NAME /dev/{ device1, device2,..} :扩展卷组
vgreduce VG_NAME /dev/{device1, device2,....} :缩减卷组
删除卷组:
先做pvmove,再做vgmove
6、lv管理工具:
显示逻辑卷
lvs, lvdisplay
创建逻辑卷:
lvcreate -L # (指定多大) -n LV-NAME VG-NAME 如果是小l 指的是PE个数
lvcreate -l 60%VG -n LV-NAME VG-NAME
lvcreate -l 100%FREE -n LV-NAME VG-NAME (剩余的vg都创建为lv)
删除逻辑卷:
lvremove /dev/VG-NAME/LV-NAME
重设文件系统大小:
resize2fs -f device 【new-size】
5、扩展和缩减逻辑卷:
扩展逻辑卷:
lvextend -L [+] # /dev/VG-NAME/LV-NAME
resize2fs /dev/VG-NAME/LV-NAME
lvresize -r -l +100FREE /dev/VG-NAME/LV-NAME
缩减逻辑卷:xfs不支持缩减
umount /dev/VG-NAME/LV-NAME
fsck -f /dev/VG-NAME/LV-NAME
resize2fs /dev/VG-NAME/LV-NAME # :缩减多大
lvreduce -L [-]# /dev/VG-NAME/LV-NAME
mount
lsblk:可以知道逻辑卷来自那块磁盘
实验:扩展逻辑卷 1 查看VG空间 vgdisplay 2 lvextend -l +100%FREE /dev/vg0/lv0 resize2fs /dev/vg0/lv0 ext文件系统,扩展之后,df查看是没有识别到内存中,所以需要命令来识别 xfs_grow /mnt/lv0 xfs文件系统 或者合并一条命令 lvextend -r -l +100%FREE /dev/vg0/lv0 3 df -h 查看 实验:缩减逻辑卷(只支持ext) 1 umount /mnt/lv0 2 fsck -f /dev/vg0/lv0 3 resize2fs /dev/vg0/lv0 1G 4 lvreduce -L 1G /dev/vg0/lv0 5 mount
6、跨主机迁移卷组:centos7 xfs, 兼容ext,centos6 只支持ext
源计算机上:
- 在旧系统中,umount 所有卷组上的逻辑卷
- vgchange -an vg0 ,变为 非活动状态 lvdisplay ----有status:NOT available
- vgexport vg0 导出, pvscan,扫描 vgdisplay
- 拆下就磁盘
在目标计算机上:
5、在新系统中安装旧磁盘,并vgimport vg0,导入 vg
6、vgchange -ay vg0
7、mount 所有卷组上的逻辑卷
如果目标机器上,有同样的vg-name,需要先改名字,vgrename old-name new-name
插上新的磁盘:
scandisk
echo '- - -' > /sys/class/scsi_host/host0/scan
7、逻辑卷快照管理
快照:如果磁盘损坏了,也是不能恢复的。
快照工作原理:
开辟一个新的空间,修改文件的时候,把旧推送到新的空间,修改后的新版本,还在原来的空间
会降低IO性能。
新空间的大小 小于等于 原空间大小,只放被修改数据的旧数据。
使用lvm 快照:
-
- 为现有逻辑卷创建快照
- lvcreate -L1G -s(表示快照的逻辑卷) -n lv0-snapshot -p r(读权限) /dev/vg0/lv0
- 挂载快照
- mkdir -p /mnt/snap
- mount -o ro /dev/vg0/lv0-snapshot /mnt/snap
- 恢复快照
- umount /dev/vg0/lv0-snapshot
- umount /dev/vg0/lv0
- lvconvert -merge /dev/vg0/lv0-snapshot
- centos6 恢复之后,快照就没了
- 删除快照
- umount /mnt/databackup
- lvremove /dev/vg0/databackup
- 为现有逻辑卷创建快照
centos7 上,挂载快照 要 加 -o nouuid 因为快照卷和源卷 uuid一样 是挂不上去的
实验:移除PV对应的磁盘 确保同一个卷组中,还有足够的可用空间 pvmove /dev/vg0/lv0 vgreduce vg0 /dev/vg0/lv0 pvremove /dev/vg0/lv0 实验:删除所有PV,VG,LV umount lvremove vgremove pvrmove