lvm

逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。

lvm架构

概念

DM:Device Mapper 逻辑设备 MD:multip Device /dev/md# meta device

linux系统一切皆文件,所有的设备都映射成文件在 /dev/目录下。

DM:逻辑设备 lvm2

DM:LVM2

   快照
   lincar
   mirror
   多路径(线路管理)实现数据的寻路多路径。
   动态增减(逻辑设备)


   多个物理磁盘组织成一个逻辑设备,可以中间增添。
   物理设备  --->  物理卷  physical volume PV
                  卷组    volume Group   VG(取决于物理设备)
                  逻辑卷     logical volume  LV 
                  逻辑卷可以有多个,可以动态增减。(逻辑卷之和不能超过物理容量)
物理边界,逻辑边界(文件系统边界)
逻辑卷相当于文件系统,对逻辑卷创建快照。快照卷必须和逻辑卷在同一个卷组。要预留空间。

快照:

访问同一数据的另一个路径(如软链接)(小于原数据)
恢复原来的数据,快照区是有数据备份的(发生修改的数据)
实现数据备份:线上的数据
RAID 1 RAID5 已经备份(硬件上备份防止硬件的损坏)
   数据访问  --->进程  磁盘  数据在线数据实时(备份耗时)
   快照瞬间完成
   zfs

chunk 和pe相同

  • PE:physical extend 物理盘区 加入卷组之后才有PE的概念,pe大小由卷组决定。 逻辑存储单元
  • 逻辑卷:LE :logiacal Extend 逻辑盘区(角度不同) 扩展空间边界:增加pe 减小空间边界:减少pe 逻辑卷也可以创建成镜像的形式。

包含逻辑关系

pv ---> vg ---> lv 
pv即可以示磁盘,分区,raid

创建,删除,查看

  • pv
   pvcreate,pvremove(删除数据),pvscan,pvdisplay,pvmove(磁盘上数据移动到其他磁盘上)
   pvs:pvdisplay 
   linux lvm :8e 
   pvmove - move physical extents
  • vg
   vgcreate,vgremove,vgextend,vgreduce  
      vgdisplay,vgscan
      vgcreate -s   
      vgcreatee vg_name  /path/to/pv 
     删除vg  
        vgremove  
        
 vgremove - remove a volume group
 vgreduce  
 vgreduce - reduce a volume group
    pvmove /dev/sdb1
    vgreduce myvg  /dev/sdb1 
    pvremove /dev/sdb1 
    
    vgextend - add physical volumes to a volume group
  • lv
    lvcreate,lvremove,lvextend,lvreduce,lvs,lvdisplay
    创建lv
      lvcreate -n lv_name -L size#G  VG_name
      lvcreate -l 50M -n testlv myvg 
      lvs 
      lvdisplay  
      lvremove 

操作过程

 创建10G的vg
  fdisk 只能创建15个 
 partprobe  
 cat /proc/partions
 pvcreate   /dev/sda{1,2}
 pvs
 pvdisplay 详细显示
 pvdisplay  /dev/sda1
 pvscan  扫描系统上所有的pv
 
 vgcreate  
 vgcreate  myvg /dev/sda{1,2}
  vgs 
  pvdisplay  /dev/sda10 
  
   pvcreate /dev/sdb2
   vgextend myvg /dev/sda2 

   
   创建lv 
     lv 

创建分区:是创建物理边界

文件系统:逻辑边界 lvm:先扩展物理边界,在扩展逻辑边界。 先缩减逻辑边界,再缩减物理边界。

一、扩展逻辑卷
扩展物理边界:
lvextend
      -L [+]# /path/to/lv   扩展到或扩展了。。。 
扩展逻辑边界:
resize2fs   /path/to/lv   大小    设备扩展到多大
resize2fs -p /path/to/lv 

lvcreate -L 2G -n testlv mylv 
mke2fs -j /dev/myvg/testlv 
mkdir /users
mount /dev/myvg/testlv /users
df -lh

lvextend -L 5G /dev/myvg/testlv 
df -lh
resize2fs -p /dev/myvg/testlv
df -lh

二、缩减逻辑卷

先缩减逻辑边界,再缩减物理边界。

   注意:1.不能在线缩减,得先卸载。
          2.确保缩减后的空间大小依然能存储原有的所有数据。
          3.在缩减前应该强行检查文件,以确保文件系统处于一致性状态。
resize2fs 
   ressize2fs /path/to/lv  #G 
lvreduce  -L [-]#  /path/to/lv 

重新挂载。
df -lh 
umount /users 
e2fsck -f /dev/myvg/testlv
resize2fs /dev/myvg/testlv 3G
lvreduce -L 3G /dev/myvg/testlv
mount /dev/myvg/testlv /user
三、快照卷

1.快照卷的生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小。 2.快照卷应该为只读。 3.和原卷在同一卷组内。

lvcreate 
   -s 
   -p  r|w
   lvcreate -L # 
lvcreate  -L # -n slv_name -p r /path/to/slv 
lvcreate -L 50M -n testlv-snap -s -p r /dev/myvg/testlv 
lvs 
mount /dev/myvg/testlv-snap  /snap 
cd /snap 
ls
cd /users 


tar -jcf /tmp/users.tar.bz2 /users/inittab
umount /snap 
lvremove /dev/myvg/testlv-snap 
完全备份,增量备份
tar xf /tmp/users.tar.bz2 -C /users 

lvm的配置文件

 ubuntu@youdi > /etc/lvm > vim /etc/lvm/lvm.conf 

lvm相关命令

