逻辑卷管理器(lvm)(代码片段)

author author     2022-12-23     507

关键词:

LVM

 逻辑卷允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小,其实是对磁盘空间、可以是硬盘、也可以是分区,而且可以有多个分区和磁盘,并且不要求大小一样,跟raid不一样,然后我们把普通的磁盘或者分区称为linux的块设备
  注意:在生产中逻辑卷需要配合硬件raid来使用

逻辑卷怎么管理和创建呢

  1、把块设备,普通的硬盘设备变成物理卷 Physical Volumes 简称PV
 如何创建物理卷用到的命令是pvcreate
   2、接着把创建好的物理卷加入到大的逻辑概念组中,叫作卷组 Volumes Group 简称VG
 创建卷组的命令 vgcreate
  3、逻辑卷 就是在卷组的基础上创建的逻辑的分区, 叫做logical volumes 简称 LV
 创建逻辑卷的命令 lvcreate

LVM: Logical Volume Manager,Version: 2

dm:device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块;
逻辑卷的核心就是dm
  设备名:/dev/dm-#
软链接:
  /dev/mapper/VG_NAME-LV_NAME
    /dev/mapper/vol0-root
  /dev/VG_NAME/LV_NAME
    /dev/vol0/root
        PV:物理卷
        VG:卷组
        LV:逻辑卷
        PE:物理盘区
        LE:逻辑盘区
 功能:
    用来扩展或者缩减逻辑卷的时候一个单位,它把逻辑卷的总空间切割成一个一个的PE,它的增长或者缩减都是以PE的整数倍来实现的

pv管理工具;

  pvs;简要pv信息显示
  pvdisplay;显示pv的详细信息
  pvcreate /path/device  #创建pv

