关于 LVM 逻辑卷管理

              逻辑卷管理 (LVM)
   
允许对卷进行方便操作的抽象层,包括从新设定文件系统的大小   

允许在多个设备间重新组织文件系统
将设备指定为物理卷
用一个或者多个物理卷来创建一个卷组
物理卷是用固定大小的物理区域(Physical
Extent PE) 来定义的
在物理卷上创建的逻辑卷是由物理区域(PE)组成
可以在逻辑卷上创建文件系统
下面看图解    

 关于 LVM 逻辑卷管理  
   
 LVM:
Logical Volume Manager, Version: 2   
 dm: device
mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
设备名:/dev/dm-#
软链接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root 

 
 
LVM可以弹性的更改LVM的容量
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量
 

下面看图解

关于 LVM 逻辑卷管理  
  
  

pv(物理卷)管理工具
显示pv信息:
           pvs 简要pv信息显示
           pvdisplay  
显示目前系统上面的PV状态
创建pv与PV相关的一些管理命令有:
           pvcreate /etc/设备   将实体设备创建成为PV
主要创建PV命令
           pvscan      搜寻目前系统里面任何具有PV的磁碟  
    
删除pv:
           vremove    将PV属性移除,让该设备不具有PV属性
        
     1 用fdisk
配置新的具有 8e 系统ID 的分区   
     # fdisk /dev/sdb
     n   新建分区
     p  
显示磁盘分区表
     l   列表出所的系统ID号
     t   修改分区系统的ID
     8e  系统ID
    
w   保存并退出
     2 利用pvcreate 创建 PV
     [root@Compro ~]# pvcreate
/dev/sde{1,2}  
     Physical volume "/dev/sde1" successfully
created
     Physical volume "/dev/sde2" successfully created
  

       
                       
vg(卷组)管理工具
显示vg信息:
         
vgs
          vgdisplay 显示目前系统上面的VG状态
创建vg与vg相关的一些管理命令有:
         
vgcreate 就是主要创建VG的命令
          vgscan   查找系统上是否有VG存在
          vgchange 
配置VG是否启动(active活跃的)
          vgremove  删除一个VG    

创建vg:
         vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
PhysicalDevicePath [PhysicalDevicePath…]
         [root@Compro ~]# vgcreate
-s 10M makangbo /dev/sde{1,2}
         Volume group "makangbo" successfully
created  
   管理vg:
         vgextend  在VG内添加额外的PV
        
[root@Compro ~]# vgextend makangbo /dev/sde1
         vgrduce  
在VG内移除PV
         [root@Compro ~]# vgreduce makangbo /dev/sde1
        
Removed "/dev/sde1" from volume group "makangbo"
  删除vg:
       
先做pvmove,再做vgremove                                  
 

lv(逻辑卷)管理工具
显示lv信息:lvs
            lvdisplay  显示系统上面LV
创建LV
与LV相关的一些管理命令有:
            lvscan    查询系统上面LV
            lvextend 
在LV里面添加容量
            lvresize  对LV进行容量大小的调整          

 创建LV:
 lvcreate-L #[mMgGtT] -n NAME VolumeGroup  主要创建LV命令
 lvcreate
-L 10G -n xiaomaglv xiaomagvg
 删除逻辑卷:
 vremove/dev/VG_NAME/LV_NAME  

   
重设文件系统大小:
fsadm[options] resize device
[new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]  

   
 文件系统阶段:
 要想真正的使用lvm就必须对lv进行格式化挂载
 1 mkfs -t ext3
/dec/xiaomagvg/xiaomaglv
 2 mkdir /mnt/lvm
 3 mount
/dev/xiaomagvg/xiaomaglv /mnt/lvm
   
 扩展和缩减逻辑卷
扩展LV:
#ddisk
/dev/sdb                                  fdisk配置新的具有8e 文件系统ID的分区
# pvcreate
/dev/sde{1,2}                         利用pvcreate创建出来PV
# vgcreate -s 10M
makangbo /dev/sde{1,2}         利用vgextend 将 PV加入我门的xiaomagvg
# lvresize
#[mMgGtT] /dev/xiaomagvg/xiaomaglv    利用lvresize 将新加入的PV内的PE加入xiaomaglv中
#
resize2fs #[mMgGtT] /dev/xiaomagvg/xiaomaglv   透过resize2fs 将文件系统的容量确实添加。
 
xfs_growfs /mnt/mylv/               xfs系列  只能扩展 不能缩减
  lvextend -r -l
+100%FREE /dev/vg0/mylv  一步到位     
缩减LV:
建议先备份
# umount
/dev/xiaomagvg/xiaomaglv                先卸载已经挂载的LV
# e2fsck -f
/dev/xiaomagvg/xiaomaglv             强制进行磁盘检测
# resize2fs #[mMgGtT]
/dev/xiaomagvg/xiaomaglv   重新设定文件系统大小
# lvreduce -L [-]#[mMgGtT] 
/dev/xiaomagvg/xiaomaglv  在LV里面减少容量
# mount /dev/xiaomagvg/xiaomaglv /mnt/lvm

      
    
   
逻辑卷管理器快照

快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
对于需要备份或者赋值的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择。

快照只有在它们和原来的逻辑卷不同时才会消耗空间。
  
在生成快照是会分配个它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
  
当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
   快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
  
建立快照的卷大小只需要原始逻辑卷的15%~20%就足够了,也可以使用lvextend 扩大快照

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

关于 LVM 逻辑卷管理

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

