LVM结构:
新硬盘创建LVM系统过程:
物理卷操作命令:pvcreate,pvscan,pvdisplay.
卷组操作命令:vgcreate,vgdisplay.
逻辑卷操作命令:lvcreate,lvdisplay.
LVM基本术语
前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:
物理存储介质(The physical media)
这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
物理卷(physicalvolume)
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
逻辑卷(logicalvolume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
LE(logical extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
首先可以看到,物理卷(PV)被由大小等同的基本单元PE组成。
一个卷组由一个或多个物理卷组成:
从上图可以看到,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM系统的磁盘分区,可以在其上创建文件系统。
下图是磁盘分区、卷组、逻辑卷和文件系统之间的逻辑关系的示意图:
和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。
系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。
要创建一个LVM系统,一般需要经过以下步骤:
一、创建基于磁盘的LV
1、 查看磁盘信息:
[root@jetsen~]# fdisk -l
- 使用sdb创建基于磁盘的物理卷
[root@jetsen~]# pvcreate /dev/sdb
如果报错:Device /dev/sdb excluded by a filter.
重建分区和再次创建卷的时候擦除签名信息
parted /dev/sdb
输入:mklabel msdos
输入: Yes
输入:quit
3、 查看物理卷创建是否成功
[root@jetsen~]# pvdisplay
4、 创建data卷组:
[root@jetsen~]# vgcreate data /dev/sdb
5、 查看卷组是否创建成功:
[root@jetsen ~]# vgdisplay
6、 激活卷组
[root@jetsen~]# vgchange -a y data
-a:设置卷组的活动状态。
y:对提问回答“yes”。
- 创建新的物理卷
[root@jetsen~]# pvcreate /dev/sdc
8、 将新的物理卷添加到现有卷组:
[root@jetsen~]# vgextend data /dev/sdc
9、 查看卷组信息:
我们可以看到,VG的大小由刚才的500G变成了现在的1T的空间,PV的数量也由之前的1个变成了两个
[root@jetsen~]# vgdisplay data
10、 从现有的卷组中删除一个物理卷:
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息,如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce:
[root@jetsen~]# vgreduce data /dev/sdc
11、 创建逻辑卷
创建逻辑卷的命令为lvcreate,分为两种:
A、 创建指定大小的逻辑卷LV
[root@jetsen ~]# lvcreate -L200M -n data001 data
该命令就在卷组data上创建名字为data001,大小为200M的逻辑卷,并且设备入口为/dev/data/data001(data为卷组名,data001为逻辑卷名)。
查看我们创建的逻辑卷:
[root@jetsen ~]# lvdisplay data
B、 创建卷组全部大小的逻辑卷LV
如果希望创建一个使用全部卷组的逻辑卷,则需要首先通过vgdisplay察看该卷组的Total PE数,然后在创建逻辑卷时指定
[root@jetsen~]# vgdisplay data
创建使用卷组的全部逻辑卷语法如下:(由于之前已经创建了一卷组,就无法演示)
[root@jetsen~]# lvcreate -l15359 -n dataall data
C、 创建剩余空间所有大小的LV
查看LV剩余空间的大小:
[root@jetsen~]# vgdisplay data
创建分区:
[root@jetsen~]# lvcreate -l1279 -n data001 data 剩多少自己看着,分区名字自己起
12、 创建文件系统:
[root@jetsen~]# mkfs.ext4 /dev/data/data001
centos7: mkfs.xfs /dev/data/data001
13、 挂载文件系统 ----我们可以看到已经挂载,并且大小也正常。
[root@jetsen/]# mkdir /data001
[root@jetsen/]# mount /dev/data/data001 /data001
14、删除LV
A、 先卸载分区
[root@jetsen /]# umount /dev/data/data001
B、 执行删除操作
[root@jetsen /]# lvremove /dev/data/data001
二、创建基于分区的LV
1、 通过fdisk创建分区,详细步骤省略:
[root@jetsen /]# fdisk /dev/sdc (n\ p\ 1\ +500m\ w\) --创建了500M分区
[root@jetsen /]# fdisk /dev/sdc (n\ p\ 2\ +1024m\ w\) --创建了1G分区
查看分区信息
[root@jetsen/]# fdisk -l /dev/sdc
2、 创建基于分区的物理卷(两个)
[root@jetsen/]# pvcreate /dev/sdc1
[root@jetsen/]# pvcreate /dev/sdc2
3、 创建卷组:
[root@jetsen/]# vgcreate soft /dev/sdc1 /dev/sdc2
4、 激活卷组
[root@jetsen/]# vgchange -a y soft
5、 从卷组中删除物理卷
[root@jetsen/]# vgreduce soft /dev/sdc2
- 添加物理卷到卷组
[root@jetsen/]# vgextend soft /dev/sdc2
7、 创建LV
先查看VG的大小,为1.5G,包含2个PV
[root@jetsen/]# vgdisplay soft
将1.5G共366个PE创建一个LV
[root@jetsen/]# lvcreate -l366 soft -n soft01
8、 创建文件系统:
[root@jetsen/]# mkfs.ext4 /dev/soft/soft01
然后目录挂载
附录:
LV建立流程:
1.建立PV
2.建立VG,将PV加入到VG中。
3.建立LV,并设置LV大小。
4.格式化LV或LP成你需要的文件系统。
LV删除流程:
1.umountFS
2.删除LV。
3.将PV从所在的VG中删除。
4.删除VG。
卷管理常用命令集合:
查看显示 | 创建 | 删除 | 扩容 | 激活 | 扫描查找 | |
LV | lvdisplay | lvcreate | lvremove | lvextend | lvchange | lvscan |
PV | pvdisplay | pvcreate | pvremove | pvchange | pvscan | |
VG | vgdisplay | vgcreate | vgremove | vgextend | vgchange | vgscan |