dm:deivce mapper 设备映射。
dm设备都存放在/dev/mapper/下。
/dev/VG_NAME/LV_NAME 其实都是指向/dev/mapper/VG_NAME-LV_NAME的。
卷;基于dm驱动来实现。
meta device:LVM(logical Vlume Managr) 现在使用的都是v2版本。
PE:physical Extension。物理盘区,pv加入vg后,pv就被划分成了多个PE块。大小取决于vg,可以自定义。
snapshot:快照。主要作用是用来提供数据备份。
ZFS:
LVM的组成结构:
1.pv:物理卷 physical volume
任何块设备都可以用来使用,但是磁盘标志为8e。
PV:
#pvcreate [OPTION] DEVICE1 DEVICE2 ……
[OPTION]
-f 直接创建为pv
#pvdisplay [OPTION] PV_NAME 显示pv信息。
不带PV_NAME显示所有pv的信息。
#pvs 显示摘要信息。
#pvmove [OPTION] DEVICE 移动pv上的数据至其他pv上。
#pvremove DEVICE 移除pv,会擦除数据。
#pvscan 扫描当前系统上有多少个pv
2.vg:卷组 volume group
由多个pv组成。
VG:
#vgcreate [OPTION] VG_NAME DEVICE1 DEVICE2 ...
[OPTION]
-s NUM B|K|M|G|T|P|E 指定PE大小。默认是4M。
#vgdisplay VG-NAME 显示vg的详细信息。
#vgs 显示摘要信息。
#vgck
#vgremove [OPTION] VG_NAME 移除vg。
[OPTION]
#vgreduce [OPTION] VG_NAME DEVICE 缩减vg。缩减之前先移动pv的数据。
[OPTION]
--removemissing 将所有有问题的pv都移除。
-t 测试,并不是真的运行。
#vgextend [OPTION] VG_NAME DEVICE 扩展vg。
#vgmerge
#vgscan
#vgrename
#vgcfgbackup
#vgcfgrestore
3.lv:逻辑卷 logical volume
在vg上划分。划分大小是按照pe分配的。分配出去的pe就变成了LE(logical Extension)。
LV的引用:
lv的设备路径:/dev/VG_NAME/LV_NAME
实际上lv的真实地址是/dev/mapper/VG_NAME-LVNAME。
/dev/VG_NAME/LV_NAME是一个ln文件,指向/dev/mapper/VG_NAME-LVNAME。
#lvcreate [OPTION] -L LV_SIZE -n LV_NAME VG_NAME 从名为VG_NAME的卷组中创建一个大小为LV_SIZE,名称为LV_NAME的逻辑卷。
[OPTION]
-L --size LV_SIZE 指定LV卷的大小。
-l --extents NUM 指定逻辑盘区的个数为NUM个,也可以用某个VG的百分比来指定。
-n LV_NAME指定LV的名称。建议使用纯字符,不能包含-。
-s 快照卷。
-p r|rw 指定权限 r只读,rw读写。
-i --stripes 创建为条带卷。
-m --mirrors 创建为镜像卷。
-c 指定chunk大小。
#lvdisplay DEVICE 显示lv的详情。
#lvs 显示lv的缩略信息
#lvresize 调整lv大小。
#lvrename
#lvreduce [OPTION] -L SIZE DEVICE 缩减lv。
-L --size
- 带此-号,表示缩减了多少,默认不带此参数表示缩减到多少。
#lvextend [OPTION] -L SIZE DEVICE 扩展lv。
-l --extents
+ 带此+号,表示增加了多少,默认不带次参数表示增加到多少。
-L --size
#lvremove DEVICE 移除lv。
扩容和缩减:
扩展的时候要先扩展外边界,再扩展内边界。而缩减的时候要先缩减内边界,再缩减外边界。
扩展边界:
支持在线扩展。
#resize2fs [OPTION] DEVICE SIZE 默认不带SIZE扩展到最大。
[OPTION]
-p 扩展到最大。
缩减边界:
不支持在线缩减。
1.缩减前必须先卸载设备。
2.保证有足够的空间以储存数据。
3.强行检查文件系统。
#df -lh
#umount DEVICE
#fsck
#e2fsck [OPTION] DEVICE 针对于ext2文件系统。
-f 强制检测。
-p 自动修复故障。
-y 对询问都回答yes。
-a 相当于-p,但提供向后兼容。
#resize2fs [OPTION] DEVICE SIZE 支持ext2/ext3
例如:vg名称为myvg,lv名称为mydata。mydata挂载在/mnt下。DEVICE名称为/dev/sda11。/dev/sda12是空闲磁盘。
#pvs
#pvmove /dev/sda11
#vgreduce myvg /dev/sda11
#pvremove /dev/sda11
#pvcreate /dev/sda12
#vgextend myvg /dev/sda12
#lvextend -L 1G /dev/myvg/mydata
#resize2fs /dev/myvg/mydate
#umount /mnt
#e2fsck -f /dev/myvg/mydata
#resize2fs /dev/myvg/mydata 200M
#lvreduce -L 200M /dev/myvg/mydata
快照:
为lv提供快照功能,方便做数据备份。
1.快照卷的生命周期为整个数据时长,在这段时间内,数据的增长量不能超出快照卷的大小。大小一般设置成lv的大小。
2.快照卷是只读的。
3.跟原卷在同一个卷组中。
#lvcreate -s -p r -L SIZE -n SLV_NAME DEVICE
例如:
lv为/dev/testgv/testlv。大小为500M
#lvcreate -s -p r -L 500M -n SLV_testlv /dev/testgv/testlv
快照卷创建完成后,可以使用tar等工具归档备份,然后可以删除快照卷。