LVM逻辑卷管理及相关实验
对于硬盘普通分区来说,当我们创建完成时,分区的大小就已经是固定不变的了。但是随着工作的增加,我们存储的数据会越来越大,如果分区的大小不能够满足我们的需求时,我们是不能给普通分区扩大容量的,因此,我们有了以下LVM的引入
一:LVM解释
Logical Volume Manager 逻辑卷管理
是对磁盘分区进行管理的一种机制,是一种机制,通过软件来实现
是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性,使用普通的磁盘分区,当一个磁盘的分区空间不够使用的时候,可能就会带来很大的麻烦。使用LVM在一定程度上就可以解决普通磁盘分区带来的问题
/boot分区用于存放引导文件,不能应用LVM机制(LVM是通过软件来实现的,是在系统正常运行之后才能运行的,内核的引导文件时放在/boot分区)
二:LVM的优点
1.空间利用率高:硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间
2.可以在线扩展容量:文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求
3.文件系统建立在LVM上,可以跨分区,方便使用
4.可随意定义逻辑卷卷标
三:LVM机制的基本概念
PV(Physical Volume,物理卷)
处于LVM最底层,可以是整个硬盘或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE(Physical Extents,基本单元),PE是PV中可以用于分配的最小存储单元
VG(Volume Group,卷组)
是一个或多个物理卷组合而成的整体,是建立在PV之上的。同一VG中所有PV的PE大小应该相同,当VG被创建后,我们才能正常查看PE的数量 。
VG的组成是PV:PV是可以跨分区的,从sda1分区空闲500G转换为PV,sda2分区空闲300G转化为PV,这两个PV可以组成一个VG组,大小为800G,再去创建LV,因此分区的时候不一定是从哪个PV里划分的空间
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,它是建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。其实LV就是由PE组成的,不过在LV里面这些PE叫做LE。
LE(Logical Extents)
LE是LV中可以用于分配的最小存储单元,与PE大小相同并一一对应
四:使用方法
创建PV:pvcreate 某个分区/整个硬盘
构建VG:vgcreate 卷组名 物理卷名…
分割LV:lvcreate -L 大小 -n 逻辑卷名 卷组名
给LV增加空间:lvextend -L +size VG (但不能跨VG)---------------动态扩容(与普通分区区别之处)
给VG增加空间:vgextend VG名 PV名
给VG减少空间:vgreduce VG名 PV名
给lv增加空间后,但文件系统的大小需要去更新:resize2fs(ext4)五:实验
实验要求:
全新安装一台虚拟机(1T的硬盘),安装OS时
分区:
200M /boot ext4
10G swap
200G /opt
200G /home
20G /tmp
剩下的 /
安装OS时,使用LVM,创建以下LV(1T的硬盘)
200M /boot ext4
10G swap
200G /opt
200G /home
20G /tmp
剩下的 /
安装OS完成后:
增加3个硬盘:
将3个硬盘转换为PV,加入卷组,创建3个LV:
1T
2T
3T
然后格式化,挂载:
分别挂载到:
/web
/ftp
/nfs
并且需要实现开机自动挂载
查看所加的设备是否已经被识别
将三个硬盘转换为PV
将三个VG加到/dev/sda的VG中去(VG名称在前面创建时已经给出)
查看VG,VG中已经有4个PV
从VG中再划分三个分区
查看LV的多少
格式化分区(lv)
[[email protected] ~]# mkfs.ext4 /dev/VolGroup/lv1
[[email protected] ~]# mkfs.ext4 /dev/VolGroup/lv2
[[email protected] ~]# mkfs.ext4 /dev/VolGroup/lv3
挂载文件系统
[[email protected] ~]# mount /dev/VolGroup/lv1 /web
[[email protected] ~]# mount /dev/VolGroup/lv2 /ftp
[[email protected] ~]# mount /dev/VolGroup/lv3 /nfs
实现开机自动启动,查看分区的UUID,修改配置文件/etc/fstab
[[email protected] ~]# blkid /dev/VolGroup/lv1
/dev/VolGroup/lv1: UUID="5f322059-10ae-4b61-a9fa-60a1de8d2587" TYPE="ext4"
[[email protected] ~]# blkid /dev/VolGroup/lv2
/dev/VolGroup/lv2: UUID="166bef4b-637f-4bed-9ed2-7b2f9e77152a" TYPE="ext4"
[[email protected] ~]# blkid /dev/VolGroup/lv3
/dev/VolGroup/lv3: UUID="5172c742-9e1b-4a94-a05d-501fff8176ea" TYPE="ext4"