COMMANDS
       The following commands implement the core LVM functionality.

       pvchange      Change attributes of a Physical Volume.
       pvck          Check Physical Volume metadata.
       pvcreate      Initialize a disk or partition for use by LVM.
       pvdisplay     Display attributes of a Physical Volume.
       pvmove        Move Physical Extents.
       pvremove      Remove a Physical Volume.                                                                                                                                                                    
       pvresize      Resize a disk or partition in use by LVM2.                                                                                                                                                   
       pvs           Report information about Physical Volumes.                                                                                                                                                   
       pvscan        Scan all disks for Physical Volumes.                                                                                                                                                         
       vgcfgbackup   Backup Volume Group descriptor area.                                                                                                                                                         
       vgcfgrestore  Restore Volume Group descriptor area.                                                                                                                                                        
       vgchange      Change attributes of a Volume Group.                                                                                                                                                         
       vgck          Check Volume Group metadata.                                                                                                                                                                 
       vgconvert     Convert Volume Group metadata format.                                                                                                                                                        
       vgcreate      Create a Volume Group.                                                                                                                                                                       
       vgdisplay     Display attributes of Volume Groups.                                                                                                                                                         
       vgexport      Make volume Groups unknown to the system.                                                                                                                                                    
       vgextend      Add Physical Volumes to a Volume Group.                                                                                                                                                      
       vgimport      Make exported Volume Groups known to the system.                                                                                                                                             
       vgimportclone Import and rename duplicated Volume Group (e.g. a hardware snapshot).                                                                                                                        
       vgmerge       Merge two Volume Groups.                                                                                                                                                                     
       vgmknodes     Recreate Volume Group directory and Logical Volume special files                                                                                                                             
       vgreduce      Reduce a Volume Group by removing one or more Physical Volumes.                                                                                                                              
       vgremove      Remove a Volume Group.                                                                                                                                                                       
       vgrename      Rename a Volume Group.                                                                                                                                                                       
       vgs           Report information about Volume Groups.                                                                                                                                                      
       vgscan        Scan all disks for Volume Groups and rebuild caches.                                                                                                                                         
       vgsplit       Split a Volume Group into two, moving any logical volumes from one Volume Group to another by moving entire Physical Volumes.                                                                
       lvchange      Change attributes of a Logical Volume.                                                                                                                                                       
       lvconvert     Convert a Logical Volume from linear to mirror or snapshot.                                                                                                                                  
       lvcreate      Create a Logical Volume in an existing Volume Group.                                                                                                                                         
       lvdisplay     Display attributes of a Logical Volume.                                                                                                                                                      
       lvextend      Extend the size of a Logical Volume.                                                                                                                                                         
       lvmchange     Change attributes of the Logical Volume Manager.                                                                                                                                             
       lvmconfig     Display the configuration information after loading lvm.conf(5) and any other configuration files.                                                                                           
       lvmdiskscan   Scan for all devices visible to LVM2.                                                                                                                                                        
       lvmdump       Create lvm2 information dumps for diagnostic purposes.                                                                                                                                       
       lvreduce      Reduce the size of a Logical Volume.                                                                                                                                                         
       lvremove      Remove a Logical Volume.                                                                                                                                                                     
       lvrename      Rename a Logical Volume.                                                                                                                                                                     
       lvresize      Resize a Logical Volume.                                                                                                                                                                     
       lvs           Report information about Logical Volumes.                                                                                                                                                    
       lvscan        Scan (all disks) for Logical Volumes.    

查看帮助使用 man

man lvm
man vgscan

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • go爬虫框架colly源码以及软件架构分析

    Lightning Fast and Elegant Scraping Framework for Gophers

    若与
  • scala数据类型

    Scala 与 Java有着相同的数据类型,在Scala中数据类型都是对象,也就是说scala没有java中的原生类型 Scala数据类型分为两大类 AnyV...

    若与
  • ubuntu使用MAC主题

    ubuntu使用MAC主题,步骤如下: 1. 下载mac壁纸(Download MacBuntu OS Wallpapers and extract to p...

    若与
  • 原创|054|仓储物流系统中的自动化缓存(下)

    上篇介绍了自动化缓存的特点和作用,本篇继续分享一下在实际应用场景下有哪些自动化缓存。

    老King
  • 单细胞转录组研究的同时也可以加上传统bulk转录组

    我注意到这个研究比较好的结合了传统bulk转录组数据和单细胞转录组数据,值得解读和推荐给大家。

    生信技能树jimmy
  • 原生JS设置CSS样式的几种方式

    如果属性有'-'号,就写成驼峰的形式(如textAlign)  如果想保留 - 号,就中括号的形式  element.style['text-align'] =...

    德顺
  • JS设置CSS样式的几种方式

    如果属性有'-'号,就写成驼峰的形式(如textAlign)  如果想保留 - 号,就中括号的形式  element.style['text-align'] =...

    书童小二
  • 感觉-认知系统的整合与自闭症谱系障碍的严重程度之间的关系;基于猴脑脑血流与血氧信号耦合的关系研究

    1、Journal of the American Academy of Child & Adolescent Psychiatry:感觉-认知系统的整合与自闭...

    用户1279583
  • 架构设计考古:Bob大叔的整洁之道

    The Clean Coder、Clean Code等名著作者Bob大叔,从1970年起编程至今。他是cleancoders.com和UncleBob Cons...

    用户1682855
  • 《吊打面试官》系列-数据库基础知识

    数据库我想大家应该一点都不陌生吧,我想不管你写啥的,数据库就算没用过也听过了,是我们项目体系里面不可或缺的一环。

    敖丙

扫码关注云+社区

领取腾讯云代金券