LVM详解

1、LVM简介
安全

    LVM(Logical Volume Manager,逻辑卷管理)的重点在于能够动态调整文件系统的容量!而并不是在于数据的存储效率及安全上面。须要文件的读写性能或者是数据的可靠性是RAID所考虑的问题。LVM能够整合多个实体分区在一块儿,让这些分区看起来就像是一个磁盘同样!并且,还能够在将来新增或移除其它的实体分区到这个LVM管理的磁盘当中。如此一来,整个磁盘空间的使用上,实在是至关的具备弹性。
ide

2、LVM经常使用术语性能

    1.物理存储介质(he physical mediaThe physical media):这里指系统的存储设备文件,如/dev/sda,/dev/sdb等等;测试

    2.物理卷(Physical Volume):简称PV,物理卷就是指硬盘分区或从逻辑上与磁盘分区具备一样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区,硬盘)比较,却包含有与LVM相关的管理参数;spa

    3.卷组(Volume Group):简称VG,LVM卷组相似于非LVM系统中的物理硬盘,其由物理卷组成。能够在卷组上建立一个或多个“LVM分区”(逻辑卷),LVM卷组有一个或多个物理卷组成
blog

    4.逻辑卷(Logical Volume):简称LV,LVM的逻辑卷相似于非LVM系统中的硬盘分区,在逻辑卷上能够创建文件系统(如/home,/usr等);
rem

    5.PE(Physical Extent):PV中能够分配的最小存储单元称为PE,PE的大小是能够配置的,默认为4MB;
get

    6.LE(Logical Extent):LV中能够分配的最小存储单元称为LE,在同一个卷组中,LE的大小和PE是同样的,且一一对应;
同步

                wKioL1m3WKvhVnKiAABp93fK9WU290.png-wh_50 

                                           图1 LVM磁盘结构图
it

