LVM与磁盘配额
一.LVM概述
Logical Volume Manager,逻辑卷管理
?能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。
?/boot分区用于存放引导文件,不能基于LVM创建。
二.LVM机制的基本概念
PE(Physical Extend)
卷的最小单位,默认4M大小,就像我们的数据是以页的形式存储一样,卷就是以PE的形式存储。
PV (Physical Volume, 物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。
VG (Volume Group, 卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。
LV (Logical Volume, 逻辑卷)
从卷组中分割出的一块空间,形成逻辑卷。使用mkfs 等工具可在逻辑卷上创建文件系统。
三、LVM的管理命令
主要命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
Scan扫描 | pvscan | vgscan | lvscan |
Create建立 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | ———— | vgextend | lvextend |
Reduce减少 | ———— | vgreduce | lvreduce |
常用命令
pvcreate 设备名1 设备名2...... vgcreate 卷组名 物理卷名1 物理卷名2 lvcreate -L 容量大小 -n 逻辑卷名 卷组名 lvextend -L +大小 /dev/卷组名/逻辑卷名 xfs_growfs /dev/vgname1/lvname1 #刷新xfs文件系统容量 resize2fs /dev/vgname/lvname #刷新ext4类型文件系统容量
例:
先添加两块硬盘
查看硬盘是否添加
进行磁盘分区并变更分区类型
sdb分区
sdc分区
创建物理卷
创建卷组
创建逻辑卷
格式化逻辑卷
创建一个新目录,并挂载
扩容前
开始扩容,完成扩容
四、磁盘配额概述
1)实现磁盘限额的条件
? 需要Linux内核支持。
? 安装xfsprogs与quota软件包。
2)Linux磁盘限额的特点
? 作用范围: 针对指定的文件系统(分区)。
? 限制对象: 用户帐号、组帐号。
? 限制类型: 磁盘容量、文件数量。
? 限制方法: 软限制、硬限制。
硬限制:是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制
软限制:是指用户可以在一定时间范围内(默认时间为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间.如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源
3)磁盘配额流程
? 当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障
? 为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可
用性
? 在Centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_ quota工具进行管理;EXT3/4文件系统通过quota工具进行管理
五、CentOS7中设置磁盘配额步骤
rpm -q xfsprogs quota yum install -y xfsprogs quota
umount / dev/ vgname1/ lvname1 #有挂的先解挂 mount -0 us rquota, grpquota / dev/ vgname1/ lvname1 /opt #添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持 或者 vim /etc/ fstab /dev/ vgname1 / lvname1 /opt xfs defaults, usrquota, grpquota 0 0 #自动挂载配置 mount- a #-a选项,将/etc/ fstab的所有内容重新加载
使用xfs_quota命令编辑配额设置
xfs_quota -x -c “limit -u bsoft=N bhard=N isoft=N ihare=N 用户名”挂载点
常用选项
-x: 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c: 表示直接调用管理命令
-u: 指定用户账号对象
-g: 指定组账号对象
限制字段
bsoft: 设置磁盘容量的软限制数值(默认单位为KB)
bhard: 设置磁盘容量的硬限制数值(默认单位为KB)
isoft: 设置磁盘文件数的软限制数值
ihard: 设置磁盘文件数的硬限制数值
useradd zhangsan passwd zhangsan xfs_ quota -x -c ‘ limit -u bsoft=80M bhard=10QM isoft=40 ihard=50 zhangsan‘ /opt/ #仅限制磁盘容量 xfs_ quota -x -c ‘limit -u bsoft=80M bhard=100M zhangsan‘ /opt/ #仅限制文件数 xfs_ quota -x -c ‘limit -u isoft=4 ihard=5 zhangsan‘ /opt/ #仅限制磁盘容量 xfs_ quota -x -C ‘ limit -u bsoft=80M bhard=100M zhangsan‘ /opt/ #仅限制文件数 xfs quota -x -c ‘limit -u isoft=4 ihard=5 zhangsan‘ /opt/ #查看zhangsan磁盘容量限制 xfs_ quota -C ‘ quota -uv zhangsan‘ /opt/ #查看zhangsan文件数限制 xfs quota -C ‘quota -i -uv zhangsan‘ /opt/
chmod 777 /opt #给权限 su zhangsan cd /opt #验证磁盘容量超限 dd if=/dev/ zero of=/opt/ddtest. txt bs=10M count=12 #验证磁盘文件数超限 touch {aa,bb, cc,dd,ee, ff} . txt
dd命令是一个设备转换和连续复制命令
“if=”指定输入设备(或文件)
“of=”指定输出设备(或文件)
“bs=”指定读取数据块的大小
“count=”指定读取数据块的数量
/dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
#查看所有可用分区的磁盘容量配额使用情况 xfs_quota -X -C ‘ report -a‘ #查看磁盘容量和文件数的报告 xfs_quota-X -C ‘report -abih ‘
xfs_quota -x -c ‘off -u‘ /配额的目录 xfs_quota -x -c ‘off -g‘ /配额的目录 xfs_quota -x -c ‘off -p‘ /配额的目录
xfs_quota -x -c ‘remove -u‘ /配额目录 xfs_quota -x -c ‘remove -g‘ /配额目录 xfs_quota -x -c ‘remove -p‘ /配额目录