vg管理工具:

 1、显示卷组
   vgs
   vgdisplay
 2、创建卷组
  vgcreate[-s #[kKmMgGtTpPeE]] VolumeGroupNamePhysicalDevicePath[PhysicalDevicePath...]
 3、管理卷组
  vgextendVolumeGroupNamePhysicalDevicePath [PhysicalDevicePath...]
  vgreduceVolumeGroupNamePhysicalDevicePath [PhysicalDevicePath...]
 4、删除卷组
  先做pvmove,再做vgremove

lv管理工具

 1、显示逻辑卷
  lvs
  lvdisplay
  2、创建逻辑卷
  lvcreate-L #[mMgGtT] -n NAME VolumeGroup
  lvcreate-l 60%VG -n mylvtestvg
  lvcreate-l 100%FREE -n yourlvtestvg
  3、删除逻辑卷
  lvremove/dev/VG_NAME/LV_NAME
  4、重设文件系统大小
  fsadm[options] resize device [new_size[BKMGTEP]]
  resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

扩展和缩减逻辑卷

注意缩减逻辑卷只能在ext系列上进行,xfs只能扩容,不支持缩减、尤其注意缩减时要先做备份以免数据损坏
 1、扩展逻辑卷:
   lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
   resize2fs /dev/VG_NAME/LV_NAME
   lvresize-r -l +100%FREE /dev/VG_NAME/LV_NAME
  2、缩减逻辑卷:
   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、创建pv
            [[email protected] ~]# pvcreate /dev/sdb1 /dev/sdg

        2、创建vg 指定PE大小为8M
            [[email protected] ~]# vgcreate vg0 -s 8M /dev/sdb1,g

        3、创建逻辑卷
            [[email protected] ~]# lvcreate -n lv0 -L 2G vg0
            [[email protected] ~]# lvcreate -n mysql -l 100%FREE vg0 

        4、创建文件系统
            mkfs.ext4 /dev/vg0/lv0 
            mkfs.xfs /dev/vg0/mysql

        5、挂载逻辑卷
            [[email protected] ~]# mkdir /mnt/lv0
            [[email protected] ~]# mkdir /mnt/mysql
            [[email protected] ~]# mount /dev/vg0/lv0 /mnt/lv0/
            [[email protected] ~]# mount /dev/vg0/mysql /mnt/mysql/

        6、扩容现有的逻辑卷
            a、先扩容pv
                [[email protected] ~]# pvcreate /dev/sdc
            b、再把pv新添加的硬盘/dev/sdc加到vg里
                [[email protected] ~]# vgextend vg0 /dev/sdc
            c、扩展/dev/vg0/lv0
                [[email protected] ~]# lvextend -L +2G /dev/vg0/lv0 
            d、扩展之后空间没有同步还是原来的空间需要同步,同步前先确定是哪种的文件系统,比如说ext和xfs同步方法不同需要用df -hT看已挂载的文件系统
                [[email protected] ~]# df -hT
                Filesystem              Type      Size  Used Avail Use% Mounted on
                /dev/mapper/centos-root xfs        50G  4.0G   47G   8% /
                ........
                /dev/mapper/vg0-lv0     ext4      2.0G  6.0M  1.8G   1% /mnt/lv0
                /dev/mapper/vg0-mysql   xfs       2.0G   33M  2.0G   2% /mnt/mysql

            e、同步/dev/vg0/lv0 ext系列同步resize2fs 后面跟的是设备名
                [[email protected] ~]# resize2fs /dev/vg0/lv0

            f、扩展xfs文件系统的/dev/vg0/mysql
                [[email protected] ~]# lvextend -L +1G /dev/vg0/mysql
            g、扩展完之后也需要同步,不过xfs文件系统同步跟ext系列不一样 xfs_growfs 跟上挂载点即可
                [[email protected] ~]# xfs_growfs /mnt/mysql/

            h、扩展空间+自动同步文件系统,ext和xfs通用,一步到位
                [[email protected] ~]# lvextend -r -L +1G /dev/vg0/mysql

        7、缩减空间,xfs缩减不了、只有ext系列可以缩减,注意:缩减一定要先做备份
            1、缩减不支持在线缩减必须要先取消挂载
                [[email protected] ~]# umount /mnt/lv0/
            2、检查文件系统的完整性,这步是必不可少的,没有这步不能进行下一步的操作
                [[email protected] ~]# fsck -f /dev/vg0/lv0
            3、缩减先缩减文件系统、跟创建时相反
                [[email protected] ~]# resize2fs /dev/vg0/lv0 2G
            4、缩减逻辑卷,大小要和缩减文件系统统一,查看缩减后的大小
                [[email protected] ~]# lvreduce -L 2G /dev/vg0/lv0 
                [[email protected] ~]# lvdisplay /dev/vg0/lv0 
            5、操作完之后再挂载
                mount /dev/vg0/lv0 /mnt/lv0

跨主机迁移卷组

                ## 为了不出现意外,万一对方服务器已有了相同的逻辑卷名称,需要先改名
           1、改名,只要改vg名即可,逻辑卷名也可以改
                [[email protected] mysql]# vgrename vg0 newvg0
                [[email protected] mysql]# lvrename /dev/newvg0/lv0 newlv0
            2、取消挂载,因为这里另外一个逻辑卷也在同一个磁盘上都得取消挂载
                [[email protected] mysql]# umount /mnt/lv0/
                [[email protected] ~]# umount /mnt/mysql/
            3、设置卷组为非活动状态,查看是否为非活动状态
                [[email protected] ~]# vgchange -an newvg0 
                0 logical volume(s) in volume group "newvg0" now active
                [[email protected] ~]# lvdisplay
            4、把卷组设置成导出状态
                [[email protected] ~]# vgexport newvg0 
                    Volume group "newvg0" successfully exported
                [[email protected] ~]# lvdisplay
                     Volume group newvg0 is exported
            5、把硬盘拔出接到另外一台上去
            6、导入新加的,要倒整体导入
                [[email protected] ~]# vgimport newvg0 
            7、激活
                [[email protected] ~]# vgchange -ay newvg0 
            8、挂载
                mount /dev/newvg0/newlv0 /mnt/newlv0

逻辑卷管理器快照

1、快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
2、对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适的选择
3、快照只有在它们和原来的逻辑卷不同时才会消耗空间
  a、在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
  b、当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
  c、快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
  d、建立快照的卷大小只需要原始逻辑卷的15%~20%就够了,也可以使用lvextend放大快照

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

技术分享图片

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

快照实例

逻辑卷做快照
        [[email protected] ~]# lvcreate -n lv0-snapshot -s -L 1G /dev/newvg0/lv0 
        Logical volume "lv0-snapshot" created.
    查看
        [[email protected] ~]# lvdisplay 

    为快照创建一个挂载点,再挂载
        [[email protected] ~]# mkdir /mnt/lv0-snapshot
        [[email protected] ~]# mount /dev/newvg0/lv0-snapshot /mnt/lv0-snapshot/

    恢复快照
        1、先取消挂载,逻辑卷和逻辑卷的快照都要取消挂载
            [[email protected] ~]# umount /mnt/lv0
            [[email protected] ~]# umount /mnt/lv0-snapshot/
        2、还原
            [[email protected] ~]# lvconvert --merge /dev/newvg0/lv0-snapshot 

    xfs文件系统做快照
        1、创建快照
            lvcreate -n mysql-snapshot -s -L 1G /dev/newvg0/mysql
        2、创建挂载点,并挂载
             mkdir /mnt/mysql-sn
             mount /dev/newvg0/mysql-snapshot /mnt/mysql-sn/
            # 如果挂载的时候报错用下面这条命令挂载
             mount -o nouuid /dev/newvg0/mysql-snapshot /mnt/mysql-sn/
        3、恢复
            [[email protected] ~]# umount /mnt/mysql-sn/
            [[email protected] ~]# lvconvert --merge /dev/newvg0/mysql-snapshot 
        设置为只读状态
        [[email protected] ~]# lvcreate -n lv0-snapshot -p r -s -L 1G /dev/newvg0/lv0

    删除快照
         lvremove /dev/newvg0/lv0-snapshot

逻辑卷管理器(lvm)(代码片段)

一、什么是LVM?LVM(LogicalVolumeManager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及win... 查看详情

逻辑卷管理器(lvm)(代码片段)

LVM 逻辑卷允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小,其实是对磁盘空间、可以是硬盘、也可以是分区,而且可以有多个分区和磁盘,并且不要求大小一样,跟raid不一样,然后我们把普通的磁盘或者分... 查看详情

lvm逻辑卷创建管理(代码片段)

在虚拟机里面添加三个新的硬盘LVM是LogicalVolumeManager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大小或添... 查看详情

linux中的高级存储管理之逻辑卷管理器lvm(代码片段)

本文主要内容前言1.什么是LVM?2.LVM实验1.LVM各组件实现流程表2.创建LVM及挂载3.LVM的拉伸1.VG容量充足时2.当VG不足时4.LVM的缩减5.LVM的LV磁盘快照6.LVM的删除7.如何移除正在使用的PV3.LVM相关命令集合前言在linux提升五中,我们... 查看详情

逻辑卷管理器(代码片段)

LVM(LogicalVolumeManager,逻辑卷管理器)是动态划分磁盘分区的工具,它在硬盘分区和文件系统之间添加了一个逻辑层,可以让磁盘分区容量调整变得简单而高效。使用LVM可以动态的增加/缩小LVM磁盘分区的容量而不会破坏数据。&nb... 查看详情

逻辑卷管理器(lvm)

1、逻辑卷管理器(LVM)(1)逻辑卷管理器(LVM,logicalvolumemanager)可以整合多个物理分区在一起,让这些分区看起来就像一个磁盘一样,而且,还可以在将来其他的物理分区或将其从这个LVM管理的磁盘中删除。这样可以实现磁... 查看详情

lvm逻辑卷管理(代码片段)

LVM逻辑卷管理dm:devicemapper:将一个或多个底层块设备组织成一个逻辑设备的模块;pv管理工具:pvs:简要pv信息显示pvdisplay:显示pv的详细信息pvcreate/dev/DEVICE:创建pv 查看详情

lvm逻辑卷管理(代码片段)

LVM(LogicalVolumeManager)逻辑卷管理器,是一种磁盘管理工具,在磁盘和分区之上建立一个逻辑层实现了灵活的磁盘管理。LVM可将多个物理分区整合在一起,可按需添加或删除其管理的物理分区,逻辑分区可跨磁盘,容量可动态调整... 查看详情

lvm管理(代码片段)

LVM(LogicalVolumeManager)称作是逻辑卷管理器,之所以称作为“卷”可能是因为可以将文件系统像卷一样伸长或缩短吧,它是Linux系统下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,提高了磁盘分区... 查看详情

lvm逻辑卷管理用法(代码片段)

LVM是LogicalVolumeManager(逻辑卷管理)将物理块设备在多个物理设备间重新组织文件系统,将设备指定为物理卷,用一个或者多个物理卷来创建一个卷组,物理卷是用固定大小的物理区域(PhysicalExtent,PE)来定义的,在物理卷上创... 查看详情

lvm逻辑卷管理--在线扩容逻辑卷与卷组容量缩减逻辑卷快照(代码片段)

LVM逻辑卷管理公司生产环境中使用了LVM逻辑卷管理,所以今天花时间整理一下。通过LVM技术整合所有的磁盘资源进行分区,然后创建PV物理卷形成一个资源池,再划分卷组,最后在卷组上创建不同的逻辑卷,继而初始化逻辑卷,... 查看详情

lvm逻辑卷管理(代码片段)

...)加入卷组中(vg)vgcreatemyvg(卷组名)/dev/sdb3.基于卷组创建逻辑卷lvcreate-nmylv(逻辑卷名)-L2Gmyvg(卷组名)4.为创建好的逻辑卷创建文件系统mkfs.ext4/dev/myvg/mylv5.将格式化好的逻辑卷挂载使用mount/dev/myvg/mylv/mnt查看LVM查看物理卷信息... 查看详情

逻辑卷管理器(lvm)以及快照(特殊逻辑卷)的用法

1.LVM基本介绍2.PV、VG、LV关系详解(PV/VG/LV的创建、扩展逻辑卷大小、减小(减小操作很少用,仅作学习))3.快照的概念以及基本用法(特殊的逻辑卷)4.总结 LVM基本介绍       LVM:LogicalVolumeManager,... 查看详情

逻辑卷管理器(lvm)

逻辑卷管理器(LVM)    逻辑卷在生产环境中有些企业里会用到,但有些企业呢觉得逻辑卷,他是一个逻辑上的软件的东西。他是建立在硬件分区,或者硬盘之上的软件的管理方式,所以觉得他,要是数据放在上面... 查看详情

lvm(逻辑卷管理器)原理

...LVM:PV、PE、VG、LV的意义  LVM的全名是LogicalVolumeManager(逻辑卷管理器),LVM的做法是将几个物理 查看详情

lvm逻辑卷管理器基础

一、LVM简介    逻辑卷管理器LVM(LogcalVolumeManager),LVM可以弹性的调整文件系统的容量,不必要再去烦恼文件系统空间不够的问题。LVM的实现是将几个物理分区(或磁盘)通过软件组合成为一块看起来是独立的大... 查看详情

lvm逻辑卷管理器

LogicalVolumeManager    LVM(逻辑卷管理)是Linux环境下对磁盘分区进行管理的一种机制。    普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,    某个分区空间耗尽时,... 查看详情

lvm(代码片段)

LVM详解 LVM,即逻辑管理器,它是Linux环境下对磁盘分区进行管理的一种机制;它可以将多个物理分区整合在一起,并且可以根据实际需要动态调整文件系统空间。另外,它还可以提供快照,快照在刚创建的时候,其内容是和原... 查看详情