浅析LVM及相关实验
LVM(Logical Volume Manager)是一个磁盘管理子系统,将一个或者多个底层设备组织成逻辑设备。在LVM里,一个或者多个PV组成一个VG(Volume Group,卷组),而从一个VG里又可以虚拟划分出若干个LV(Logical Volume,逻辑)卷),
如下示意图
其底层设备划分成分区PE,单个PE默认大小为4M,可取值4M,8M,12M,16M 为2的整数倍。
在pv ,vg ,lv之下的操作,有一些命令
pv: pvcreate, pvs, pvdisplay, pvremove, pvmove, pvscan
vg: vgcreate, vgs, vgdisplay, vgremove, vgextend, vgreduce, vgscan
lv: lvcreate, lvs, lvdisplay, lvremove, lvextend, lvreduce, lvscan
下面我们就实现一下其创建过程,
1 创建磁盘分区
可看出没有创建过,如果/sdb上有文件想清除可用#dd if=/dev/zero of=/dev/sdb count=1 bs=512. 这里的count 和bs 大小有自己设定。接下来就创建磁盘分区,假如创建sdb1 ,sdb2。
创建之后用#cat /proc/partition 查看sdb1,sdb2
第二步创建pv
在pv下有些命令可以练习一下查看pvs,细查pvdisplay。
可以看到pvdisplay所查到的信息 pv名字,其空间大小。
还有删除pvremove,删除后再pvs查询一下。
成功删除掉/dev/sdb1后再查询有关sdb1的信息就没有了。由于还有用,再次创建
创建vg 名字为anvg
将/dev/sdb2加入
接下来就要创建lv了,创建前先了解一下lv的访问路径:
1、/dev/VG_NAME/LV_NAME 。如我们即将要创建的路径:/dev/anvg/anlv
2、/dev/mapper/VG_NAME-LV_NAME。如:/dev/mapper/anvg-anlv
此两者均为符号链接,指向的文件为/dev/dm-#
使用lvcreate创建
在lvcreate创建中 -L后面指定其大小,-n 后面接lv名字。Lv已经创建,使用lvs查看一下,如下图
Lv创建后想使用的话还需格式化,挂载
挂载前 创建一个空目录/andata,挂载后在使用mount命令查看。
这就创建完成了!那么下面看一下逻辑卷的扩展和缩减。
如何扩展逻辑卷:
1、先确定扩展的目标大小;并确保对应的卷组中有足够的空闲空间可用;
2、扩展物理边界 ,如:lvextend -L 4G /dev/anvg/anlv
3、扩展逻辑边界,如:resize2fs /dev/anvg/anlv
查看一下
再扩展逻辑边界
再次查看
OK!成了
接下来看缩减,注意:缩减有危险的,提议离线缩减。缩减步骤如下:
1、先确定缩减后的目标大小;并确保对应的目标逻辑卷大小中有足够的空间可容纳原有所有数据;
2、制裁文件系统,并要执行强制检测:e2fsck -f
3、缩减逻辑边界:resize2fs DEVICE
4、缩减物理边界:lvreduce
如果我们要缩减到2G,如下操作:
这一步是强制检测,其目的看有无报错。
接下来缩减逻辑边界
缩减物理边界。
最后再次挂载