linux中的lvm

二、Logical Volume Manager,逻辑卷管理
1、LVM机制的基本概念:
PV(物理卷)
VG(卷组)
LV(逻辑卷)
在这里插入图片描述

(1)pv 物理卷:
在这里插入图片描述

物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。
创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷
物理卷一般直接使用设备文件名称,如/dev/sdb1 , /dev/sdb1, /dev/sdd等
对于转换成物理卷的普通分区,建议先使用fdisk工具将分区类型的ID标记号改为“8e”(8e表示LVM逻辑卷),若是整块硬盘,可以将所有磁盘空间划分为一个主分区后再做相对应调整
(2)VG(Volume Group,卷组)
在这里插入图片描述

卷组: 由一个或多个物理卷组成一个整体
在卷组中可以动态的添加或移除物理卷
许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自定义
(3)LV(Logical Volume,逻辑卷)
在这里插入图片描述
逻辑卷: 逻辑卷建立在卷组之上,与物理卷没有直接关系
对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷
使用mkfs等工具在逻辑卷上创建文件系统以后,就可以挂载到Linux系统中的目录下使用
在这里插入图片描述
2、LVM机制的管理:
(1)pvcreate命令——PV物理卷管理
pvcreate用于将分区或整个硬盘转换为物理卷,主要是添加LVM属性并划分PE存储单元
例:[root@localhost ~]# pvcreate /dev/sdd1
(2)pvscan命令——扫描系统中的所有物理卷,并输出相关信息
例:[root@localhost ~]# pvscan
(3)pvdisplay命令——用于显示物理卷的详细信息
例:[root@localhost ~]# pvdisplay /dev/sdd1
(4)pvremove命令——将物理卷还原成普通分区或磁盘,不再用于LVM体系
例:[root@localhost ~]# pvremove /dev/sd[b-c]1
(5)vgcreate命令——用于将一个或多个物理卷创建为一个卷组
例:[root@localhost ~]# vgcreate 123 /dev/sdb1 /dev/sdd1
(6)vgscan命令——用于扫描系统中已建立的LVM卷组及相关信息
(7)vgdisplay命令——用于显示系统中各卷组的详细信息
(8)vgremove命令——用于删除指定的卷组,指定卷组名称作为参数即可
例:vgremove 123
(8)vgextend命令——用于扩展卷组的磁盘空间
当建立了新的物理卷,并需要将其添加到已有的卷组中时,就可以使用vgextend命令
vgextend命令第一个参数为需要扩展容量的卷组名称,其后为需要添加到该卷组中的各物理卷
(9)vgreduce命令——从卷组中删除物理卷
vgreduce指令通过删除LVM卷组中的物理卷来减少卷组容量。
删除删除卷组中丢失的物理卷,使卷组恢复正常状态
(10)lvcreate命令——从指定的卷组中分割空间,以创建新的逻辑卷
需要指定逻辑卷大小,名称和所在的卷组名称作为参数
逻辑卷创建好以后,可以通过“/dev/卷组名/逻辑卷名”形式的设备文件进行访问(或/dev/mapper/卷组名-逻辑卷名)
例:lvcreate -L 10G -n 111 123
(11)lvscan命令——扫描系统中已建立的逻辑卷及相关信息
(12)lvdisplay命令——显示逻辑卷的详细信息
需要指定逻辑卷的设备文件作为参数,也可以使用卷组名作为参数(显示该卷组中的所有逻辑卷信息)
不指定参数则显示所有,同pvdisplay和vgdisplay
(13)lvextend命令——动态扩展逻辑卷的空间,当目前使用的逻辑卷空间不足时,可以从所在卷组中分割额外的空间进行扩展。
需要指定增加的容量大小和逻辑卷文件位置
前提是该卷组中还有尚未分配的磁盘空间,否则需要先扩展卷组容量
挂载文件系统后扩容,需要执行以下命令才能被系统识别
例:[root@localhost ~]# lvextend -L +10G /dev/123/111
(14)lvremove命令——删除指定的逻辑卷
直接使用逻辑卷的设备文件作为参数即可
例:[root@localhost ~]# lvremove /dev/123/111
(15)lvreduce命令——减少LVM逻辑卷占用的空间大小
例:[root@localhost ~]# lvreduce -L -5G /dev/123/111 xfs 只支持扩容,不支持减少

实验:

1、实验准备:
 (1)先在虚拟机上添加3块大小为20G的硬盘。重启虚拟机,使得刚加的硬盘能够被识别。
 (2)[root@localhost ~]# fdisk -l                                                    #########查看添加的硬盘是否被系统识别?  没有的话重新启动虚拟机
 (3)将每个实体硬盘分区以及转换格式为后期建虚拟卷做准备。
       1、 fdisk /dev/sdb                                             
              命令(输入m获取帮助):n
              Select (default p) :p                                                            #########一路默认设置
              命令(输入m获取帮助):t                                                  #########进入设置硬盘类型模式
              Hex代码(输入L列出所有代码):8e                                     ########将硬盘分区的类型设置为LVM
              命令(输入m获取帮助):p                                                  ########查看上面的设置是否正确,有误立即回头修改
              命令(输入m获取帮助):w                                                 #########将上面的设置保存  
       2、 fdisk /dev/sdc                                              
              命令(输入m获取帮助):n
              Select (default p) :p                                                            #########一路默认设置
              命令(输入m获取帮助):t                                                  #########进入设置硬盘类型模式
              Hex代码(输入L列出所有代码):8e                                     ########将硬盘分区的类型设置为LVM
              命令(输入m获取帮助):p                                                 ########查看上面的设置是否正确,有误立即回头修改
              命令(输入m获取帮助):w                                                #########将上面的设置保存
       3、 fdisk /dev/sdd                                                 
              命令(输入m获取帮助):n
              Select (default p) :p                                                            #########一路默认设置
              命令(输入m获取帮助):t                                                    #########进入设置硬盘类型模式
              Hex代码(输入L列出所有代码):8e                                     ########将硬盘分区的类型设置为LVM
              命令(输入m获取帮助):p                                                   ########查看上面的设置是否正确,有误立即回头修改
              命令(输入m获取帮助):w                                                   #########将上面的设置保存    
       4、[root@localhost ~]# fdisk -l                                                    #########查看上面的设置是否正确,有误立即回头修改
