LVM:Logical Volumn Manager 逻辑卷管理
是用来做什么的?
lvm将存储设备变成PV,然后把一个或多个PV组织成一个或多个卷组,再在卷组上创建LV。创建好LV后对其格式化,就可以挂载使用了。用LVM管理的硬盘好处是:不关机对分区大小调整,扩容方便,一个分区可以位于多块硬盘上。对每个分区的大小没有需要。可以做快照卷。
名词解释
pv:物理卷,位于LVM的最底层,每个pv由一个分区组成。只有把分区标记为pv后才能加入vg。
vg: 卷组,由一个或多个pv组成,卷组用来管理pv,删除、添加pv在这里完成。pe的大小也在这里指定。
pe:物理盘区,位于pv中。默认4M,单位只能为2的N次方,4M、8M等。创建卷组的时候指定后不能再更改。是卷组分配给lv最小容量单位。
lv:逻辑卷,创建好lv后格式化lv,然后再挂载就可以使用了。
快照卷: 通过很短的时间对某个分区做一个快照。是一种特殊的lv,一般不住这里写数据,用来做备份。应用场景:对某个分区做备份时,可能需要一个小时。假如第一个复制是的A文件,最后一个复制的B文件,就有可能出现A文件的内容是一小时之前的,复制B文件时可能时间已经过去了一个小时,B文件内容是一小时之后的。这样整个数据就出现了虎头蛇尾,这就很不妥了。如果没有镜像卷,就需要停止原卷写入,然后再备份,这样的耽误时间后果是可想而知的。而快照圈会把在快照之后有变动的文件放到自己的空间保存一份,没有变动的文件还会存储在原分区上。有了这个机制,通过快照卷备份的数据都是同一个时刻的。快照卷大小由变动文件多少决定,最大与原卷一样。快照卷与原卷必须在一个vg上。
lvm创建顺序:硬盘分区-->把分区变成pv-->创建vg-->创建lv-->格式化lv-->挂载
注意:硬盘分区时,一定要标记分区类型为8e。如不标记有可能把pv拿到其它系统上扫描不到此分区做过pv。
命令
PV相关命令
pvcreate 创建卷组
pvs 查看当前系统的物理卷组
pvdisplay 查看当前系统的物理卷组的详细信息
pvremove 移除pv
如:pvremove /dev/sdb1
pvmove 把指定pv中的数据都移动到其它pv中,前提其它pv有足够空间。
如:pvmove /dev/sdb1
pvscan 当pv移动到其它计算机上时pv扫描,
VG相关命令
vgcreate 创建vg
-s: 指定pe的大小,单位有k,m,g,t,e,p 但要是2的N次方,没有特殊要求不用指定。
vgs 显示当前系统的vg信息,(vg0是系统自带的。)
vgdisplay 显示当前系统的vg详细信息
vgremove 删除vg命令
vgextend vg扩展
vgreduce 对vg进行缩减,如果vg中的pv有数据,需要用pvmove移动pv中的数据
vgscan vg扫描命令
vgrename vg改名
LV相关命令
lvcreate 创建lv
-n lvname:指定lv名字
-L 2G:指定lv的大小常用的单位有m,M,g,G,t,T。比如这里指定2G。
-s 创建快照卷
-p 指定权限,r为只读,rw为读写。
lvcreate -n mylv -L 2500G myvg
lvs 显示lv
lvdisplay 显示lv,更详细
lvremove 移除lv
lvextend 扩展lv
lvreduce 缩减lv
lvscan 扫描lv
其它命令
resizee2fs 增加或缩减文件系统的命令
fuser 查看某个挂载点是否有进程使用
ex2fsck 检测ext系系文件系统。
创建一个2t的lv,创建好后对其扩展到2.5T。然后对其做快照卷。(以ext系统文件系统示例)
创建LVM
1,系统上挂了5块500G的硬盘,先对2块硬盘分区,指定分区类型标记为8e。
#fidsk /dev/sdc
2,把这分好区的硬盘创建成pv
#pvcreate /dev/sd{c,d}1
提示创建成功
#pvs
/dev/sda2 是系统自带的。
3,创建卷组
#vgcreate myvg /dev/sd{c,d}1 #vgs
使用pvdisplay命令查看更详细的信息
4,创建好vg后就可以创建lv了。
#lvcreate -n mystor -L 999g myvg #lvs
创建好lv后其设备文件在/dev/下和vg名一样的目录里看到连接文件。
5,格式化,挂载使用。
#mkfs -t ext4 /dev/myvg/mystor #mount /dev/myvg/mystor /data
扩展LVM
1,新硬盘分区,然后添加到vg中
#vgextend myvg /dev/sde1 /dev/sdf1 #vgs
2,加进来了,开始扩展lv
#lvextend -L +500g /dev/myvg/mystor
成功了
#lvs
3,该扩展文件系统了。
#resize2fs /dev/myvg/mystor
扩展前
扩展后
lvm 创建快照卷
在创建快照卷前一定要确保没有程序对原卷做写操作,否则有创建快照时会把文件内容正在改变时候时态做为快照。为了确保尽量减少做快照时占用lv的时候,这里把三条命令放在一起执行了,第一句命令的意思是临时把原卷的挂载点设置为只读,第二句命令创建快照卷,第三句命令把前面修改原卷挂载点还原。
mount -o remount,ro /dev/myvg/mystor && lvcreate -L 1g -s -p r -n mystor-snap /dev/myvg/mystor && mount -o remount,rw /dev/myvg/mystor /data
命令太长,没有全部截下来。
然后挂载快照卷
备份完成后快照卷卸载,然后删除快照卷。这时留下快照卷已经没有意义了。
总结
创建LVM的步骤:fdisk创建分区,并标记分区类型为8e(linux lvm)-->创建pv-->创建vg(是否指定pe大小)-->创建lv-->格式化lv-->挂载
扩展lv的步骤:如果vg空间不够需要给vg添加空间,如果空间足够则使用lvextend命令扩展,然后使用resizee2fs命令扩展分区容量。
快照卷:必须与原卷在一个vg,且vg要有足够空间。创建快照卷的时候要保证原卷没有程序访问。尽量用最小时间创建原卷。挂载快照卷,备份完成后删除快照卷。
缩减lv:卸载lv(umount)-->使用(e2fsck -f)强制检测文件系统,确保检测后没有问题-->使用resize2fs 命令缩减文件系统-->使用lvreduce 命令缩减-->挂载缩减后的lv。 注:缩减最小不能低于已使用的空间。
缩减vg:使用pvmove命令移动要取出pv上的文件到其它pv。前题其它pv空间要足够-->用vgreduce命令移除pv。
最后附上马哥说过的话:“缩减有危险,操作需谨慎!”
本文出自 “红颜易逝豪情长” 博客,请务必保留此出处http://wukui.blog.51cto.com/1080241/1439748
原文地址:http://wukui.blog.51cto.com/1080241/1439748