逻辑卷管理器

逻辑卷管理器(LVM)

    允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小

    允许在多个物理设备间重新组织文件系统

        • 将设备指定为物理卷

        • 用一个或者多个物理卷来创建一个卷组

        • 物理卷是用固定大小的物理区域(Physical Extent,PE )来定义的

        • 在物理卷上创建的逻辑卷是由物理区域(PE )组成

        • 可以在逻辑卷上创建文件系统

LVM介绍

    LVM: Logical Volume Manager, , Version: 2

    dm: device mapper: : 将一个或多个底层块设备组织成一个逻辑设备的模块

    设备名:/dev/dm-#

    软链接:

        /dev/mapper/VG_NAME-LV_NAME

        /dev/mapper/vol0-root

        /dev/VG_NAME/LV_NAME

        /dev/vol0/root

               附一张简单的lvm模型图

LVM-模型图.jpg

lvm更改文件系统容量

    LVM 可以弹性的更改LVM的容量

        通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量

pv管理工具

    显示pv 信息

        pvs :简要pv 信息显示

        pvdisplay

    创建pv

        pvcreate /dev/DEVICE

blob.png

                这个表示已经创建过了

blob.png

                用pvdisplay命令查看下其详细信息

vg 管理工具

    显示卷组

        vgs

        vgdisplay

    创建卷组

        vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

blob.png

创建卷组  指定vg0为卷组名字 添加/dev/sda6进卷组,然后pvdisplay命令查看下   成功

    管理卷组

        vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

        vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

    删除卷组

        先做pvmove ,再做vgremove

lv 管理工具

    显示逻辑卷

        lvs

        Lvdisplay

    创建逻辑卷

        lvcreate -L #[mMgGtT] -n NAME VolumeGroup

    删除逻辑卷

        lvremove /dev/VG_NAME/LV_NAME

重设文件系统大小

        fsadm [options] resize device [new_size[BKMGTEP]]

        resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

blob.png

        创建逻辑卷 查看其详细信息

然后mkfs格式化一下    vi /etc/fstab写入配置文件   mkdir /mnt/lv0创建文件夹  mount -a挂载  然后就可以正常使用了

扩展和缩减逻辑卷

    扩展逻辑卷:  前提是卷组必须有空间

            # lvextend -L [+]#[mMgGtT]

            /dev/VG_NAME/LV_NAME

            # resize2fs /dev/VG_NAME/LV_NAME

如果没空间了  可以加硬盘  比如:pvcreate /dev/sdc   vgextend vg0 /dev/sdc 就可以加进去了

缩减逻辑卷

            # umount /dev/VG_NAME/LV_NAME

            # e2fsck -f /dev/VG_NAME/LV_NAME

            # resize2fs /dev/VG_NAME/LV_NAME

            #[mMgGtT]

            # lvreduce -L [-]#[mMgGtT]

            /dev/VG_NAME/LV_NAME

            #mount

逻辑卷的一些相关命令

    创建逻辑卷

        1、分区

            fdisk /dev/sda

            partx -a /dev/sda

            lsblk

        2、pvcreate  /dev/sd{a7,b}

            pvs

            pvdisplay 

        3、vgcreate vg0 /dev/sd{a7,b}

            vgs;pvs;pvdisplay;vgdisplay 

        4、lvcreate  -n lv0 -L 10G vg0 

        5、mkfs.ext4 /dev/vg0/lv0 

        6、vi /etc/fstab 

            mkdir /mnt/lv0;mount -a

    扩展lv

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

        resize2fs  /dev/vg0/lv0 

        df -h

扩展卷组

        1、pvcreate  /dev/sdc

        2、vgextend vg0 /dev/s

缩减逻辑卷

        # umount /dev/VG_NAME/LV_NAME

        # e2fsck -f /dev/VG_NAME/LV_NAME

        # resize2fs /dev/VG_NAME/LV_NAME

        #[mMgGtT]

        # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

        # mount

创建逻辑卷实例

    ·创建物理卷

        pvcreate /dev/sda3

    ·为卷组分配物理卷

        vgcreate vg0 /dev/sda3

    ·从卷组创建逻辑卷

        lvcreate -L 256M -n data vg0

        mke2fs -j /dev/vg0/data

   ·挂载

    mount /dev/vg0/data /mnt/data

逻辑卷管理器快照

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

    ·对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择。

    ·快照只有在它们和原来的逻辑卷不同时才会消耗空间。

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

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

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

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

