先给出一个图吧,
在这个上图中,我将上图从下往上介绍:
最下面为: PV (Physical Volume) : 物理卷,它是物理设备,它可以是 分区 ,磁盘 ,Raid 。
它如果加进卷组VG后会被划分为一个一个的块叫做 PE(Physical Extend)物理盘区。
这个PE 是在创建卷组的时候定义的,只要把PV加进卷组,
那么它一定跟卷组VG定义的PE相同。
VG(Volume Group):卷组,它拥有它包含的PV中的所有PE,然后将这些PE
提供给 LV 使用。如果发现VG不够用,增加 PV 就可以扩展 VG 的边界。
LV (Logical Volume) : 逻辑卷,说白了创建一个逻辑卷LV 就是根据其大小给
其分配一定数量LE(PE站在物理卷的角度叫做PE,站在逻辑卷的角度叫做LE)。
LV 的 大小可以超出单个物理卷但是逻辑卷的大小之和不能大于卷组,它的LE
可以来自不同的 PV,所以如果某个硬盘坏了,逻辑卷也会损坏。
逻辑卷可以支持类似镜像的功能,以防硬盘损坏,只要在 PV 上用Raid 之类的。
对于我们而言,逻辑卷可以像一个独立的分区进行挂载。
如果想给某个逻辑卷创建快照,那么快照得和逻辑卷在同一卷组上。
对于一个LV来说他的大小成为逻辑边界,卷组的大小为其物理边界。
要创建一个 LV 必须得有 VG ,要创建一个 VG 必须得有 PV 。
所以我们先从创建 PV 开始。(要创建分区必须用 fdisk 创建几个 LVM ,
过程 : 先 n 创建分区 再用 t 修改为(LVM) 类型号 : 8e 再 w 完成
记得用 cat /proc/partitions 一下内核所识别分区,fdisk 最多只能创建15个分区,
具体创建 LVM 分区的过程请看本博文的最后。)
PV 的操作一般都是以 pv 开头的:
创建分区 : pvcreate 分区名
pvremove 把一个pv 中的数据抹除掉
pvmove pv转移,可以把含有数据的pv中的数据移动到其它pv
pvdisplay 可以查看每个pv的详细信息,可以 pvdisplay 设备名 查看某个 pv 的详细信息
pvscan 扫描pv ,也即列出系统中所含有的 pv
pvs 查看pv (简单查看) ,可以 pvs 设备名 只查看某个pv 的信息
由pvdisplay 可以发现每个pv 在没加入卷组前,其 PE 值都为 0。
好了,pv 创建完了之后,我们就可以创建 vg 了。
vg 的操作如下 :
vgcreate (创建 vg )
vgremove(删除vg)
vgextend(vg 扩展,也即是把新的pv加进来)
vgreduce(vg 缩减,也即是把vg中的某个pv拿走)
vgrename (给 vg 重命名)
vgs (简单查看vg ) vgs VG_NAME (查看具体vg)
vgdisplay (查看vg的详细信息) vgdisplay VG_NAME (查看具体vg)
vgscan (列出系统中有的 vg)
详细 :
vgcreate VG_NAME 所用pv
选项: -s : 指定PE 大小 (PE 盘区大小默认为 4 MB,PE 盘区创建后是不能改变的 )
如 : vgcreate -s 8M myvg /dev/sdb{7,8}
vgremove VG_NAME 删除VG
例如 删除VG vg_test
vgreduce VG_NAME 要移除的pv (从某个 VG 中拿走某个 VG)
注意拿走之前要先对拿走 pv 中的数据进行转移
如 : pvmove /dev/sdb2 /dev/sdb1 把 /dev/sdb2 中的数据移动到 /dev/sdb1 中
vgextend VG_NAME 要添加进来的pv ( 把某个pv 添加进某个 VG)
vgs , vgscan , vgdisplay
vgs VG_NAME , vgdisplay VG_NAME 具体例子如下
vg创建完了之后下面就剩下创建 lv 了。
lv 的操作如下 :
lvcreate 创建一个逻辑卷 lvremove 删除一个逻辑卷
lvextend 扩展逻辑卷 lvreduce 缩减逻辑卷
lvresize 修改逻辑卷的大小
lvs 简单查看逻辑卷 lvdisplay 查看逻辑卷的详细信息
详细 :
lvcreate -n 逻辑卷名 -L 大小(单位 K M G) 卷组名称
在卷组中创建逻辑卷并指定大小
如 :
lvcreate -n testlv -L 100M myvg (在 myvg 卷组中创建 逻辑卷 testlv 大小为 100 M)
lvscan lvs lvdisplay
可以发现当要用 lvs 或者 lvdisplay 查看某一具体 lv 信息时 后面必须跟 LV Path
下面的操作为创建 2 4 分区 ,最后把 1 2 4 分区都改为 LVM 类型。