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 条评论
登录 后参与评论

相关文章

来自专栏阮一峰的网络日志

Node 应用的 Systemd 启动

前面的文章介绍了 Systemd 的操作命令和基本用法,今天给出一个实例,如何使用 Systemd 启动一个 Node 应用。 本文是独立的,不需要前面的教程作...

29080
来自专栏运维

RH413-RHEL6.4课程总结

RH413-RHEL6.4课程总结 Unit1 Tracking Security Updates 更新分以下三类 RHSA RHBA RHEA yum up...

13410
来自专栏小狼的世界

Analog使用中的一些技巧和总结

Analog是一款用来快速处理日志的开源工具,具有很高的效率,但是生成的结果并不美观,本文就analog使用过程中的一些问题进行总结,讨论如何对analog进行...

9410
来自专栏ThoughtWorks

Gradle 命令行黑魔法

#ThoughtWorkers好声音# 第十五期 关于 Gradle ,我们常常会想到的是如何编写一个 Task ,怎么写一个 Plugin ,但是对于 Gr...

27750
来自专栏蓝天

Unix编程/应用问答中文版 ---6./etc/system可调资源限制

本文出自:[url]http://www.nsfocus.com[/url] 维护:小四 6. /etc/system可调资源限制 6.1 Solari...

9230
来自专栏FreeBuf

从NTDS.dit获取密码hash的三种方法

本文我将为大家介绍一些取证工具,这些工具在渗透测试中将会对我们起到很大的帮助。例如当你提取到了大量的主机内部文件时,你可会发现其中包含如NTDS.dit和系统h...

19930
来自专栏python开发者

linux用户权限相关内容查看

linux用户权限相关内容查看 1   用户信息 创建用户一个名为 webuser 的账号,并填写相应的信息: root@iZ94fabhqhuZ:~# add...

26590
来自专栏北京马哥教育

万字长文为你深入解读 Linux 用户及用户组管理

运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法 无论是出于 Linux 本身的多用户多任务分时操作系统的性质,还是出于系统安全的考虑, L...

42550
来自专栏菩提树下的杨过

maven学习(上)- 基本入门用法

一、下载及安装 1.1 下载maven 3.1.1 先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1...

22080
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合优化篇(二)Log4j讲解与整合

作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载。 前言 上一篇文章主...

30250

扫码关注云+社区

领取腾讯云代金券