LVM小结
有时我们在给磁盘分区的时候对磁盘的未来使用的估计偏差,造成有些磁盘很快就满了,而有些磁盘还有很大的空间,这个时候我们很想让这两个磁盘的空间改变一些,把剩余空间比较多的那个磁盘缩小一下,而把那个快要塞满了的磁盘再给扩展一下,又不想是重新创建磁盘,那么我们可以用LVM来实现磁盘的增大和缩减。
LVM:逻辑卷管理器,它可以实现将多个单独的硬盘组成卷组(volume),接着分配给逻辑卷(logical volume),之后就可以按照普通的块设备来访问了。LVM可以实现对逻辑卷的扩展,缩减和快照。但是如果要快照的话要在分配磁盘存储空间的时候给快照卷预留空间,另外快照卷要跟原逻辑卷在同一个卷组内。
LVM所要用到的命令:
关于物理卷(pv)的命令:
Pvcreate:创建物理卷, pvcreate /dev/sda{6,7}
Pvdisplay:查看物理卷的详细信息, pvdisplay /dev/sda6
Pvmove:移除磁盘内文件的内容
Pvremove:移除磁盘,移除磁盘时,先用pvmove移除磁盘的内容,在移除磁盘pveremove /dev/sda6
Pvscan:扫描当前系统上所有的pv,并显示出来
我们创建两个物理盘sda6,sda7,并模拟移除操作,如图
关于卷组(vg)的命令:
Vgcreate:创建卷组,vgcreate VG_NAME /dev/sda# 创建卷组时命名,并将sda#加进卷组中 -s #:PE大小,默认为4M
vgreduce:将pv磁盘移除卷组,vgreduce /dav/sda6,表示将sda6移除卷组,注意移除前先将pv上的数据拿走,不然,数据会损坏。
Vgextend:将pv磁盘添加进卷组,vgextend VG_NAME /dev/sda6
vgscan:扫描当前系统上的vg,并显示出来
Vgdisplay:显示vg的详细信息
我们将刚才创建好得物理卷(pv),添加入卷组,如图:
我们添加一个新的物理卷sda8,如下图
关于逻辑卷(lv)命令:
Lvcreate:创建逻辑卷,lvcreate -n LV_NAME -L #G VG_NAME 表示在LV_NAME的卷组中创建逻辑卷,命令为LV_NAME 并指定lv大小
Lvremove:移除逻辑卷,将创建的逻辑卷删除
命令用法同上,不在演示;
扩展逻辑卷:在扩展逻辑时,先扩展物理边界,后扩展逻辑边界,这就像在气球中充气,逻辑卷就好比空气,物理卷好比气球;空气多了会把气球涨爆;所以在扩展逻辑卷时,先将物理卷扩大,才能有效的扩展逻辑卷。在扩展逻辑卷时,将磁盘添加到物理卷,在添加到卷组,从而达到逻辑卷的扩大。
命令:
lvextend -L [+]# /PATH/TO/LV (-L如果带上+就表示扩展多少,如果不用+就表示扩展为多少)
Resize2fs -P /PATH/TO/LV:表示的是有多大空间就扩展为多大
我又在物理卷中,添加了一个5G的磁盘,,并将其添加至卷组,从而扩大了逻辑卷,与之前的比着的了3G。
缩减逻辑卷命令:
lvreduce -L [-]# /PATH/TO/LV
在缩减逻辑磁盘时,应先缩小逻辑卷在减小物理卷,和扩展逻辑卷刚好一反。
在缩减逻辑卷时注意一下点
1、不能在线缩减,得先卸载
2、确保缩减后的空间大小依然能存储原有的所有数据
3、在缩减之前应该想强行检查文件,以确保文件系统处于一至性状态
我们将逻辑卷缩减到9G,如图:
和扩展的相比减小了4G。
快照卷:快照卷和逻辑卷一样,快照卷就如同给这个逻辑卷备份了一次,大家知道我们的数据是在不断更新的,所以我们的快照卷不是一劳永逸的,它是有声明周期的,快照卷的生命周期为整个数据时长,也就是在这段时长内,数据的增长量是不能超出快照卷的大小的,否则快照卷就直接挂掉了,也就没有意义了,在我们创建快照卷的时候为其指定一个适当的大小是很有必要的;另外我们的快照卷是主要是用于备份的,所以,我们的快照卷应该是只读的,还有就是我们前面一再强调的,快照卷跟原卷要在同一个卷组内。
命令:lvcreate -L # -n SLV_NAME -p -r /PATO/TO/LV
为了能有效的演示,我将快照卷挂载,在拷贝一个文件在此挂载点上。
如图:创建快照
当此文件被删除后块照可以修复数据,做到备份