lvm逻辑卷管理

#LVM

逻辑卷管理

一、创建pv
    
    创建pv可以在物理硬盘(裸盘上创建),MBR类型的分区(要更改分区类型为linux lvm: 8e )。GPT分区也要更改分区类型为8e00 Linux LVM 。
    还可以在RAID上创建。注意要在没有数据的分区上创建,否则会丢失数据。
    只有需要拆除pv才需要pvmove移动该pv的数据。否者不需要。拆除前要先调整vg大小。尽量让vg小于剩余pv的总和。

    注意,先调整pv上层的个系统,最后pvmove 移动数据。才能拆除pv

    命令
    
        pvcreat
            pvcreate /dev/sdb
        pvremove

        pvmove

二、创建vg
    
    可以创建多个vg,同一硬盘的不同分区可以属于不同的vg。vg类似于MBR的扩展分区,不能独立使用。需要在vg上创建逻辑分区,才能使用。
    一般不建议单独对vg进行缩减操作。一般都是在要缩减lv的空间,才有可能需要缩减vg
    vg创建后,之后创建的lv设备会以软连接的方式放到/dev/mapper/下。lv名称是由所属vgname组成格式: vgname-lvname,使用者更能区分,lv属于哪个vg上的。

    命令
    
        vgcreat
            vgcreate  vg0 /dev/sdb
        vgextend
            vgextend vg0 /dev/sdc
        vgreduce

        vgremove

三、创建lv

    一个vg上可以创建多个lv。
    lv是系统可以识别的使用单位。一个lv就相当于一个磁盘
    创建lv后需要使用分区工具,进行分区。然后创建需要的文件系统。所以注意,想要调整分区大小,一定要使用。相应分区类型的分区调整工具。
    扩容的话可以先扩容lv在更新分区表。使用相应的分区类型的分区调整工具。ext系列是用resize2fs

    命令
        lvreduce
            lvreduce -L 21G /dev/vg0/lvol0 缩减
        lvextend
            lvextend -L 35G /dev/vg0/lvol0 扩大
        lvcreate
            lvcreate -L 15G vg0
        lvremove
            lvremove /dev/vg0/lvol0
        lvresize
            lvreduce -L 21G /dev/vg0/lvol0  lv上有文件系统需要使用扩大vg或减小vg后需要使用  ?
创建快照

要创建快照,卷组一定要有富裕空间。
创建快照卷,快照卷必须与原卷处于同一卷组之内。
建立快照的卷大小只需要原始逻辑卷的15%~20%就够了。也可以使用lvextend放大快照。
快照卷的生命周期,为整个数据时长,数据的增长量不能超过快照卷大小。根据数据变化量创建。最安全的做法是快照卷与原卷一样大,或者与原卷的数据一样大。

    使用LVM快照
    
        为现有逻辑卷创建快照
            #lvcreate -L #[mgt] -s -n snap-data -p r /dev/vg0/data
                -s 创建快照卷
                -p r 创建只读
                -n    指明快照卷名称
        挂载快照
            #mkdir -p /mnt/snap
            #mount -o ro /dev/vg0/snap-data /mnt/snap
        删除快照
            #umount /mnt/databackup
            #lvremove /dev/vg0/databackup

    [root@yangyouwei ~]# lvs
      LV        VG   Attr       LSize  Pool Origin    Data%  Meta%  Move Log Cpy%Sync Convert
      arc-snap  myvg sri-aos—  1.00g      archlinux 0.00                                   
      archlinux myvg owi-a-s— 10.00g                                                       
      data      myvg owi-aos—  7.00g                                                       
      data-snap myvg sri-aos—  1.00g      data      0.01                    

    Attr  属性字段中s表示快照卷。 r只读 ,Origin 指的是原卷,Data% 指的是发生改变的数据(快照的中保存的原卷发生改变的数据)。

四、扩容lv

    扩展逻辑卷:可在线执行扩展操作。无需卸载
        # lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
        # resize2fs /dev/VG_NAME/LV_NAME #G 修复文件系统分区到多大。
            resize2fs -p /dev/VG_NAME/LV_NAME  物理边界有多大,就扩展到多大。

五、缩减lv

        # 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

