Linux——LVM(逻辑卷详解)

一、LVM讲解

1. 简介:

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales’、 ‘development’)代替物理磁盘名(如’sda’、‘sdb’)来标识存储卷。

2. 基本概念:

物理存储介质(PhysicalStorageMedia)
指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
物理卷-----PV(Physical Volume)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组-----VG(Volumne Group)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
逻辑卷-----LV(Logical Volume)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。
物理区域-----PE(Physical Extent)
物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。(默认为4MB)物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。
逻辑区域-----LE(Logical Extent)
逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
卷组描述区域-----(Volume Group Descriptor Area)
卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有信息,卷组描述区域是在使用pvcreate建立物理卷时建立的。
在这里插入图片描述

二、安装LVM

首先确定系统中是否安装了lvm工具:

[root@www root]# rpm –qa|grep lvm   // 查看系统已安装的软件包,基于grep进行过滤
lvm2-2.02.130-5.el7.x86_64

如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。

三、创建和管理LVM

1、创建分区

使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。
先进行截取关键命令讲解,结尾附上全部指令
我们首先使用lsbsk这个指令查看分区使用情况,sda已经使用完,故我们接下来在sdb磁盘上进行操作。

[root@localhost ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   40G  0 disk
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   39G  0 part
  ├─rhel-root 253:0    0   37G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sdb             8:16   0   20G  0 disk
sr0            11:0    1  4.3G  0 rom  /run/media/root/RHEL-7.5 Server.x86_64

我们用[root@localhost ~]# fdisk /dev/sdb进入编辑器,用n来新建分区,我们可以看出p是主分区,e是扩展分区,我们主分区只可以拥有4个,当我们需要更多的分区是,只能在扩展分区下面创建逻辑分区。这里我们选择创建一个扩展分区,然后使用逻辑分区来进行逻辑卷的操作。
在这里插入图片描述
使用n创建分区4为扩展分区,接着创建逻辑分区(从5开始),创建大小为2G的俩个逻辑分区5和6。新创建的分区默认类型为Linux类型,故我们需要指令t进行修改类型,这里我们修改为LVM的类型(是8e,输入l指令可以查看所有类型的ID),这个类型其实是可以不用修改的,修改的目的是为了我们以后可以直观的知道这两个分区是干什么用了。修改完成后,指令w,退出。如果退出后报错,执行下面的指令。
在这里插入图片描述
该指令的意思是刷新磁盘,下面报错的意思是Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。但是我们操作的是sdb的磁盘,故不需要理会这个报错。
在这里插入图片描述

2、创建逻辑卷

创建物理卷5,6。主要是添加LVM属性信息并划分PE存储单元.
在这里插入图片描述
使用pvs查看物理卷下面的内容
使用pvdisplay查看详细内容
在这里插入图片描述
创建卷组 vg1 (名字随意),并将刚才创建好的两个物理卷加入该卷组.可以看出默认PE大小为4MB(使用vgdisplay可以看出),PE是卷组的最小存储单元.可以通过 –s参数修改大小。
在这里插入图片描述
从物理卷vgdata上面分割1G给新的逻辑卷lv1。lv1是逻辑卷的名字,可以随意命名。
在这里插入图片描述
使用mkfs.ext4命令在逻辑卷lv1上创建ext4文件系统.
在这里插入图片描述
将创建好的文件系统/data1挂载到/data1上.(创建好之后,会在/dev/mapper/生成一个软连接名字为”卷组-逻辑卷”),见图中红色方框。

[root@localhost ~]# mkdir /data1        //创建一个目录
[root@localhost ~]# mount /dev/vgdata/lvdata1  /data1     //挂载

在这里插入图片描述
便于以后服务器重启自动挂载,需要将创建好的文件系统挂载信息添加到/etc/fstab里面.UUID可以通过 blkid命令查询.
在这里插入图片描述
在这里插入图片描述

3、管理逻辑卷

扩展逻辑卷lv1
给逻辑卷增加空间并不会影响以前空间的使用,所以无需卸载文件系统,直接通过命令lvextend –L +500M /dev/vg1/lv1或者lvextend –l 2.5G /dev/vg1/lv1 给lv1增加500M空间(lv1目前是1G空间)设置完成之后,记得使用resize2fs命令来同步文件系统。
在这里插入图片描述
在这里插入图片描述
4、删除整个逻辑卷
1、先通过umount命令卸载掉逻辑卷lv1
2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。也就是删除UUID
3、通过lvremove 删除逻辑卷lv1
4、通过vgremove 删除卷组vg
5、通过pvremove 将物理卷转化成普通分区。
在这里插入图片描述

发布了48 篇原创文章 · 获赞 47 · 访问量 5247

猜你喜欢

转载自blog.csdn.net/weixin_45160969/article/details/104998311
今日推荐