LVM逻辑卷
1、LVM概述
LVM(Logical Volume Manager,逻辑卷管理)重点在于可以弹性地调整文件系统的容量,需要文件的读写性能或是数据的可靠性,LVM可以整合多个物理分区,让这些分区看起来像是一块磁盘一样,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。
注意:/boot分区用于存放引导文件,不能基于LVM创建
2、 LVM机制的基本概念(可结合末尾关系图进行理解)
2.1 PE(Physical Extent,物理扩展块)
VM默认使用4MB的PE数据块,它是整个LVM中最小的存储数据单位,也就是说我们的文件数据都是借由写入PE来完成的
2.2 PV ( Physical Volume, 物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。物理卷一般直接使用设备文件名称,例如:/dev/sdb1、/dev/sdc1、/dev/sdd 等。
2.3 VG (Volume Group, 卷组)
由一个或多个物理卷组成一个整体,即称为卷组,许多个物理卷可以分别组成不同的卷组,卷组的名称可以由我们自行定义,在卷组中可以随时根据需求动态地添加或移除物理卷。
2.4 LV (Logical Volume,逻辑卷)
逻辑卷基于PE建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从卷组中分割出的一块空间,形成逻辑卷。使用mkfs 等工具可在逻辑卷上创建文件系统,就可以挂载到Linux系统中的目录下使用。
3、LVM的管理命令
| 功能 | PV管理命令 | VG管理命令 | LV管理命令 |
|---|---|---|---|
| Scan(扫描) | pvscan | vgscan | lvscan |
| Create(建立) | pvcreate | vgcreate | lvcreate |
| Display(显示) | pvdisplay | vgdisplay | redisplay |
| Remove(移除) | pvremove | vgremove | lvremove |
| Extend(扩展) | —— | vgextend | lvextend |
| Reduce(减少) | —— | vgreduce | lvreduce |
4、LVM操作的具体步骤
4.1、关闭主机,根据需求添加新硬盘,重启主机;
关闭主机,添加两块新硬盘,重启主机
4.2、对新硬盘划分主分区,分区号改为8e
先使用fdisk工具将磁盘设备/dev/sdb、 /dev/sdc划分出主分区sdb1、sdc1, 并且把分区类型的ID标记号改为“8e"
4.3、创建物理卷、卷组和逻辑卷(选择容量);
创建物理卷
pvcreate /dev/ sdb1 /dev/ sdc1
创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/ sdb1 /dev/ sdc1
创建逻辑卷,逻辑卷名为lvname1, 容量为20GB, 生成的文件路径为/dev/ vgnamel/ lvname1
lvcreate -L 20G -n 1vname1 vgname1
4.4、对逻辑卷进行格式化并挂载;
对逻辑卷进行格式化,创建XFS文件系统,并挂载到/xxx目录下
mkfs -t xfs /dev/ vgname1/ lvname1
mount /dev/ vgname1/ lvname1 /xxx
df -hT
4.5、有需要进行扩容。
再扩容
vgextend vgname1 / dev/ sdc2
lvextend -L +10G /dev/vgname1/ lvname1
xfs_growfs /dev/ vgname1 / lvname 1
刷新xfs文件系统容量
resize2fs / dev/vgname 1/ lvname1
刷新ext4类型文件系统容量
5、实例操作
5.1、添加两块硬盘,并规划两个分区,将类型设置为”8e“。
5.2、使用partprobe命令重新读取分区表。
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# partprobe /dev/sdc
5.3、使用pvcreate命令将上述两个分区转换成物理卷。
5.4、使用vgcreate命令创建卷组qingniao,包括物理卷:dev/sdb1、dev/sdc1
5.5、使用lvcreate创建逻辑卷
5.6、格式化
5.7、挂载
5.8、如果此时逻辑卷不够了,使用lvextend为逻辑卷扩容
5.9、此时再解挂载后重新挂载
5.10、如果此时卷组不够,需再创建物理卷(重新添加一块sdd的硬盘)
5.11、然后用vgextend命令,扩展卷组
5.12、再扩展逻辑卷lvextend,并激活
5.13、解挂载后重新挂载,就可以使用了
总结
LVM逻辑卷的建立和扩容是最基础的使用,也可用同样的方式对根目录进行扩容,可以有效解决内存不足的问题