使用LVM快照  
lvcreate – l 64 -s -n name -p r /dev/vg0/data

挂载快照
mkdir -p /mnt/snap
mount -o ro /dev /vg0/snap-data
/mnt/snap
删除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup

 

1 创建至少两个PV大小设定为+20G 
 [root@Compro ~]# pvcreate
/dev/sdf{1,2}
 创建VGtestvg添加PV,要求PE大小为16M
 [root@Compro ~]# vgcreate -s
16M testvg /dev/sdf{1,2}
 在VG中创建大小为5G的LV testlv
 [root@Compro ~]#
lvcreate -L 5G -n testlv testvg
 使用lvmh就必须对lv进行格式化挂载
 [root@Compro ~]#
mkfs -t ext3 /dev/testvg/testlv
 创建挂载点和挂载
 [root@Compro ~]# mkdir
/mnt/users
 [root@Compro ~]# mount /dev/testvg/testlv
/mnt/users
 
 
2 新建用户archlinux 要求其家目录为/users
 [root@Compro ~]#
useradd archlinux -d /home/users
 而后用su
切换至archlinux用户,复制/etc/pam.d目录至自己的家目录
 [archlinux@Compro ~]$ cp /etc/pam.d/*
./
 
 
 3上面testlv创建的是 5G 现在要求扩展到7G
 [root@Compro ~]# lvextend -L 7G
/dev/testvg/testlv
 
4 缩减testlv至3G的大小
 [root@Compro ~]# lvreduce -L 3G
/dev/testvg/testlv
 
 
 
5 对testlv
创建快照,并尝试基于快照备份数据,验证快照的功能
 [root@Compro ~]# lvcreate -L 3G -s -n kuaizhaoname
/dev/testvg/testlv
 显示信息
 [root@Compro ~]#
lvdisplay
 创建快照目录
 [root@Compro ~]# mkdir
/mnt/snapshotdir
 挂载
 [root@Compro ~]# mount /dev/testvg/kuaizhaoname
/mnt/snapshotdir
 
 
 利用快照恢复数据
 注意:回复的数据不能超过快照区的总大小,因为如果变动的数据大小超过了快照区的空间,那么快照去是不能容纳所有变得的数据了,这个时候快照功能会失效

 1 现在原来的lv中写入一些数据, 然后通过lvm的快照功能来恢复之前的操作 原先快照的数据
 [root@Compro ~]# cp -R
/etc /mnt/testlv
 
 创建一数据恢复的临时目录
 [root@Compro ~]# mkdir -pv
/tmp/backup
 然后cd到快照挂载点
 [root@Compro ~]# cd
/mnt/kuaizhaoname/
 将快照里数据打包压缩
 [root@Compro kuaizhaoname]# tar -zcf
/tmp/bbackup/testlv.tar.gz *
 卸载快照NAME 并且移除,因为里面的内容已经备份出来了
 [root@Compro
~]#  umount /mnt/kuaizhaoname
 [root@Compro ~]# lvremove /dev/testvg/kuaizhao

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
   
   

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

(0)
小马哥小马哥
上一篇 2016-09-02
下一篇 2016-09-02

相关推荐

  • Ansible(From Wikipedia)

           Ansible 是一个免费的用于配置和管理计算机的的软件平台。它集成了软件部署,ad hoc任务执行,和管理配置的功能。它依赖Python2.4之后的版本和通过SSH或者PowerShell管理节点。模块工作在JSON格式,输出信息可以被任何编程语言再次编写。系统管理员可以使用YAML…

    Linux干货 2015-11-18
  • Linux网站架构系列之Mysql—-部署篇

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1321079   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL所使用的SQL语言是用于…

    Linux干货 2015-04-01
  • 探究PHP底层

    1、PHP是什么? PHP 指的是我们从外面看到的一套完整的系统。这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图)。从功能上来分:我们可以分为三部分: 1、 解释器部分(Zend 以引擎),负责对输入代码的分析、翻译和执行;2、 功能性部分(PHP功能函数以及扩展),负责具体实现语言的各种功能(比如它的函数等等);3、 接口部分(SAPI),负责同 …

    Linux干货 2015-04-10
  • 设计模式(七)组合模式Composite(结构型)

    1. 概述 在数据结构里面,树结构是很重要,我们可以把树的结构应用到设计模式里面。 例子1:就是多级树形菜单。 例子2:文件和文件夹目录 2.问题 我们可以使用简单的对象组合成复杂的对象,而这个复杂对象有可以组合成更大的对象。我们可以把简单这些对象定义成类,然后定义一些容器类来存储这些简单对象。客户端代码必须区别对象简单对象和容器对象,而实际上大多数情况下用…

    Linux干货 2015-07-01
  • hbase安装配置(整合到hadoop)

    1.  快速单击安装 在单机安装Hbase的方法。会引导你通过shell创建一个表,插入一行,然后删除它,最后停止Hbase。只要10分钟就可以完成以下的操作。 1.1下载解压最新版本 选择一个 Apache 下载镜像:http://www.apache.org/dyn/closer.cgi/hbase/,下载 HBase Re…

    Linux干货 2015-04-13
  • 文件系统初步了解

    Linux文件系统的基础特性: 1文件名严格区分大小写 2所有文件都们于根目录下,FHS 3路径以/做为分隔符 4每个文件的名称可使用除/以外任意字符,单个名称最长不能超出255个字 FHS:Filesystem Hierarchy Standard(文件系统目录标准)的缩写 多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目…

    Linux干货 2015-04-27