2、实验过程:
   (1) 建立物理卷:
         1、[root@localhost ~]# pvcreate /dev/sd{b..d}1                      ##########将sdb、sdc、sdd变成pv模式,后面有1可以回头看,在上面设置后sdb后面自动加上了
         2、pvscan                                                                              ###########查看上面设置情况
   (2)建立卷组:
         1、[root@localhost ~]#vgcreate mailbox /dev/sd{b..d}1           ##########建立卷组mailbox
         2、vgscan                                                                               ##############发现目前还没有任何状况  ***没有创建逻辑卷
         3、vgdisplay                                                                            #########查看卷组的详细信息      每个pe大小为4M
   (3)建立逻辑卷:
         1、[root@localhost ~]#lvcreate -L 25G -n mbox01 mailbox     ##########建立第一个逻辑卷mbox01,大小为25G,***此时文件夹可以看到逻辑卷:/dev/mailbox/mbox01
         2、[root@localhost ~]#lvcreate -L 15G -n mbox02 mailbox     ##########建立第一个逻辑卷mbox02,大小为15G.
         3、lvdisplay                                                                             ##########查看上面设置两个逻辑卷的情况
   (3·1)在未挂载的情况下拓展逻辑卷的大小:
         1、[root@localhost ~]#lvextend -L +10G /dev/mailbox/mbox01   #########给mbox01的空间拓展10G
         2、lvdisplay                                                                                  ##########查看拓展是否成功?(mbox01的空间是否增加10G)
   (4)格式化逻辑卷:
        1、[root@localhost ~]#mkfs -t xfs /dev/mailbox/mbox01             ##########将前面设置好的逻辑卷1号格式化,为后面的挂载做准备。(要挂载就必须先格式化)
        2、[root@localhost ~]#mkfs -t xfs /dev/mailbox/mbox02             ##########将前面设置好的逻辑卷2号格式化,为后面的挂载做准备。
   (5)逻辑卷挂载:
        1、[root@localhost ~]#mkdir /opt/mbox{1..2}                                ##########在/opt目录下建立逻辑卷的挂载点 **mbox1**    逻辑卷文件是mbox01
        2、[root@localhost ~]#ls /opt/                                                      ##########查 看挂载点创建是否成功?
        3、[root@localhost ~]#vim /etc/fstab                                            ##########打开挂载文件系统的配置文件
        4、/dev/mailbox/mbox01      /opt/mbox1      xfs   defaults    0  0    ##########将逻辑卷文件mbox01*永久*挂载到mbox1下
             /dev/mailbox/mbox02      /opt/mbox2      xfs   defaults    0  0    ##########将逻辑卷文件mbox02*永久*挂载到mbox2下
        4·1、df-Th                                                                                      ##########尚未发现挂载文件系统的出现
        5、[root@localhost ~]#mount -a                                                    ##########刷新所有挂载文件系统
        6、df -Th                                                                                        ##########即可发现前面的挂载文件系统已实现挂载
3、实验拓展:
   (1)在已挂载的情况下,再次拓展逻辑卷:
       1、[root@localhost ~]#lvextend -L +5G /dev/mailbox/mbox01         ##########和前面的一样照常增加空间
       2、df -Th                                                                                         ##########发现目标逻辑卷并没有拓展空间
       3、[root@localhost ~]#xfs_growfs /dev/mapper/mailbox-mbox01    ##########重新刷新逻辑卷的文件系统
   (2)实现Swap分区拓展:
       1、[root@localhost ~]# fdisk /dev/sdd                                             ##########进入sdd的交互模式
       2、设备 Boot         Start         End        Blocks         Id       System      ##########将sdd分成sdd1的主分区(83),sdd2的拓展分区(5),再在sdd2里面分出sdd5、sdd6的逻辑分区
            /dev/sdd1          2048    20973567    10485760      83    Linux
           /dev/sdd2        20973568    41943039    10484736    5  Extended
           /dev/sdd5        20975616    31461375     5242880   83  Linux
           /dev/sdd6        31463424    41943039     5239808   83  Linux
      3、命令(输入 m 获取帮助):t                                                              ##########将sdd5的逻辑分区变为Swap分区
          分区号 (1,2,5,6,默认 6):5
          Hex 代码(输入 L 列出所有代码):82
          已将分区“Linux”的类型更改为“Linux swap / Solaris”
     4、命令(输入 m 获取帮助):w                                                             ############保存后退出
         The partition table has been altered!
     5、查看swap分区是否得以拓展:
         [root@localhost ~]# cat /proc/meminfo |grep Sw*                        










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章