71 LV信息查看
LV-逻辑卷:逻辑卷指的是从VG上划分出逻辑空间供用户使用,使用的前提是LV需要先按照所需的文件系统格式化,然后再去进行目录的挂载。那么上面我们已经提过了。LV的逻辑单元-LE实际上就是PV的物理单元-PE。
一 查看LV信息
lvscan
lvscan
ACTIVE '/dev/centos/swap' [<7.63 GiB] inherit LV状态是激活状态的,并且使用空间小于7.63G
ACTIVE '/dev/centos/root' [<71.90 GiB] inherit LV状态是激活状态的,并且使用空间小于71.9G
查看LV详细信息:
lvdisplay
lvdisplay -v
lvdisplay -v + LV PATH //单个的LV详细信息
示例:lvdisplay -v /dev/centos/root
72 LV的创建与删除
二 LV的创建
lvcreate -L lv的大小(M|G) -n LV的名字 VG名称
lvcreate -L 97M -n lv01 datavg
Rounding up size to full physical extent 100.00 MiB
// LV空间的分配规则:由于LV是由PV上的PE通过VG经过逻辑化所转化的,所以LE也要遵循着PE的大小进行分配,不能将一个完整的PE分隔开,最少分配也应该是一个完整的PE大小也就是4MB。也就是说要遵循PE的整数倍进行空间的划拨与分配。本例中我们的PE大小为4MB,所以我们的LE大小也得是4MB。如果你不够一个PE分配的话,他也会给你一个完整的PE进行LE的逻辑转化。我们从上面可以看出。我要建立的LV大小为97M,所以他大于96MB(24个PE的大小),但是他小于100M(25个PE的大小),所以直接按照25个PE的大小进行分配,最终转换成25个LE也就是100MB的空间。
Logical volume "lv01" created. 逻辑卷 lv01创建成功
做一个计算题:
先创建两个LV:
lvcreate -L 94M -n lv02 datavg
lvcreate -L 91M -n lv03 datavg
lvcreate -L 97M -n lv01 datavg
Rounding up size to full physical extent 100.00 MiB
lvcreate -L 94M -n lv02 datavg
Rounding up size to full physical extent 96.00 MiB
lvcreate -L 91M -n lv03 datavg
Rounding up size to full physical extent 92.00 MiB
我们从上面的命令可以看出来:VG已经从PV上面调用了25+24+23个PE进行逻辑转化,最终产生了72个LE。也就是说我们的VG逻辑转换了72个PE,再进一步的说PV一共给了VG提供了72个PE。
另一种创建LV的方式 给出他具体LE的数量
lvcreate -l(小写的L) LE的数量 -n LV的名字 VG名称
lvcreate -L 25 -n lv01 datavg(这种方式是不对滴)
实际执行效果:
lvcreate -L 25 -n lv01 datavg
Rounding up size to full physical extent 28.00 MiB
// 28M是7个PE,那么这里的25他是按照25M进行计算的,24MB是6个PE
Logical volume "lv01" created.
另一个测试结果:
lvcreate -l 25 -n lv02 datavg
Logical volume "lv02" created. 直接就创建好了,压根没说什么空间的事
使用lvscan命令查看
lvscan
ACTIVE '/dev/datavg/lv01' [28.00 MiB] inherit
ACTIVE '/dev/datavg/lv02' [100.00 MiB] inherit
//这里显示的是100M 25个LE(PE) 说明成功了,说明是小写的L是有效参数
另另一种创建LV的方式:
lvcreate -l 数字比例(剩余空间)free -n lv02 datavg
//根据你所提供的百分比自动分配剩余空间
lvcreate -l 90%free -n lv02 datavg
//这里就代表创建完lv后 剩余空间=100%-90%=10%,也就是说剩余的空闲空间只有原来总空间的百分之十。而其余百分之九十的空间被拿去建立了lv
lvcreate -l 90%free -n lv02 datavg
Logical volume "lv02" created. lv02创建完成
三 LV的删除
lvremove lv名字 VG名称 (最常见的错误 VG找不到 然后胡搞 具体可见下述执行效果)
lvremove VG名称 lv名字 (最常见的错误 虽然找到了VG 但是也瞎搞)
执行效果:
lvremove lv03 datavg
Volume group "lv03" not found
Connot process volume group lv03
Do you really want to remove active logical volume datavg/lv01? [y/n]:y
Logical volume "lv01" successfully removed
Do you really want to remove active logical volume datavg/lv02? [y/n]:n
Logical volume datavg/lv02 not removed.
Do you really want to remove active logical volume datavg/lv03? [y/n]:n
Logical volume datavg/lv03 not removed.
最棒的方式
lvremove lv的名称(lv的绝对路径)
优先先找到各个lv的路径
lvscan
ACTIVE '/dev/datavg/lv02' [96.00 MiB] inherit
ACTIVE '/dev/datavg/lv03' [92.00 MiB] inherit
ACTIVE '/dev/centos/swap' [<7.63 GiB] inherit
ACTIVE '/dev/centos/root' [<71.90 GiB] inherit
确认lv的路径以后使用lvremove lv的名称(lv的绝对路径)进行删除
lvremove /dev/datavg/lv03
Do you really want to remove active volume datavg/lv03? [y/n]:y //会让你去确认是否删除
Logical volume "lv03" successfully removed lv03删除成功