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等工具归档备份,然后可以删除快照卷。