一定要先卸载,不能在线缩减。

一定要确认缩减后,依然能够容纳下原有的数据。

    [root@yangyouwei ~]# df -hl

一般不建议,进行缩减操作。如必须执行的话,一定要严格按如下步骤执行。否则会造成系统无法识别lv,丢失数据。

先缩减文件系统边界,后缩减lv边界(物理边界)
    
    缩减逻辑卷:严格按照如下步骤只从。
        卸载lv设备             umount/dev/VG_NAME/LV_NAME
        强制检测lv设备         e2fsck -f /dev/VG_NAME/LV_NAME   ####如果是其他文件系统,使用相应的工具进行检查。确保文件系统处于一致状性态。
        调整分区大小            resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]  ####如不是ext系列的分区,许使用相应的工具调整。
        调整lv大小            lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

注意事项:
    
        创建的lvm设备,只有创建了lv以后才能被系统识别看到硬件设备。
        /dev/vgname/vgname-lvname
        /dev/mapper/lvname
        
        lv是被系统设备能够识别的,在/dev下有设备文件。dm-0…dm-n。
        /dev/vgname/lvname  /dev/mapper/lvname都是软连接到 dm设备的

        需要调整分区大小,需要先执行resize2fs,这仅是针对ext系列分区的分区调整工具。其他类型的分区,需要使用相应的工具。
        lvm调整的时候注意各种边界。pv边界,vg边界,lv边界(物理边界) 以及 文件系统边界(逻辑边界)

        创建快照卷,快照卷必须与原卷处于同一卷组之内。

快照的原理

    快照的实现是,创建快照是创建一个元数据监视器,将元数据保存在快照逻辑卷,这监视器,时刻监视着目标磁盘设备的元数据变化,一旦发生变化才将要被修改变化的数据备份到快照卷。(快照卷是指向访问原卷的另一个路径(类似于硬链接))。快照卷的体积很小。快照卷大小,取决于想要保存快照多长时间。时间越久,就需要更大的快照空间,最大到与原卷大小一样。快照卷通常是只读的。还有一种方式,是快照的快照。注意快照的实现是非常快的。

原创文章,作者:yyw,如若转载,请注明出处:http://www.178linux.com/42643

(0)
yywyyw
上一篇 2016-09-02
下一篇 2016-09-02

相关推荐

  • Linux的终端类型

            Linux的终端类型         Linux终端的定义         Linux终端的分类 &nb…

    Linux干货 2016-10-18
  • linux 基础目录配置及用途说明

    bin -> usr/bin 一般存放root和一般用户都可以使用的指令例如:cat, chmod, chown, date, mv, mkdir, cp, bash 等等常用的指令,同时还存放着单人维护模式下还能够被使用的指令。 boot  这个目录主要放置开机会使用到的文件,包括linux核心文件以及开机选单和开机所需要的配置文件。 de…

    Linux干货 2017-08-19
  • Linux上文件管理类命令实例讲解

    下面介绍三个文件cp, mv, rm管理命令: cp命令:copy,复制命令 命令格式: cp 源文件 目标文件 复制又分为单源复制和多源复制两种情况: 单源复制 如果目标文件不存在,创建此文件,并复制数据流到此文件; [root@localhost tmp]# cp yum.log ok [root@localhost tmp]# ls -l total …

    Linux干货 2018-02-28
  • CentOS启动流程排错

    grub legacy配置文件:/boot/grub/grub.conf     default=#: 设定默认启动的菜单项;落单项(title)编号从0开始      timeout=#:指定菜单项等待选项选择的时长     &…

    Linux干货 2016-09-13
  • Linux哲学思想

    一切皆文件(硬件设备亦如此); 由众多目的单一的小程序组成,一个程序只做一件事,并且要好; 组合小程序完成复杂任务; 尽可能避免跟用户交互; 使用文本文件保存配置信息; 提供机制,而非策略。 Linux作为自由软件(GNU),同时也遵循自由软件的思想: 自由使用 自由学习和修改 自由分发 自由创建衍生版

    Linux干货 2016-10-31
  • vim的简介与使用

          vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。      vi编辑器支持编辑模式和命令模式,编辑模式下可…

    Linux干货 2016-08-15