1、LVM 基本术语
 
物理卷(physical volume):物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。
 
卷组(Volume Group):卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。  
逻辑卷(logical volume):  逻辑卷建立在卷组之上,卷中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。 
 
 PE(physical extent):每一个物理卷被划分为称为PE的的基本单元,具有唯一编号的PE是可以 被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
 
 LE(logical exent):逻辑卷也被划分为称为LE的可被寻址的基本单位。在同一个卷组中,LE和PE 的大小是相同的,并且一一对应 。
 
如下图可以看到本机装系统时使用的LVM:
 
 
2、创建和管理LVM
[root@test ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
 
三块硬盘/dev/sdb、/dev/sdc 、/dev/sdd都为20G
 
sdb、sdc创建物理分区10G,分区类型为8e
fdisk   /dev/sdb---sdb1
fdisk  /dev/sdc--sdc1
partprobe       /dev/sdb  #使用工具partprobe让kernel读取分区信息。或者使用partx  /dev/sdb
partprobe       /dev/sdc
 
更改分区类型用t,用L列出可用的分区类型。
 
 
2.1 创建PV
[root@test ~]# pvcreate /dev/sdb1
  dev_is_mpath: failed to get device for 8:17
  Physical volume "/dev/sdb1" successfully created
[root@test ~]# pvcreate /dev/sdc1
  dev_is_mpath: failed to get device for 8:33
  Physical volume "/dev/sdc1" successfully created
 
查看物理卷:pvs和pvdisplay
 
使用pvremove /dev/sdb1 删除物理卷。
 
  
2.2创建VG,VG名称为vdata
[root@test ~]# vgcreate vdata /dev/sdb1 /dev/sdc1
  Volume group "vdata" successfully created
 
查看vg:
 
 
可以看到默认PE大小为4M。可以更改vdata卷组的PE为16M:
[root@test ~]# vgchange -s 16M vdata
  Volume group "vdata" successfully changed
 
 
                
2.3 创建两个LV
[root@test ~]# lvcreate -L 2G -n data1 vdata     
  Logical volume "data1" created
[root@test ~]# lvcreate -l 20 -n data2 vdata   
  Logical volume "data2" created
 
lvcreate参数解释:
  -l    LEs :指定LV的逻辑块数
  -L  size:指定LV的大小,其后可以用K,M,G表示KB,MB,GB
  -s   创建一个已存在LV的snapshop卷
  -n  name:为LV指定名称
 
查看LV详细信息:lvs和lvdisplay
 
 
 
2.4LV 格式化及挂载
[root@test ~]# mkfs.ext4 /dev/vdata/data1
[root@test ~]# mkfs.ext4 /dev/vdata/data2
[root@test ~]# mount /dev/vdata/data1 /mnt/data1   
[root@test ~]# mount /dev/vdata/data2 /mnt/data2
                
 blkid    [查看所属的文件系统的UUID]
 vim /etc/fstab  写入挂载表中,保证永久生效。请用UUID挂载
 
 
2.5 删除LVM
  删除逻辑卷  lvremove   <lvname>
  删除卷组     vgremove  <vgname>
  删除物理卷 pvremove  <pvname>
   
 
 
3、LVM逻辑卷扩充和缩减
3.1LVM逻辑卷扩充:
添加PV到VG中------扩大LV容量----扩大文件系统并挂载
 
(1)在新的物理分区上新建物理卷加入卷组
在/dev/sdd上新建分区/dev/sdd1,分区大小为10G。然后新建物理分区,加入卷组。
                 
创建物理卷:
[root@test ~]# pvcreate /dev/sdd1
  Physical volume "/dev/sdd1" successfully created
 
(2)将新的物理卷加入已知的卷组
[root@test ~]# vgextend vdata /dev/sdd1
  Volume group "vdata" successfully extended
 
 将物理卷从卷组中移除vgreduce
    #vgreduce   vdata /dev/sdd1
          
(3)  扩充逻辑卷
有两种方式:一种直接指定扩充后总的容量;一种指定要增加的容量:
扩充之前LV的大小:
 
将逻辑卷data1扩充2G:
  [root@test ~]# lvextend -L 4G /dev/vdata/data1       //#指定扩容后的容量
  Extending logical volume data1 to 4.00 GiB
  Logical volume data1 successfully resized
                   
可以看到data1逻辑卷已经变成4G:
 
 
将逻辑卷data2扩充1G:    
[root@test ~]# lvextend -L +1G /dev/vdata/data2       //#指定要增加的容量
  Extending logical volume data2 to 1.31 GiB
  Logical volume data2 successfully resized            
 
            
(4)执行重设大小,对于当前正在使用的lvdata有效。
在将逻辑卷data1扩充了2G之后,在系统里面总的可以使用的空间仍然是2G,没有变成4G。
所以要重设文件系统。
重设之前:
 
              
重设之后:
[root@test ~]# resize2fs  /dev/vdata/data1
[root@test ~]# resize2fs  /dev/vdata/data2
 
逻辑卷扩充成功。
               
         
3.2 LVM逻辑卷缩减:
缩小LV缩小文件系统----缩小LV容量----移除VG中的PV      
 
缩减逻辑卷data2
(1)卸载文件系统
[root@test ~]# umount /dev/vdata/data2
               
(2)检查文件系统fsck                
[root@test ~]# e2fsck -f /dev/vdata/data2       //强制检查文件系统
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdata/data2: 11/344064 files (0.0% non-contiguous), 54400/1376256 blocks
 
(3) 指定缩小后的文件系统的容量
 [root@test ~]# resize2fs -p /dev/vdata/data2  1G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vdata/data2 to 1048576 (1k) blocks.
Begin pass 3 (max = 168)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/vdata/data2 is now 1048576 blocks long.
 
(4)缩减逻辑卷使用lvreduce命令,不能缩减至比它包含的文件系统还小
[root@test ~]# lvreduce -L 1G /dev/vdata/data2
  WARNING: Reducing active logical volume to 1.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data2? [y/n]: y
  Reducing logical volume data2 to 1.00 GiB
  Logical volume data2 successfully resized
     
如下图,缩减成功:    
 
 
 
 4、创建快照
在已有的逻辑卷上创建快照:
[root@test ~]# lvcreate -l 50 -s -n data_bak /dev/vdata/data1 【在data1逻辑卷上创建快照】
  Logical volume "data_bak" created
                                         
 
快照的删除:
[root@test ~]# lvremove /dev/vdata/data_bak
Do you really want to remove active logical volume data_bak? [y/n]: y
  Logical volume "data_bak" successfully removed
 
             
 
 

RHEL6中LVM逻辑卷管理的更多相关文章

  1. Linux中LVM逻辑卷管理

    一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区 进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的 ...

  2. 18 LVM逻辑卷管理

    根据上一节的内容,我们知道md这个内核模块可以用来做软RAID的管理.同时RAID实现了两个功能:1.提高了磁盘的读写能力:2.对于数据进行了冗余备份: 但是,如果是管理员手动误删的数据,则一样无法找 ...

  3. LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除

    一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...

  4. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...

  5. CentOS下LVM逻辑卷管理技术解释

    1.LVM逻辑卷管理技术产生的背景 企业日益变化的存储需要使得传统的磁盘分区存储显得不够灵活 2.磁盘分区存储 对于这样的三个物理分区的话,迟早有一天会被数据填满,因为它是死的,无法进行缩放. 假设下 ...

  6. CentOS 6.7 配置LVM (逻辑卷管理)

    LVM 简介 LVM是逻辑盘卷组管理 (Logical Volume Manager) 的简称. LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性,在一定程度上解决普通磁盘分区带来 ...

  7. CentOS LVM逻辑卷管理

    在CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)中扩展根分区部分用的就是LVM逻辑卷管理来进行扩展的. 1.为什么会有逻辑卷管理 传统磁盘管理是直接对硬盘分区进行访问,你如 ...

  8. linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列

    磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...

  9. 【Linux】LVM 逻辑卷管理

    LVM - 逻辑卷管理 简介 LVM(Logical Volume Manager), 即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 相关名词 PV(physical volume) ...

