在服务器的磁盘使用过程中,在硬件raid的基础上实现LVM是常用的一种方式,下面简单的介绍下LVM的用法。
1、LVM会涉及到的三个组成部分
PV:(physical volume)物理卷
VG:(volume group)卷组
LV:(logical volume)逻辑卷
三个之间的关系是PV可以理解为单个的磁盘,几个磁盘可以组成VG,在PV加入到VG组中去的时候,PV会被划分为了一个个PE(physical extext)物理盘区。默认的每个物理盘区的大小是4M。在VG的基础上可以进行LV的创建,LV相当于磁盘分区中的逻辑分区。在LV中也是一个个的LE,可以把它叫做是逻辑盘区。LV是我们真正可以使用的分区系统。
2、建立PV
首先建立LVM格式的磁盘分区,下面以自己刚刚添加的20G的磁盘为例子。
fdisk /de/sdb
n 新建一个分区 -----p 选择分区的类型为主分区-----1 填写分区的编号-----然后定义分区的大小 +3G //一个大小为3G的主分区就定义好了,同样的方法定义其他的分区
将新建的分区格式调整为LVM格式
t 调整分区格式-----1 选择建立的分区的编号-------8e 将分区格式调整为LVM //对于其他的几个分区进行同样的操作,然后w保存退出。
建立好分区之后可以查看下是不是已经操作好了 fdisk -l查看
定义好之后建立PV
pvcreate /dev/sdb{1,2} //将sdb1和sdb2建立为物理卷组
建立好之后进行查看
pvs或者是pvdisplay 这时候进行展示的时候PE SIZE的大小为0,说明这两个PV还没有加入到我们的VG中去
3、建立VG
vgcreate myvg /dev/sdb{1,2} //将刚刚定义好的sdb1和sdb2加入到 myvg中去
vgs或者是vgdisplay可以进行vg的查看。这时候在进行pvdisplay的查看可以发现PE SIZE的大小变为了4M。
4、在VG的基础上进行LV的创建
lv是在vg的基础上进行建立的。这就好像是逻辑分区是在扩展分区的基础上建立的概念是一样的,lv的大小要小于等于vg的大小。
lvcreare -L VGSIZE(5G) -n testlv myvg //在/dev/myvg也就是我们建立的vg的基础之上建立testlv,大小为5G(不要超过vg的大小)-n为所建立的lv的名字。
格式化建立的lv,然后挂载使用。
mkdir /data //建立lv的挂载目录
mkfs -t ext4 /dev/myvg/testlv
mount /dev/myvg/testlv /data
vi /etc/fatab在分区的挂载中增加一行,可以保证分区开机以后自己自动的挂载
/dev/myvg/testlv /data ext4 defaults 0 0 保存退出。
5、LVM也可以轻松的实现扩展和缩小
扩展:相对于LVM来说,他有两个边界,其中一个是物理边界一个是逻辑的边界,在扩展的过程中应该首先扩展的是物理的边界然后在扩展逻辑的边界。
lvextend -L 10G(要扩展到的大小) /dev/myvg/testlv //在扩展之前需要注意的是看看VG中的大小要能够扩展用的 vgdisplay命令就可以查看。在-L之后10G的意思是扩展到10G如果+10G的话代表的就是扩展10G //物理边界扩展完成
resize2fs -p /dev/myvg/testlv //将逻辑边界扩展到物理边界的大小 ,在扩展的过程中可以直接在线扩展不需要将挂载的分区卸载之后再进行扩展。
缩小:
在缩小LV的过程中,首先需要将挂载的分区卸载,然后强制进行文件系统的检测最后在进行缩小。在缩小的过程中是首先缩小逻辑边界然后在缩小物理边界。
umount /dev/myvg/testlv //注意在卸载的时候不要在挂载的目录中卸载
e2fsck -f /dev/myvg/testlv //强行进行文件系统的检测
resize2fs /dev/myvg/testlv 3G //在缩小的过程中需要注意的是首先df -lh看下自己的LVM使用了多少,保证缩小以后不会损害原来的数据
lvreduce -L 3G /de/myvg/testlv //同样3G表示缩小到3G,-3G表示的是缩小3G
mount /dev/myvg/testlv //重新进行挂载。
这样就实现了从逻辑卷的创建到最后的扩展和缩小。
961

被折叠的 条评论
为什么被折叠?



