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基础知识之cp mv rm

    该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统和sjsir普通用户身份登录系统。 为什么要学习cp、mv、rm命令?     cp、mv、rm命令为Linux系统使用最长使用的三个命令之一,复制、移动和删除是我们平时处理一些文件必须要学会的命令,应该用于熟练掌握和使用的…

    Linux干货 2016-07-29
  • 小白易患错误之绝对路径和相对路径的操作错误

    小白易患错误之绝对路径和相对路径的操作错误 作为一个不安稳的小白,一天都在那路乱折腾,恰巧,老师课程题目中有一题将/etc/skel 这个目录的文件除了..和. 复制到/home/USRNAEM 的家目录下。然后自以为是不按照老师的方法,自己折腾用了这样一条命令 [root@local skel]# ls -A .bash_lo…

    Linux干货 2016-08-05
  • Linux文件查找的使用方法

    文件查找的方法 locate命令       非实时查找(数据库查找): locate查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db    依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);管理员手动更新数据库(updated…

    Linux干货 2016-08-15
  • 加油吧!少年!—至我和我M25期的伙伴

    引用 衣带渐宽终不悔,为伊消得人憔悴。—王国维《人间词话》 转眼已到了27岁的年纪,不知道自己是否还称得上少年。公交上让座被小朋友成为叔叔也都是很多年的事了。哪怕再有一颗少年心现在也要肩负起整个家庭的责任。 从毕业已工作了将近六个年头,无聊的工作平凡的薪水已经使我厌倦。闭上眼睛以后需要赡养四个老人,还要照顾孩子以后这些难题映入脑海。曾经以为遥远的…

    Linux干货 2017-07-11
  • linux基础学习(数组、字符串变量处理)

    2016-08-22 授课内容: 数组 高级字符串操作 一、数组   变量:存储单个元素的内存空间   数组:存储多个元素的连续的内存空间,相当于多个变量的集合。   数组名和索引   索引:编号从0开始,属于数值索引   bash的数组支持稀疏格式(索引不连续)   …

    Linux干货 2016-08-24
  • shell-语句总结

    shell脚本语法总结 过程式编程语言: 顺序执行 选择执行 循环执行 shell默认是顺序执行,如果有判断或循环语句则执行判断或循环。 条件判断 if     单分支         if 判断条件:then  &nb…

    Linux干货 2016-08-21