逻辑卷的原

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

由于快照区与原本的LV公用很多PE的区块,因此快照去与被快照的LV必须要在同一个VG上,系统恢复的时候的文件数量不能高于快照区的实际容量

使用lvm快照

    为现有逻辑卷创建快照

 #lvcreate -l 64 -s -n snap-data -p r /dev/vg0/data

    挂载快照

      

  #mkdir -p /mnt/snap
  #mount -o ro /dev/vg0/snap-data /mnt/snap

    删除快照

      

  #umount /mnt/databackup
  #lvremove /dev/vg0/databackup


练习:

·创建一个至少有两个PV 组成的大小为20G的名为testvg的VG ;要求PE 大小为16MB, 而后在卷组中创建大小为5G 的逻辑卷testlv ;挂载至/users 目录                                     

pvcreate /dev/sd{b,c,e}{1,2}                 
vgcreate testvg -s 16M /dev/sd{b,c,e}{1,2}      
lvcreate -n testlv -L 5G testvg                 
mkfs.ext4 /dev/testvg/testlv                  
mkdir /users                                   
vim /etc/fstab                                 
mount -a

·新建用户archlinux ,要求其家目录为/users/archlinux,而后su切换至archlinux 用户,复制/etc/pam.d目录至自己的家目录

useradd -d /users/archlinux archlinux           
su - archlinux                               
cp -a /etc/pam.d/* .                            
exit

·扩展testlv 至7G ,要求archlinux 用户的文件不能丢失

·收缩testlv 至3G ,要求archlinux

lvextend -L 7G /dev/testvg/testlv               
resize2fs /dev/testvg/testlv                   
umount /users                                   
e2fsck -f /dev/testvg/testlv    
lvreduce -L 3G /dev/testvg/testlv        
mount -a

·对testlv 创建快照,并尝试基于快照备份数据,验正快照的功能

lvcreate -s -L 500M -n testlvsnap -p r /dev/testvg/testlv       
mkdir /mnt/testlvsnap                                             
mount /dev/testvg/testlvsnap /mnt/testlvsnap/

原创文章,作者:旧城以西,如若转载,请注明出处:http://www.178linux.com/43878

(0)
旧城以西旧城以西
上一篇 2016-09-06 15:18
下一篇 2016-09-06 15:23

相关推荐

  • OSI七层模型

      OSI模型的七层结构 首先,OSI是什么呢?OSI(Open System Interconnection),OSI是一个开放性的通行系统互连参考模型,是一个协议规范。它把网络协议从逻辑上分为了7层。每一层都有相关、相对应的物理设备。OSI七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要…

    2017-09-02
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp复制, mv剪切, rm移除 语法格式: cp复制  cp [OPTION]… [-T] SOURCE DEST  常用选项: -i:交互式 -r: 递归复制目录及内部的所有内容 -a: 归档   演示: …

    Linux干货 2016-07-12
  • sed大法好

    sed sed概念 (1)基本概念:sed是流编辑器(stream editor),A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline).作用就是对输入的流(文件或者从一个管道输入的流…

    Linux干货 2016-12-02
  • 逻辑卷LVM

    逻辑卷LVM 简介     在实际生产应用中,磁盘的分区的容量是固定不变的,当出现分区容量不足的情况,除了新加磁盘,还有没有其他方法呢?    逻辑卷(LVM)的概念就出现了,全称叫Logical Volume Manager。它的作用是允许对卷进行方便操作的抽象层,包括重新设定…

    Linux干货 2017-08-12
  • yum用法第二篇-自定义创建yum仓库

    一、前言      上次写了yum命令的介绍及常见使用说明,这次打算继续整理下如何自定义创建yum仓库,这在企业中也是非常常见的设置方式,有些公司为了服务器安全是不允许连接外网的,自定义创建yum仓库正好可以实现局域网单独安装管理程序包这种需求。 二、用法说明      1.使用…

    Linux干货 2015-09-22
  • 马哥教育网络班21期第1周课程练习 — 草稿

    1、描述计算机的组成及其功能。     计算机的主要组成部分包括:运算器、控制器、存储器、输入设备、输出设备。        按更常见的组件来讲:CPU = 运算器+控制器、 内存+硬盘 = 存储器、 I/O = 输入设备+输出设备  &n…

    Linux干货 2016-07-07