3、建立逻辑卷

    1.例如:要建立一个10G的lv;

    2.注:逻辑卷能够拿分区或者整块硬盘作实验;这里我用/dev/sda7,/dev/sdb作实验

    3.步骤:

        3.1.建立物理分区:

                ①fdisk /dev/sda;(划分/dev/sda6分区,大小10G,修改分区类型为Linux LVM,ID改成8e)

                ②partx -a /dev/sda;同步分区;

        3.2.建立物理卷(PV):

                ①pvcreate /dev/sd{a6,b};

                ②pvs;

                ③pvdisplay;

            与PV相关的一些管理命令:

                pvcreate:将实体分区建立成为PV;

                pvs:显示pv简要信息;

                pvdisplay:显示PV详细信息;

                pvscan:搜寻目前系统里面任何具备PV的磁碟;

                pvremove:将PV属性移除,让该分区不具备PV属性;

                pvmove:移动pv

        3.3.建立卷组(VG):

                语法:vgcreate VGNAME(卷组名) /dev/pv1...(物理卷)

                ①vgcreate vg0 /dev/sd{a6,b};

                ②vgs;

                ③pvdisplay;

                ④vgdisplay;

            与VG相关的一些管理命令:

                vgcreate:建立VG;

                vgs:显示vg简要信息;

                vgdisplay:显示vg详细信息;

                vgscan:搜寻系统上面是否有VG存在;

                vgextend:在vg内添加额外的pv;    

                vgreduce:在vg内移除pv;

                vgremove:删除一个VG;

                vgchange:配置vg是否启动(active);

        3.4.建立逻辑卷(LV):

                语法:lvcreate [-L 逻辑卷大小 | -l PE的个数] [-n 逻辑卷名称] [所属的卷组名]

                ①lvcreate -L 10G -n lv0 vg0;

                ②lvdisplay;

            与LV相关的一些管理命令:

                lvcreate:建立LV;

                lvs:显示lv简要信息;

                lvdisplay:显示lv详细信息;

                lvscan:查询系统上面的lv;

                lvextend:在lv里面添加容量;

                lvreduce:在lv里面减小容量;

                lvremove:删除一个lv;

                lvresize:对lv进行容量大小的调整   

        3.5.创建文件系统(格式化):

                ①mkfs.ext4 /dev/vg0/lv0;

        3.6.挂载逻辑卷(写进/etc/fstab文件实现自动挂载):

                ①mkdir /mnt/ln0;

                ②/dev/vg0/lv0    mnt/lv0    ext4    defaults    0    0    

                ③mount -a;

                ④df- h

                ⑤cp -r /etc/* /mnt/lv0;

4、扩展逻辑卷    

    1.注:扩展逻辑卷,前提卷组要有足够的容量;

    2.扩展逻辑卷步骤:

                ①lvextend -L +10G /dev/vg0/lv0;

                ②lvdisplay;

                ③resize2fs /dev/vg0/lv0;同步文件系统,resize2fs只能同步ext系列文件系统;

                ④df -h;

        注:扩展逻辑卷容量表示方法:+10G的含义是在已有的当前容量上加上10G;10G的含义是把容量扩展到10G;

    3.要想把卷组空间容量所有扩展完而且同步文件系统使用如下命令:

                ①lvextend  -r -l +100%FREE /dev/vg0/lv0;

                

5、扩展卷组

    1.方法:加硬盘;(这里我用/dev/sdc硬盘作实验)

    2.扩展卷组步骤:

                ①pvcreate /dev/sdc;##把硬盘变成物理卷

                ②vgextend vg0 /dev/sdc;##把物理卷加入卷组

                ③vgdisplay;

6、缩减逻辑卷

    1.缩减逻辑卷步骤:

                ①umount /mnt/lv0:##取消已经挂载的逻辑卷

                ②e2fsck -f /dev/vg0/lv0;##强制进行磁盘检测

                ③resize2fs /dev/vg0/lv0 10G;

                ④lvreduce -L 10G /dev/vg0/lv0;

                ⑤mount -a:从新挂载逻辑卷

                ⑥lvdisplay;

                ⑦df -h;

7、删除物理卷(PV)

    1.删除PV步骤:

                ①pvmove /dev/sdb;将PV中的PE个数移动到别的PV

                ②pvdisplay;(能够看到PE个数被移动到别的PV)

                ③vgreduce vg0 /dev/sdb;从卷组中删除PV

                ④vgdisplay;(能够看到卷组容量变小了)

                ⑤ pvs;(能够看见/dev/sdb不属于VG0)

                ⑥pvremove /dev/sdb;移除pv,不让/dev/sdb具备pv属性;

                ⑦pvs;查看

8、删除逻辑卷

    1.删除逻辑卷步骤:

                ①umount /mnt/lv0;取消已经挂载的逻辑卷

                ②lvremove /dev/vg0/lv0;

                ③lvs;

9、删除卷组

    1.删除卷组步骤:

                ①vgremove vg0;

                ④pvs;

10、逻辑卷快照

    1.快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的 准确拷贝。

    2.对于须要备份或者复制的现有数据集临时拷贝以及其它操 做来讲,快照是最合适的选择。

    3.快照只有在它们和原来的逻辑卷不一样时才会消耗空间:

        3.1在生成快照时会分配给它必定的空间,但只有在原来的逻辑卷或 者快照有所改变才会使用这些空间。

        3.2当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。

        3.3快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快 照中更改的数据。

        3.4创建快照的卷大小只须要原始逻辑卷的15%~20%就够了。也可 以使用lvextend放大快照。

    4.快照就是将当时的系统信息记录下来,就好像照相通常, 若未来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享。

    5.因为快照区与本来的LV共用不少PE的区块,所以快照区与被快照的LV必需要要在同一个VG上。系统恢复的时候的文件数量不能高于快照区的实际容量。

11、建立快照逻辑卷

        注:要事先建立好逻辑卷(我这里事先建立好了逻辑卷(/dev/vg0/lv0),并挂载在/mnt/lv0里),并拷贝一些数据到目录里作实验,如下四步事先准备好:

            (1)cd /mnt/lv0;

            (2)cp /etc/fstab f1;

            (3)cp /etc/fstab f2;

            (4)cp /etc/fstab f3  ;

    1.建立逻辑卷快照步骤:

        注:建立快照要注意卷组空间容量要足够;快照逻辑卷容量小于或等于被快照的逻辑卷;

                ①lvcreate -L 1G -s -n lv0-snapshot -p r /dev/vg0/lv0;建立快照

                ②lvdisplay;查看快照信息

                ③mkdir /mnt/snapshot;建立快照目录

                ④mount /dev/vg0/lv0-snapshot /mnt/snapshot/;挂载快照

    2.测试:

                ①cd /mnt/lv0;进入到被快照的逻辑卷目录里

                ②echo > f1;在被快照的逻辑卷里清空f1的数据

                ③cd /mnt/snapshot;进入到快照逻辑卷目录里

                ④cat f1;能够看到原始f1的数据内容

    3.利用快照回复数据:

        (1)注:所要恢复的数据不能超过快照区的总大小,由于若是变更的数据大小超过了快照区的空间,那么快照区是不能容纳全部变更的数据了,这个时候快照功能会失效。

        (2)方法:把快照里的数据复制到逻辑卷的挂载目录里便可;

    4.删除快照逻辑卷:

                ①umount /mnt/snapshot/;取消挂载

                ②lvremove /dev/vg0/lv0-snapshot;删除快照逻辑卷 

相关文章
相关标签/搜索