Linux——LVM逻辑卷管理
目录
1、相关概念:
(1)LVM概念:
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
(2)PV概念:
PV也就是物理卷,物理卷就是指磁盘,磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和LVM相关的管理参数。当前LVM允许你在每个物理卷上保存这个物理卷的0至2份元数据拷贝。默认为1,保存在设备的开始处.为2时,在设备结束处保存第二份备份。
(3)VG概念:
VG也就是卷组,LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
(4)LV概念:
LV也就是逻辑卷,LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。
(5)PE概念:
每一个物理卷(PV)被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
(6)LE概念:
逻辑卷(LV)也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
(7)PV-VG-LV关系:
PV为基础,VG为中间组,LV为逻辑卷,将创建好的逻辑卷挂载到linux服务器指定的文件夹上。
(8)PV-VG-LV-PE-LE关系:
A、物理卷(PV)被由大小等同的基本单元PE组成;
B、逻辑卷(LV)被由大小等同的基本单元LE组成;
C、PE与LE大小相同且一一对应;
D、一个卷组(VG)由一个或多个物理卷(PV)组成;
E、红线部分可以看出:逻辑卷可以比物理卷更大/更小,因为逻辑卷的单元(LE)个数可以比物理卷的单元(PE)个数更多/更小,又由于PE的大小等于LE的大小,这样就可以改变分区的大小;
2、LVM好处:
随着服务器的不断被使用,我们的磁盘空间可能会越来越小,这时候,我们不能直接更换大硬盘,因为硬盘有价,数据无价,这时候我们就可以使用LVM,LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载文件系统来调整卷大小或数据迁移。这样能减少操作成本,LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。
因此在使用linux服务器时,从一开始就强烈建议将分配的磁盘通过使用LVM进行管理,方便后期无限在线动态扩容。增加服务器磁盘管理的灵活性和方便性。
3、LVM工作机制:
LVM就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。
4、LVM搭建:
(1)安装LVM管理工具:
A、检查是否安装LVM:
执行命令:rpm -qa|grep lvm
如果安装LVM会显示lvm相关软件信息:
B、yum安装LVM:
执行命令: yum install lvm*
(2)增加磁盘分配:
根据需要合理的对服务器申请增加新硬盘。
(3)磁盘分区:
对新增加的磁盘进行分区,并设置分区ID为8e。
(4)创建物理卷PV:
A、创建物理卷PV命令:
命令:pvcreate 磁盘名
例如:pvcreate /dev/sdl,多个磁盘就后面继续写,空格分隔即可。
B、其它操作物理卷PV命令:
查看系统中PV磁盘:pvs
显示系统中PV状态:pvdisplay
删除指定PV磁盘:pvremove pv磁盘名
(5)创建卷组VG:
A、创建卷组VG命令:
命令:vgcreate -s 设置pe大小 vg名称 pv磁盘名
例如:vgcreate -s 16M vgqjc /dev/sdl,指定pe为16M,也可以去掉-s不指定,默认4M。
B、其它操作卷组VG命令:
查看系统中vg磁盘:vgs
显示系统中vg状态:vgdisplay
在指定vg中增加pv:vgextend vg绝对路径 pv磁盘名
在指定vg中删除pv:vgreduce vg绝对路径 pv磁盘名
删除指定vg:vgremove vg绝对路径
(6)创建逻辑卷LV:
A、创建逻辑卷LV命令:
命令:lvcreate -l pe num /-L size -n lv名 vg名
例如:lvcreate -L 512M -n lvqjc vgqjc,-l指定pe的个数,-L指定容量
B、其它操作逻辑卷LV命令:
查看系统中lv磁盘:lvs
显示系统中lv状态:lvdisplay
在指定lv中增量容量:lvextend -L +100M /dev/vgtest/lvtest
在指定lv中减少容量:lvreduce -L 5G /dev/vgqjc/lvqjc
删除指定lv:lvremove lv绝对路径
(7)格式化逻辑卷LV:
执行命令:mkfs.ext4 lv绝对路径
最新的可以用ext4,也可以使用ext3,ext4格式化的文件系统速度快。
(8)创建文件夹:
执行命令:mkdir -p 文件夹路径
例如:mkdir -p /mnt
该文件夹用来挂在lv逻辑卷。
(9)挂载逻辑卷LV:
执行命令:mount lv名 文件夹路径
例如:mount /dev/vgqjc/lvqjc /mnt
(10)测试使用:
可以通过df -h命令查看文件夹大小,也可以在文件夹中创建文件写入内容等常用文件操作测试。
5、VG容量够扩容LV:
(1)检查VG容量:
命令:vgs
通过命令查看vg的free容量,如果vg剩余容量够lv扩容需要就直接进行lv扩容操作。
(2)增加LV容量:
扩容容量命令:lvextend -L +100M /dev/vgtest/lvtest
(3)查看文件系统类型:
执行命令:df -T
查看结果中对应文件夹一行中的Type。
(4)扩展文件系统容量:
A、文件系统ext扩展:
命令:resize2fs lv绝对路径
B、文件系统xfs扩展:
命令:xfs_growfs lv绝对路径
(5)查看文件系统容量:
执行命令:df -h
查看结果中对应文件夹一行中Size。
(6)测试使用:
可以通过df -h命令查看文件夹大小,也可以在文件夹中创建文件写入内容等常用文件操作测试。
6、VG容量不够扩容LV:
(1)检查VG容量:
命令:vgs
通过命令查看vg的free容量,如果vg剩余容量不够,那么就给服务器增加硬盘,然后创建pv,将新创建pv增加到vg中,然后增加lv容量。
(2)增加磁盘分配:
根据需要合理的对服务器申请增加新硬盘。
(3)磁盘分区:
对新增加的磁盘进行分区,并设置分区ID为8e。
(4)新建物理卷PV:
命令:pvcreate 磁盘名
将新添加的磁盘通过命令创建新的pv。
(5)增加PV到VG:
命令:vgextend vg绝对路径 pv磁盘名
通过命令在指定的vg中增加新创建的pv。
(6)检查扩展后VG容量:
命令:vgs
通过命令查看vg的free容量。
(7)增加LV容量:
扩容容量命令:lvextend -L +100M /dev/vgtest/lvtest
(8)查看文件系统类型:
执行命令:df -T
查看结果中对应文件夹一行中的Type。
(9)扩展文件系统容量:
A、文件系统ext扩展:
命令:resize2fs lv绝对路径
B、文件系统xfs扩展:
命令:xfs_growfs lv绝对路径
(10)查看文件系统容量:
执行命令:df -h
查看结果中对应文件夹一行中Size。
(11)测试使用:
可以通过df -h命令查看文件夹大小,也可以在文件夹中创建文件写入内容等常用文件操作测试。