【Linux基础】lvm逻辑卷管理的组成

2020-10-16 20:11发布

3条回答
yxq
2楼-- · 2020-10-19 08:54

底层物理卷:可以是单独磁盘或磁盘的分区

再上层卷组:添加物理卷到卷组

再上层逻辑卷:将整个卷组或卷组的一部分创建逻辑卷

再上层:文件系统


lvm的作用:1.可以实现条带化提供磁盘的读写性能 2.实现镜像提高磁盘中数据的安全性 3.实现动态扩容,管理磁盘更加方便尤其是lvm上面的文件系统空间不足时,这是标准分区和raid不具备而实际工作中确常见的需求可以通过lvm实现

我是大脸猫 - 峡谷钢琴家
3楼-- · 2020-10-19 13:33

一.限额的介绍与设定

    限额表示对数额的限定,在linux系统中我们可以设置截取磁盘大小的额度。

    限额是针对于设备的,而不是针对用户的(我们可以举例:蚂蚁花呗的额度是针对软件本身的,而不是针对每个使用者的)

    1.设定配额  

        (1)mount -o usrquota /dev/vdb1 /mnt     该命令表示挂载的同时激活配额参数,-o 表示激活配额参数 


   (2)edquota -u student   表示对student用户设置配额参数(设置大小为20480k)

       

       图中的几部分分别表示:

                         blocks是student在/dev上已经真实存在的文件大小

                         soft软限(再建立多少大小的文件会受到警告)

                         hard硬限(最多再建立多少大小的文件)

                         inodes 已经存在的文件个数

                         soft  再建立多少个文件会受到警告

                         hard  最多能再建立多少个文件

            (3)chmod 777 /mnt        /mnt 777的权限,使普通用户也可以操作/mnt


            (4)vim /etc/fstab 编辑配置文件,使其开机时读取文件,加载配额

                             /dev/vdb1 /mnt xfs  defaults,usrquota  0 0

                      


              (6)su - student

                      dd if=/dev/zero of=/mnt/studentfile bs=1M count=10(在student下做实验)

                      当截取大小超过20M时会提示错误

                       

二.lvm逻辑卷组的管理

     (一)建立逻辑卷组


              1.划分三个大小为1G 的分区

              2.修改格式为8e

              3.pvcreate /dev/vdb1   创建pv(划分的磁盘分区,未榨汁的橙子)

              4.vgcreate vg0 /dev/vdb1 创建vg(盛放所有果汁的容器)

              5.lvcreate -L 300M -n lv0 vg0  创建lv(盛放自己倒出来果汁的容器)

              6. mkfs.xfs /dev/vg0/lv0  将自己倒果汁的杯子格式化

              7.mount /dev/vg0/lv0 /mnt 将这个杯子挂载在/mnt下

                   lv0不够向vg要,vg不够向pv要,pv不够就要增加新的硬件设备   (mapper是存放虚拟设备的地方)


               在做这个实验的时候,我们可以用一个监控命令来观察lvm的建立

                         

                         

   (二)扩大.xfs文件系统中的lvm设备


             1、直接扩大设备

                  lvextend -L 500M  /dev/vg0/lv0     ##扩大设备(拉大到500M)

                  xfs_growfs /dev/vg0/lv0            ##扩大文件系统

                    (下图是扩大.xfs系统的命令和扩大后监控处的情况)

                   

                   

             2、当卷组内存不够时:

                 pvcreate /dev/vdb2                 ##建立新的物理卷

                 vgextend vg0 /dev/vdb2             ##扩展物理卷组  

                 (下图是扩大.xfs系统的命令和扩大后监控处的情况)

                 

                 

                 lvextend -L 1500M /dev/vg0/lv0     ##扩大设备(拉大到1500M)

                 xfs_growfs /dev/vg0/lv0            ##扩大文件系统

      (三).xfs的文件类型只能扩大,不能缩小,而ext4既可以扩大也可以缩小

                1.扩大ext4文件系统的设备

                     umount /mnt                        ##解除xfs格式文件系统的挂载

                     mkfs.ext4 /dev/vg0/lv0             ##改变文件系统的格式为ext4

                    mount /dev/vg0/lv0 /mnt            ##挂载

                    mount                              ##查看文件系统格式(最后一行)

                    

                    lvextend -L 1800M /dev/vg0/lv0     ##扩大设备

                    resize2fs /dev/vg0/lv0             ##扩大文件系统(ext4格式)

                    

                               

           2.缩减设备                 


                   umount /mnt                        ##解除挂载

                   e2fsck -f /dev/vg0/lv0             ##扫描文件系统

                   resize2fs /dev/vg0/lv0 1000M       ##缩减文件系统

                   mount /dev/vg0/lv0 /mnt            ##挂载

                   lvreduce -L 1000M /dev/vg0/lv0     ##缩减设备

        

        

   (三)缩减vg                   


                如果移除的设备有数据则需要移到没有数据的设备上

                pvmove /dev/vdb1 /dev/vdb2           将vdb2的数据移到vdb1

       注意:如果缩减的设备没有数据,则不需要这一步

                vgreduce vg0 /dev/vdb1             移除物理卷组

                pvremove /dev/vdb1                  移除物理卷


          (四)建立lvm快照

                    我们可以做到像在虚拟机管理中那样,对lvm编写快照,在快照中操作lvm

                    umount /mnt                                    解除挂载

                    cd /mnt     

                    touch westos{1..10}                           建立10个文件

                   lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0     建立快照     -s 表示照的对象是谁   拍得的快照名为lv0bachup

                    mount /dev/vg0/lv0backup  /mnt                 把快照挂载在/mnt 

                    cd /mnt

                    ls

                    rm -fr *

                    ls 

                      

            (五)移除快照和恢复快照

                    umount /mnt                                           解除挂载

                    lvremove /dev/vg0/lv0back                    删除快照

                    lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0    重新建立快照

                   mount  /dev/vg0/lv0back /mnt                         挂载

                   ls /mnt

                   


         (六).删除lvm物理卷组

                   

                    umount /mnt                         ##解除挂载

                    lvremove /dev/vg0/lv0backup         ##移除快照

                    lvremove /dev/vg0/lv0               ##移除物理卷

                    vgremove vg0                        ##移除卷组

                    pvremove /dev/vdb{1..2}             


       删除lvm跟建立lvm的过程正好是相反的,先删除lv,再删除vg,最后移除pv


flyeagle
4楼-- · 2020-10-21 18:45

LVM的组成分有几个部分:PV,VG, LV,PV是物理卷,VG是物理卷组成的卷组,LV是逻辑卷。