随机推荐

  1. 五十九:Flask.Cookie之flask设置cookie过期时间

    设置cookie有效期1.max_age:距离现在多少秒后过期,在IE8以下不支持2.expires:datatime类型,使用此参数,需参照格林尼治时间,即北京时间-8个小时3.如果max_age和 ...

  2. MongoDB 日志中出现“UserNotFound: Could not find user ceilometer@ceilometer”,如何解决?

    MongoDB 日志中出现“UserNotFound: Could not find user ceilometer@ceilometer” 问题描述 MongoDB(版本 3.2.9) 服务启动后, ...

  3. linux常用命令(11)less命令

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...

  4. frei0r-1.7.0 20191207-0d4b342 DLLs

    https://files.cnblogs.com/files/nlsoft/frei0r-20191207-0d4b342-bin.7z

  5. vlc 控件属性和方法

    VLC调研 VLC控件支持的参数和方法 VLC对象列表 Vlc Plugin Object的方法 l        VersionInfo:成员, 返回版本信息的字符串 l        vlc.ve ...

  6. 手写k-means算法

    作为聚类的代表算法,k-means本属于NP难问题,通过迭代优化的方式,可以求解出近似解. 伪代码如下: 1,算法部分 距离采用欧氏距离.参数默认值随意选的. import numpy as np d ...

  7. python基础之数据类型转换

    方法转换:str -->list str.split() list -->str ''.join(list)强制转换:str -->list list(str) str --> ...

  8. VS附加到进程调试

    WIN+R 进入cmd命令  输入 netstat -ano | find "进程端口"      找端口 打开vs alt+d+p选择上图对应的进程

  9. kibana 查询例子

    1.数字比较和布尔查询 account_number:< AND balance:>

  10. python random 的用法

    python random的里面的方法其实是Random实例化的对象. 里面几个常用的几个方import random print( random.randint(1,10) ) # 产生 1 到 1 ...