LVM简单介绍
重点在于可以弹性的调整文件系统的空间大小,而并非在数据的存储效率及安全上面。LVM是将多个从逻辑上将多个物理磁盘整合在一起,让其看起来就像是一个磁盘一样,而且其优点在于可以在未来新增加或者移除其他物理磁盘到这个LVM逻辑卷中,这样实现磁盘的弹性管理。
LVM基础工具
PV:物理卷,指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如Raid),是LVM的基本存储逻辑块。但和基本的武力存储介质比较,它有自己的管理命令;
pvcreate :将普通磁盘制作为物理卷,可以一次指定多个物理磁盘;
pvdisplay:显示当前系统上逻辑卷的信息;
pvscan:扫描系统里具有逻辑卷的磁盘;
pvremove:删除逻辑卷,让磁盘不具有逻辑卷的属性;
VG:卷组,由物理卷组成,可以在卷组上创建一个或多个LVM逻辑卷,LVM卷组由一个或多个物理卷组成;
vgcreate:创建卷组;
vgdisplay:显示系统上卷组的信息;
vgextend:向卷组中添加物理卷;
vgreduce:从卷组中删除物理卷;
vgremove:删除一个卷组;
vgchange:配置卷组是否启动;
vgscan:扫描系统上具有卷组属性的磁盘;
LV:逻辑卷,类似硬盘分区,在逻辑卷之上可以创建文件系统。
lvcreate:创建逻辑卷;
-n:创建时指定逻辑卷名称;
-L:创建时指定逻辑卷大小;
-s:指定为快照卷;
-p:指定权限,ro只读,rw读写之类;
lvdisplay:显示逻辑卷的信息;
lvextend:为逻辑卷扩充容量,不需要取消挂载;
-L:扩容时指定大小,+#G 表示在原有基础上加多少G的容量;
-r:扩容时直接为新加的空间格式化为和原有空间同样的文件系统;
常用格式:lvextend -r -L +#G /dev/vg_name/lv_name
lvreduce:为逻辑卷缩减容量;
-L:缩减时指定大小,ext系列支持缩减,xfs不支持缩减;
lvremove:删除一个逻辑卷;
lvresize:调整逻辑卷容量的大小;
lvscan:扫描系统上的逻辑卷;
实现一个LVM
首先准备两块空闲磁盘,使用fdisk进行分区,并将其类型id改为lvm
查看磁盘信息,/dev/sdb 和/dev/sdc作为实验磁盘
使用fdisk将磁盘分区并更改类型
键入 t 更改类型,L可查看分区类型有哪些
键入w保存分区信息并突出
/dev/sdc也是同样分区方法!
创建pv物理卷,并使用pvdisplay查看
创建vg卷组,指定PE大小为16M
创建率逻辑卷testlv,大小为5G
创建文件系统类型并挂载至/users/目录
扩容
首先vgdisplay查看卷组是否还有空间,如果没有可再添加新磁盘并做为物理卷从而实现VG的增大,然后再为逻辑卷扩容;
实现在线扩展testlv至7G,使用df查看
缩容
缩容testlv至3G,前提是要保证缩容后原有文件小于testlv
首先使用umount 取消所有挂载关系
e2fsck -f /dev/vg0/lv_data :强制进行磁盘检测
resize2fs /dev/vg0/lv_data 20G :定义逻辑卷缩减为多少G,必须与下面lvreduce指定的大小一致,不然报错
lvreduce -L 20G /dev/vg0/lv_data :定义逻辑卷缩减为多少G,必须与上面resize2fs指定的大小一致,不然报错
然后挂载,使用df -h 就可以看到逻辑卷已经缩减容量了
创建快照
对testlv创建快照,并尝试基于快照备份数据,验证快照的功能
快照的作用:将当时的系统数据记录下来,在未来如若有数据变动,则会将变更前的数据放在快照区进行保存,进行备份时使用,快照只备份变更过的文件,而没有变更过的文件还再原位置上,当你修改数据时,快照会自动将最初始的文件cp一份放到快照区,及时你将来文件修改错了,有最初的文件还可以恢复,如果有人删除文件,也会cp一份到快照区,而且是原文件的原属性不变。快照也可以创建多个,创建快照的时间就是它认为原文件的最初始状态时间。
快照的缺点:因为都在同一逻辑卷中,所有当逻辑卷损坏时,备份的数据自热也就不能用了,所以快照起不了完全备份;
快照的容量定义:粗略估计自己会修改多少内容,会占用多大空间,因为快照和逻辑卷使用的是同一卷组空间,指定太大浪费。
使用快照卷实现备份
复制一些内容到逻辑卷挂载目录进行演示快照的作用,默认现在进入到快照挂载目录下是可以看到这些文件的,不要慌,就是为了证明快照是有用的,现在文件还在原来的位置,当我们修改file1 ,和删除file2时,快照卷自动的将原file1和file2复制一份到快照卷的目录下。这样就起到了备份。
快照恢复
接下来恢复,恢复完成后快照卷会自动删除。先取消逻辑卷和快照卷的挂载
清除逻辑卷
先取消挂载 umount
按照顺序删除逻辑卷
lvremove /dev/vg0/lv_data
vgremove vg0
pvremove /dev/sdb /dev/sdc
此时使用pvdisplay、vgdisplay、lvdisplay已经查看 不到关于逻辑卷lv_data的任何信息了;
快照卷还有很多功能,这里只是介绍了最基础的实现!!!