逻辑卷:
首先要了解逻辑卷的组成:
要想建逻辑卷就要了解逻辑卷的组成,他是有层次性的,从上到下一次可以是:
上: 逻辑卷 lvm
中: 卷组 vg
下: 物理卷 pv
底层: 磁盘,raid,分区……
第一季:
----------逻辑卷的建立:
1,这里我们一般用分区来做逻辑卷,所以分区时候要把所分区的类型改为8e:
注意这里要重启,不然不能使用,这里我们分了/dev/sda8 /dev/sda9 /dev/sda10 3个分区
建立pv物理卷:
Pvcreate /dev/sda8 /dev/sda10 (这里我们将sda1 sda2 建立成物理卷)
建立卷组:
Pvcreate vg01 /dev/sda8 /dev/sda9 (这里我们将上面的2个物理卷组成一个卷组取名为vg01)
建立逻辑卷:
Lvceate -L 200M -n lvm vg01(这里L 指定逻辑卷大小,n表示给逻辑卷取名,为lvm,后面指定你的卷组,就是说你这个逻辑卷是在你vg01这个卷组上的)
这样逻辑卷就建立了,最后可以将逻辑卷格式化
Mkfs.ext4 /dev/vg01/lvm
这样,就可以挂载逻辑卷了(如果不格式化是挂载不起来的,他会提示你要指定文件类型)
第二季
--------------物理卷,卷组,逻辑卷的查看:
Pvdisplay 是查看物理卷(加参数-v 可以看到更详细的信息)
这里我们一看到/dev/sda8和/dev/sda9被做成了物理卷,且PE大小为4M(默认值),他们都有各自的UUID
Vgdisplay
这里我们可以看到卷组名为vg01,由2个成员组成PE大小也为4M,数量为54
查看卷组
Lvdisplay 查看逻辑卷
上面是简单的逻辑卷的建立,下面我们来考虑PE问题,PE是physic extend 物理扩展,是最小单元,默认是4M ,也就是说当你建立并指定一个逻辑卷的大小时,逻辑卷的大小只能是4的倍数,就算你指定逻辑卷为510M ,他也会给你改为512M.那么我们来怎么指定PE 呢?
在建立卷组的时候:
Vgcreate -s 16M vg01 /dev/sda1 /dev/sda2
这里我们用参数S就指定PE的大小为16M,
当然,当你建立逻辑卷的时候,也可以通过指定PE的个数来指定逻辑卷的大小:
Lvcreate -l 10 -n lvm vg0这里我们指定了10个PE,也就是说这个逻辑卷大小为10*16M=160M
这里我们指定了PE大小,可以看到PE 大小为16M
第三季
-----------设备名
从上面可以看出,我们指定卷组名为vg01后,然后指定逻辑卷为lvm,那么生成的逻辑卷的设备名就为/dev/vg01/lvm
当然,有的人也会发现,这个设备名在某些情况写被写成了
/dev/mapper/vg01-lvm
其实这2个名字都是指同一个逻辑卷,他们的实质都是链接文件
第四季
------------------逻辑卷的拉伸
对于逻辑卷的拉伸问题,在这里说几个需要注意的:
逻辑卷的拉伸是可以在线执行的,也就是说在不卸载逻辑卷的同时对它进行拉伸
分清逻辑卷的拉伸和文件系统的拉伸,我们把逻辑卷拉伸了,但是文件系统还是一样大小,只有当我们也把文件系统拉伸后,才是真正意义上的拉伸了
注意拉伸的顺序,首先拉伸逻辑卷,然后才能拉伸文件系统
下面上图:
这里我们用的命令 是lvextend 把逻辑卷大小拉成了200M,
我是将逻辑卷挂载到/mnt 目录上了,我们来查看一下这个文件系统大小变化没
这里我们可以看到大小还是100M(因为会预留5%所以大小小于100M)
所以我们这里不要忘记拉伸文件系统
这里大小就变成了200M了
第五季
-----------逻辑卷的减小
这里要注意几点:
逻辑卷在减小的时候,是要卸载的,是不能在线减小的。
先减小文件系统,再减小逻辑卷
减小前,一定要扫描,为什么要扫描,因为扫描前,数据的存储可能是不连续的,所以在你减小分区的时候,会导致数据丢失,所以当你扫描后,会使文件靠前连续存放,然后减小时就减小了使数据丢失的可能性
第六季
-------------------数据的转移和卷组的扩大(即将新物理卷加到卷组中)
Pvmove lvmove
Pvmove /dev/sda7
卷组扩大:
将/dev/sda10加入到卷组中
第七季
-----------------逻辑卷的删除
要点:
逻辑卷是从上往上建立的,那么删除就要从上往下
也就是先删除逻辑卷,然后删除卷组,最后删除物理卷
这里另外补充一点,关于逻辑卷的状态,active
Lvchange -a y /dev/vg01/lvm 激活逻辑卷
Lvchange -a n /dev/vg01/lvm 非激活逻辑卷
至于在raid上面做逻辑卷,原理一样,首先建立raid,假设命名为/dev/md0
那么我们可以
Pvcreate /dev/md0
Vgcreate vg01 /dev/md0
Lvcreate -L 100M -n lvm vg01
这样就可以了