一、LVM 概述
(一)、Logical Volume Manager,逻辑卷管理
1、能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
2、/boot分区用于存放引导文件,不能基于LVM创建
(二)、LVM机制的基本概念
PV (物理卷)
VG (卷组)
LV (逻辑卷)
LVM的类型号是8e
逻辑卷的基本单位是Mb(兆b) 一个PV是用fdisk创建出来的,每个PE 4兆 而逻辑卷是把多个物理卷组合起来的一个整体。
所谓的逻辑卷相当于从卷组中分割的一部分
(三)、LVM概念
PV (Physical volume,物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE) ,从而构成物理卷。
注意:创建分区时分区类型一定要选择8e
VG (Volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。
IV (Logical volume,逻辑卷)
从卷组中分割出的一块空间,形成逻辑卷。使用mkfs等工具可在逻辑卷上创建文件系统。(一个真实能使用的文件系统一定要格式化然后挂载)
二、LVM的管理命令
(一)、主要命令:
功能 | 物理卷管理 | 卷组管理 | 逻辑卷 |
---|---|---|---|
Scan扫描 | pvscan | vgscan | lvscan |
Create建立 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | Ivdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | —— | vgextend | Ivextend |
Reduce减少 | —— | vgreduce | Ivreduce |
(二)、创建规则
pvcreate 设备名1 【设备名2……】
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend - L +大小 /dev/卷组名/逻辑卷名
当想要扩展逻辑卷大小的时候,使用“lvextend”命令扩展。注意扩展之前不能在该逻辑卷中,并且需要将该逻辑卷解挂载之后才可以编辑,而且扩展的空间之前一定要有"+",否则则是将原来的空间更改为20G,而不是扩展。这里将逻辑卷扩展20G。
三、创建
首先添加新的硬盘
使用fdisk -l 查看硬盘信息分区情况
我们创建了三块新的分区 每块都使用全部大小,这边演示一下/dev/sdb 其他的步骤一样 最后一定要修改分区类型为 8e ,8e代表LVM。
使用fdisk -l 查看,已经全部修改成功为LVM类型
接下来就是创建物理卷 和卷组。卷组包含sdb1、sdc1、sdd1。并使用vgdisplay查看卷组。
接下来就是创建逻辑卷 并且用 lvdisplay查看逻辑卷
物理层、卷组、逻辑卷全部都创建好了之后我们该进行格式化和挂载了
先进入根目录创建一根目录命名为pubg
查询一下挂载目录df -Th,可以看到我们的逻辑卷已挂载好了
四、扩展逻辑卷
当想要扩展逻辑卷大小的时候,使用“lvextend”命令扩展。注意扩展之前不能在该逻辑卷中,该逻辑卷可以不解挂载就能编辑,也可解挂载之后编辑,而且扩展的空间之前一定要有"+",否则则是将原来的空间更改为20G,而不是扩展。这里将逻辑卷扩展20G。
在线扩容,不用格式化和解挂载,扩完后使用xfs_growfs命令刷新文件系统
最后刷新文件系统
五、磁盘配额
(1)、配置磁盘配额需要的条件:
●需要Linux内核支持
●安装xfsprogs与quota软件包
rpm -q xfsprogs quota (检查是否已经安装)
yum install -y xfsprogs quota (没有安装的话使用该命令安装)
(2)、磁盘配额的特点
●作用范围:针对指定的文件系统(分区)
●限制对象:用户账号、组账号
●限制类型:磁盘容量、文件数量
●限制方法:软限制、硬限制
(3)、设置磁盘配额
●当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
●为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
●在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_quota工具进行管理; EXT3/4 文件系统通过 quota 工具进行管理。
(4)、CentOS7中设置磁盘配额步骤
①检查是否已安装xfsprogs和xfs_quota软件包
②以支持配额功能的方式挂载文件系统
umount /dev/vgname1/lvname1
mount -o usrquota, grpquota /dev/vgname1/ lvname1 /opt(手动挂载)
用户成员 组成员
添加挂载参数"usrquota, grpquota"用于增加对用户、组配额功能的支持
或者
vim /etc/fstab
/dev/vgname1/lvname1 /opt xfs defaults,usrquota,grpquota 0 0(自动挂载)
umount /dev/vgname1/lvname1
mount -a ###-a选项,将/etc/fstab的所有内容重新加载
mount -a 相当于重新挂载 挂载 在etc/fstab 文件里面配置的一些挂载项
③编辑用户和组账号的配额设置
useradd zhangsan
passwd zhangsan
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangsan' /opt/
-u指的是用户账号对象
-g就是指组账号对象
④验证磁盘配额功能
chmod 777 /opt
su zhangsan
cd /opt
创建好新用户之后,使用下面的命令来编辑用户的配额限制。其中的“-x”:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。 “-c”:表示直接调用管理命令。“-u”:指定用户账号对象。“bsoft”:设置磁盘容量的软限制数值为80M,“bhard”:设置磁盘容量的硬限制数值为100M,“isoft”:设置磁盘文件数的软限制数值为40个,“ihard”:设置磁盘文件数的硬限制数值为50个。
然后设置用户权限,需要给777最高权限,不然该用户不能执行其中的命令。接着使用验证磁盘容量超限的命令验证一下:
dd if=/dev/zero of=/abc01/test.txt bs=10M count=12 (意思是:每次给10M,连续给12次)其中test.txt是自己创的文件
然后设置用户权限,需要给777最高权限,不然该用户不能执行其中的命令。接着使用验证磁盘容量超限的命令验证一下:
dd if=/dev/zero of=/abc01/test.txt bs=10M count=12 (意思是:每次给10M,连续给12次)其中test.txt是自己创的一个文件。
当存入的容量过多时,会提示超出磁盘限额。
限制文件数的命令为:xfs_quota -x -c ‘limit -u isoft=4 ihard=5 zhangsan’ /opt/,最大硬限制数为5个文件,通过在该分区下创建6个文件,发现超出了磁盘限额。