Linux- LVM逻辑卷管理

1  基本概念

       LVM,logical volume manager,逻辑卷管理器,属于磁盘的一种使用方式,克服基本磁盘的弊端,相当于windows里面的动态磁盘。

PV(physical volume)物理卷:可以是一个磁盘或一个分区

VG(volume group)卷组:多个PV组成的一个组,至少要一个PV

PE物理块:PV加入VG中时会划分等大的物理块,这些物理块叫PE

LE逻辑块:与PE是映射关系,两者等大,且一一对应

LV逻辑卷:由LE组成,多个LE组成一个LV

      LVM工作原理:在Linux中把分区或磁盘标识为PV,多个PV组成卷组,PV加入VG时会被划分成等大的物理块叫PE,PE与LE一一等大映射,多个LE组成LV,将LV挂载使用,数据存储在PE中,也就是存在磁盘中。当LV容量不够时,只需要随机划分PE即可。

2  LVM的使用

1)创建PV:pvcreate  分区或磁盘设备文件

pvcreate  /dev/sda2    //pv名就是磁盘或分区所在目录

2)查看系统内PV的状态:pvs  或 pvdisplay 或   pvscan

3)创建VG:vgcreate  VG名  PV名

例:vgcreate   testvg   /dev/sda1   //-s指定PE大小,如果不指定,默认大小就是4M

4)查看系统VG的状态:vgs  或者vgdisplay  或者vgscan

5)创建LV:lvcreate  -L   lv大小   –n   lv名称   vg名

例如 : lvcreate  -L   500M    -n    testlv     testvg

6)格式化LV,挂载使用

    mkfs   –t   文件系统类型   /dev/vg名/lv名

    创建挂载点   mkdir   /mnt/目录名

    挂载:  mount   /dev/vg名/lv名    /mnt/目录名

7)开机自动挂载LV

编辑配置文件  vim  /etc/fstab   

在末尾添加:/dev/vg名/lv名  挂载点 文件系统类型  权限  是否备份 是否检查

例如:vim  /etc/fstab    

     /dev/testvg/testlv   /mnt/testlv   ext4   defaults   0    0

8)删除LVM

如果有挂载的LV,需要先卸载——  umount  挂载点

删除lv ——    lvremove   /dev/vg名/lv名

删除vg ——   vgremove   /dev/vg名

删除pv——    pvremove    /dev/pv名

注意:删除过程不能更改。但是可以跳过删除lv,直接删除vg

9)LVM扩容与缩容

      对象:VG  LV   

      原理:VG扩容就是向VG中增加PV,VG缩容就是从VG中剔除PV。LV扩容就是向LV中增加LE,LV缩容就是从LV中剔除LE。LV的扩容需要VG有足够的空间

VG扩容与缩容

扩容:  vgextend  vg名  pv名        缩容:  vgreduce  vg名  pv名

LV的扩容与缩容

扩容:  lvextend  -L  +扩充的容量   -f  -r   /dev/vg名/lv名

缩容:  lvreduce  -L  -扩充的容量   -f  -r   /dev/vg名/lv名

注意:有+、-号时,就是在原有容量基础上加减多少,没有+、-号就是直接变成多少容量;

VG、LV的缩容可能会破坏数据,因此很少缩容;

LV需要进行格式化之后才能进行扩容与缩容操作。

3 条带化LV

1)条带化LV概念

磁盘阵列 raid:

raid0条带化,至少需要两块规格大小一样的磁盘,组成一个磁盘组。存储与读取文件时会多个磁盘多任务写入或读取。  

raid1 镜像化,一个磁盘是另一个磁盘的备份,删掉一个磁盘里的数据,另一个磁盘也会删掉这个数据,但是如果一个磁盘损坏了,还可以通过另一个磁盘获取数据。

条带化LV和raid0原理一样。也是需要规格大小一样的PV。

2) 创建条带化LV:在VG中至少需要两块PV,PV的大小要一致

创建:lvcreate  –l  100%FREE  -I  2  –I  64  –n  lv名  vg名

注:第一个参数为小写的L,用于指定创建lv使用的磁盘空间

第二个参数为小写的i,用于指定创建lv使用的磁盘数量

第三个参数为大写的i,用于指定条带化lv的带区大小

创建完成后,即可格式化、挂载使用

4 同时创建lv及其镜像

在vg中至少需要两块PV,PV的大小要一致

创建镜像LV:lvcreate  -L  lv的大小  -m1  -n   lv名    vg名

注:LV的大小不能大于一块pv的大小;

    -m1:创建LV时同时在vg中的另一块pv上创建其镜像

举例说明:

1)将/dev/sdb创建为pv,加入vg,创建LV,格式化后挂载到/mnt/aa,在/mnt/aa中创建f1

pvcreate   /dev/sdb                      vgcreate   vg   /dev/sdb

lvcreate     -L   500M   -n    lv    vg

mkfs    -t   ext4    /dev/vg/lv          mkdir    /mnt/aa

mount    /dev/vg/lv    /mnt/aa           touch     /mnt/aa/f1

2) 添加pv  /dev/sdc至vg中,创建LV的镜像至/dev/sdc中

vgextend    vg     /dev/sdc

lvconvert    -m1    /dev/vg/lv     /dev/sdc

3)破坏pv  /dev/sdb ,确认f1文件仍然存在

dd   if=/dev/zereo  of=/dev/sdb   count=10

查看被破坏的pv:pvs  ,被破坏的pv显示unknown  device

确认f1文件存在:find  /mnt/aa    -name   f1

4)将损坏的pv从vg中剔除,并删除镜像关系

剔除pv: vgreduce  --removemissing  --force   /dev/vg

删除镜像关系:lvconvert   -m0   /dev/vg/lv

5)将新的pv  /dev/sdd 加入vg,并重新创建LV的镜像

扩展vg:vgextend   vg   /dev/sdd

创建镜像: lvconvert   -m1   /dev/vg/lv    /dev/sdd


转载请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值