1 LVM逻辑卷
1.1 LVM概述
LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理。它是 Linux 下对硬盘分区的一种管理机制。LVM 适合于管理大存储设备,并允许用户动态调整文件系统的大小。此外,LVM 的快照功能可以帮助我们快速备份数据。LVM 为我们提供了逻辑概念上的磁盘,使得文件系统不再关心底层物理磁盘的概念。
- 物理卷(Physical Volume,PV):就是真正的物理硬盘或分区。
- 卷组(Volume Group,VG):将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一块逻辑硬盘。
- 逻辑卷(Logical Volume,LV):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用,我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区。
- 物理扩展(Physical Extend,PE):PE 是用来保存数据的最小单元,我们的数据实际上都是写入 PE 当中的。PE 的大小是可以配置的,默认是 4MB。
LVM的优点:
- LVM是可以允许对卷组进行方便操作的抽象层,包括重新设定文件系统的大小。
- 允许在多个物理设备间重新组织文件系统。
- 可以弹性的更改LVM的容量。
注意:
/boot分区用于存放引导文件,不能基于LVM创建。
1.2 LVM的管理命令
主要命令:
| 功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
|---|---|---|---|
| scan 扫描 | pvscan | vgscan | lvscan |
| create 建立 | pvcreate | vgcreate | lvcreate |
| display 显示 | pvdisplay | vgdisplay | lvdisplay |
| remove 删除 | pvremove | vgremove | lvremove |
| extend 扩展 | —— | vgextend | lvextend |
| reduce 减少 | —— | vgreduce | lvreduce |
命令格式:
1)创建命令:
pvcreate 设备名1 设备名2 [设备名3]... //创建物理卷
vgcreate 卷组名 物理卷名1 物理卷名2 [物理卷3]... //创建卷组
lvcreate -L 容量大小 -n 逻辑卷名 卷组名 //创建逻辑卷
mkfs.xfs 逻辑卷名(/dev/卷组名/逻辑名) //将逻辑卷格式化
mount 逻辑卷名(/dev/卷组名/逻辑名) 挂载点 //将逻辑卷挂载
vim /etc/fstab //将逻辑卷永久挂载
2)扩展容量命令:
pvcreate 设备名4... //创建新的物理卷
vgextend 卷组名 物理卷名4 //扩容卷组
lvextend -L +大小 /dev/卷组名/逻辑卷名 //扩容逻辑卷
xfs_growfs 挂载点 //XFS文件系统扩容
resize2fs /dev/VG_NAME/LV_NAME //EXT4文件系统扩容
#针对不同的文件系统,需使用对应的命令来扩容
2 LVM的应用
2.1 逻辑卷配置示例
2.1.1 实验内容:
1)创建物理卷:将/dev/sdb3和/dev/sdc1创建成物理卷;
2)创建卷组:创建卷组vg01,将2个物理卷分配给vg01
3)创建逻辑卷:从vg01中取8G容量创建逻辑卷lvmail
4)格式化逻辑卷:将逻辑卷lvmail格式化为XFS文件系统
5)挂载逻辑卷:将逻辑卷lvmail挂载到/data/mail 目录下
2.1.2 实验步骤:
1)使用fdisk工具规划分区,将/dev/sdb3和/dev/sdc1的分区格式设置为Linux LVM(对应系统ID为8e)。
[root@localhost ~]# fdisk /dev/sdb //管理磁盘分区,将sdb3的格式修改为LVM
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):t
分区号 (1-3,5,6,默认 6):3
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w
[root@localhost ~]# fdisk /dev/sdc //管理磁盘分区,将sdc1的格式修改为LVM
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w
[root@localhost ~]# partprobe //刷新分区,使系统识别
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
2) pvcreate命令,将/dev/sdb3和/dev/sdc1创建物理卷。
[root@localhost ~]# pvcreate /dev/sdb3 /dev/sdc1 //创建物理卷
Physical volume "/dev/sdb3" successfully created.
Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# pvscan //扫描查看物理卷
PV /dev/sda2 VG centos lvm2 [14.00 GiB / 0 free]
PV /dev/sdb3 lvm2 [<2.00 GiB]
PV /dev/sdc1 lvm2 [8.00 GiB]
Total: 3 [<24.00 GiB] / in use: 1 [14.00 GiB] / in no VG: 2 [<10.00 GiB]
3)vgcreate命令,创建卷组vg01,并将2个物理卷分配给vg01。
[root@localhost ~]# vgcreate vg01 /dev/sdb3 /dev/sdc1 //创建卷组
Volume group "vg01" successfully created
[root@localhost ~]# vgscan //扫描卷组
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
Found volume group "vg01" using metadata type lvm2
[root@localhost ~]# vgdisplay vg01 //显示卷组列表
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 9.99 GiB //卷组总容量
PE Size 4.00 MiB
Total PE 2558
Alloc PE / Size 0 / 0
Free PE / Size 2558 / 9.99 GiB //空余容量
VG UUID fl0023-VHwK-3OiQ-y1wT-DCnS-t7f2-E5aTWn
4)lvcreate 命令,从vg01中取8G容量创建逻辑卷lvmail
[root@localhost ~]# lvcreate -L 8G -n lvmail vg01 //从vg01中取8G容量创建逻辑卷lvmai
Logical volume "lvmail" created.
[root@localhost ~]# lvdisplay //显示逻辑卷的具体信息
--- Logical volume ---
LV Path /dev/vg01/lvmail
LV Name lvmail
VG Name vg01
LV UUID hdrCEI-TAMj-0XSc-0V0v-vCDM-lhUJ-8JlUo4
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-02-25 19:02:45 +0800
LV Status available
# open 0
LV Size 8.00 GiB //逻辑卷容量
Current LE 2048
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
5)mkfs命令,将逻辑卷lvmail格式化为XFS文件系统。
[root@localhost ~]# mkfs.xfs /dev/vg01/lvmail //将lvmail格式化为XFS文件系统
meta-data=/dev/vg01/lvmail isize=512 agcount=4, agsize=524288 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
6)修改/etc/fstab 文件,将逻辑卷lvmail挂载到/data/mail 目录下
[root@localhost ~]# mkdir /data/mail
[root@localhost ~]# blkid | grep lvmail //查看逻辑卷lvmail的UUID
/dev/mapper/vg01-lvmail: UUID="14e500d0-867d-470c-b4ed-b5b758db7996" TYPE="xfs"
[root@localhost ~]# vim /etc/fstab //修改配置文件,将lvmail设置为每次开机后自动挂载到/data/mail 目录下
UUID=14e500d0-867d-470c-b4ed-b5b758db7996 /data/mail xfs defaults 0 0
[root@localhost ~]# mount -a //重新挂载所有磁盘
[root@localhost ~]# df -Th //查看磁盘信息,可以看到lvmail已成功挂载
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 10G 4.9G 5.2G 49% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sdb1 xfs 10G 33M 10G 1% /data/aa
/dev/sdb5 xfs 2.0G 33M 2.0G 2% /data/bb
/dev/sda1 xfs 1014M 179M 836M 18% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vg01-lvmail xfs 8.0G 33M 8.0G 1% /data/mail
2.2 逻辑卷扩容示例
2.2.1 实验内容
lvmail当前容量只有8G,不够实际使用,现要求再扩容5G。
2.2.2 操作思考
1)因为卷组vg01剩余容量只有不到2G,不满足扩容5G的要求,所以需要再为vg01分配新的物理卷,物理卷总容量需至少超过3G(保险起见最少添加4G的物理卷)。
2)因为当前所有物理卷都已被使用,所以需要创建新的物理卷。
3)此前新加的硬盘/dev/sdc只创建了一个分区,且已被使用。故现在要设置新的分区。
2.2.2 实验步骤
1)使用fdisk工具,为硬盘 /dev/sdc 创建第二个分区。分区类型设置为LVM,系统ID为8e。
[root@localhost ~]# fdisk /dev/sdc //规划磁盘分区,新建第二个分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n //新建分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (16779264-41943039,默认为 16779264):
将使用默认值 16779264
Last 扇区, +扇区 or +size{K,M,G} (16779264-41943039,默认为 41943039):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):t //更改分区类型
分区号 (1,2,默认 2):2
Hex 代码(输入 L 列出所有代码):8e //选择8e,将分区类型修改为LVM
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w
[root@localhost ~]# partprobe //刷新分区,使系统识别到新建的分区
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
2) pvcreate 命令,创建新的物理卷 /dev/sdc2。
[root@localhost ~]# pvcreate /dev/sdc2 //创建物理卷/dev/sdc2
Physical volume "/dev/sdc2" successfully created.
[root@localhost ~]# pvdisplay /dev/sdc2 //查看物理卷
"/dev/sdc2" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc2
VG Name
PV Size 5.00 GiB
Allocatable NO //该物理卷是否已分配
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0 //已分配的容量
PV UUID KCXU0R-2ZU6-txXR-JXBU-6VCc-WaWh-UQwk0h
3)vgextend 命令,将物理卷 /dev/sdc2 加入卷组 vg01。
[root@localhost ~]# vgextend vg01 /dev/sdc2 //将物理卷/dev/sdc2加入卷组 vg01
Volume group "vg01" successfully extended
[root@localhost ~]# vgdisplay vg01 //显示卷组vg01的信息
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <14.99 GiB //卷组总容量
PE Size 4.00 MiB
Total PE 3837
Alloc PE / Size 2048 / 8.00 GiB //卷组中已被分配的容量
Free PE / Size 1789 / <6.99 GiB //卷组中的空余容量
VG UUID fl0023-VHwK-3OiQ-y1wT-DCnS-t7f2-E5aTWn
4)lvextend 命令,为逻辑卷/dev/vg01/lvmail 增加5G的容量。
[root@localhost ~]# lvextend -L +5G /dev/vg01/lvmail //为逻辑卷扩容5G
Size of logical volume vg01/lvmail changed from 8.00 GiB (2048 extents) to 13.00 GiB (3328 extents).
Logical volume vg01/lvmail successfully resized.
[root@localhost ~]# lvdisplay /dev/vg01/lvmail //显示逻辑卷信息
--- Logical volume ---
LV Path /dev/vg01/lvmail
LV Name lvmail
VG Name vg01
LV UUID 8WqFMf-1DXl-zCjy-qtnt-AQsw-JBVO-iNNBIb
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-02-25 19:06:20 +0800
LV Status available
# open 1
LV Size 13.00 GiB //逻辑卷总容量变为13G
Current LE 3328
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
5)xfs_growfs 命令,使XFS文件系统识别到新增的空间,实现文件系统扩容。
[root@localhost ~]# xfs_growfs /data/mail //将文件系统扩容
meta-data=/dev/mapper/vg01-lvmail isize=512 agcount=4, agsize=524288 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2097152 to 3407872
[root@localhost ~]# df -Th //查看磁盘信息,lvmail容量已变为13G
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 10G 4.9G 5.2G 49% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sdb1 xfs 10G 33M 10G 1% /data/aa
/dev/sdb5 xfs 2.0G 33M 2.0G 2% /data/bb
/dev/sda1 xfs 1014M 179M 836M 18% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vg01-lvmail xfs 13G 33M 13G 1% /data/mail
2 磁盘配额
2.1 磁盘配额概述
2.1.1 磁盘配额综述
磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。
在此概念中,有以下几个重点需要注意:
- 磁盘配额限制的用户和用户组,只能是普通用户和用户组,也就是说超级用户 root 是不能做磁盘配额的;
- 磁盘配额限制只能针对分区,而不能针对某个目录,换句话说,磁盘配额仅能针对文件系统进行限制,举个例子,如果你的 /dev/sda5 是挂载在 /home 底下,那么,在 /home 下的所有目录都会受到磁盘配额的限制;
- 我们可以限制用户占用的磁盘容量大小(block),当然也能限制用户允许占用的文件个数(inode)
磁盘配额就好像我们出租写字楼,虽然整栋楼的空间非常大,但是酬整栋楼的成本太高。我们可以分开出租,用户如果觉得不够用,则还可以租用更大的空间。不过租用是不能随便进行的,其中有几个规矩必须遵守:
- 我的楼是租给外来用户的(普通用户),可以租给一个人(用户),也可以租给一家公司(用户 组),但是这栋楼的所有权是我的,所以不能租给我自己(root 用户);
- 如果要租用,则只能在每层租用一定大小的空间,而不能在一个房间中再划分出子空间来租用(配额只能针对分区,而不能限制某个目录);
- 租户可以决定在某层租用多大的空间(磁盘容量限制),也可以在某层租用几个人员名额,这样只有这几个人员才能进入本层(文件个数限制)。
2.1.2 磁盘配额的使用条件
磁盘配额要想正常使用,有以下几个前提条件:
- 内核必须支持磁盘配额。
- 系统中必须安装了 Quota 工具。我们的 Linux 中默认安装了 Quoted 工具
- 要支持磁盘配额的分区必须开启磁盘配额功能。这项功能可以手动开启,不再是默认开启的。
2.1.3 磁盘配额中的常见概念
磁盘容量限制和文件个数限制
我们除了可以通过限制用户可用的 block 数量来限制用户可用的磁盘容量,也可以通过限制用户可用的 inode 数量来限制用户可以上传或新建的文件个数。
软限制和硬限制
软限制可理解为警告限制,硬限制就是真正的限制了。比如,规定软限制为 100MB,硬限制为 200MB,那么,当用户使用的磁盘空间为 100~200MB 时,用户还可以继续上传和新建文件,但是每次登录时都会收到一条警告消息,告诉用户磁盘将满。
2.2 启用磁盘配额支持
1)检查CentOS 7系统中是否已安装 xfsprogs 和 xfs_quota 软件包。
[root@localhost ~]# rpm -q xfsprogs quota //检查软件包是否安装,发现都已安装
xfsprogs-4.5.0-12.el7.x86_64
quota-4.01-14.el7.x86_64
2)添加磁盘配额属性,启用文件系统的配额支持。
方式一:使用 mount 命令,添加usrquota、grpquota挂载参数。
[root@localhost ~]# umount /dev/sdb1 //因为sdb1之前已经挂载过,需要先解挂
[root@localhost ~]# mount -o usrquota,grpquota /dev/sdb1 /data/aa
方式二:手动添加的方式,会在下次重新挂载时消失,因此我们可以直接修改 /etc/fstab 文件,将挂载参数写入到配置文件中,这样,即便重新挂载也不会消失。
[root@localhost ~]# vim /etc/fstab //修改配置文件,启用磁盘配额支持
UUID=e0b714cd-c33e-42b2-a051-1e1f3333b4b7 /data/aa xfs defaults,usrquota,grpquota 0 0
[root@localhost ~]# mount -a //重新挂载
2.3 磁盘配额管理
2.3.1 编辑用户和组账号的配额设置
使用 xfs_quota 命令编辑配额设置:
xfs_quota -x -c "limit -u bsoft=N bhard=N isoft=N ihard=N 用户名" 挂载点
常用选项:
- -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
- -c:表示直接调用管理命令。
- -u:指定用户账号对象。
- -g:指定组账号对象。
限制字段:
- bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
- bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
- isoft:设置磁盘文件数的软限制数值。
- ihard:设置磁盘文件数的硬限制数值。
示例:
[root@localhost ~]# xfs_quota -x -c "limit -u bsoft=80M bhard=100M nancy" /data/aa
#限制nancy用户最多使用100M的磁盘容量
[root@localhost ~]# xfs_quota -x -c "limit -u isoft=4 ihard=5 nancy" /data/aa
#限制nancy用户最多创建5个文件
2.3.2 查看磁盘配额使用
xfs_quota 命令查看磁盘配额的设置和使用情况:
xfs_quota -x -c "report 选项" 挂载点
report 常用选项:
- -u:对用户查看
- -g:对组查看
- -a:查看所有可用分区的配额使用报告
- -b:查看磁盘容量
- -i:查看文件数
- -h:人性化显示
示例:
[root@localhost ~]# xfs_quota -x -c "report -ubih" /data/aa //查看/data/aa对用户作的配额限制
User quota on /data/aa (/dev/sdb1)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root 0 0 0 00 [------] 3 0 0 00 [------]
nancy 0 80M 100M 00 [------] 0 4 5 00 [------]
#可看到针对nancy用户的容量硬限制是100M,文件数硬限制是5个,还未创建任何文件。
2.3.3 验证磁盘配额功能
1)验证nancy用户的容量硬限制100M
[root@localhost ~]# chmod 777 /data/aa //设置所有人对/data/aa目录都有读写执行的全新
[root@localhost ~]# su nancy //切换为nancy用户
[nancy@localhost root]$ cd /data/aa //切换到/data/aa目录下
[nancy@localhost aa]$ dd if=/dev/zero of=/data/aa/yuji.txt bs=10M count=11 //复制110M的内容到aa目录下的文件中,提示超出磁盘限额,只能写入100M
dd: 写入"/data/aa/yuji.txt" 出错: 超出磁盘限额
记录了11+0 的读入
记录了10+0 的写出
104857600字节(105 MB)已复制,1.2945 秒,81.0 MB/秒
[nancy@localhost aa]$ exit //退出nancy用户,回到root用户
exit
[root@localhost ~]# xfs_quota -x -c "report -ubih" /data/aa //查看磁盘配额使用情况,nancy用户已使用100M容量,已创建1个文件
User quota on /data/aa (/dev/sdb1)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root 0 0 0 00 [------] 3 0 0 00 [------]
nancy 100M 80M 100M 00 [6 days] 1 4 5 00 [------]
2)验证nancy用户的文件数量硬限制5个
[root@localhost ~]# su nancy
[nancy@localhost root]$ cd /data/aa
[nancy@localhost aa]$ touch file1.txt //创建一个文件,因为之前100M的容量已被使用,故即使文件数量限制还未达到,也无法创建
touch: 无法创建"file1.txt": 超出磁盘限额
[nancy@localhost aa]$ rm -rf * //清空目录
[nancy@localhost aa]$ touch file{1..10}.txt //一次性创建10个文件,系统提示后5个文件超出磁盘限额
touch: 无法创建"file6.txt": 超出磁盘限额
touch: 无法创建"file7.txt": 超出磁盘限额
touch: 无法创建"file8.txt": 超出磁盘限额
touch: 无法创建"file9.txt": 超出磁盘限额
touch: 无法创建"file10.txt": 超出磁盘限额
[nancy@localhost aa]$ ls //列出目录内容,发现只有5个文件
file1.txt file2.txt file3.txt file4.txt file5.txt
[nancy@localhost aa]$ exit //退出nancy用户,回到root用户
exit
[root@localhost ~]# xfs_quota -x -c "report -ubih" /data/aa //查看磁盘配额使用情况,nancy用户已创建5个文件
User quota on /data/aa (/dev/sdb1)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root 0 0 0 00 [------] 3 0 0 00 [------]
nancy 0 80M 100M 00 [------] 5 4 5 00 [6 days]
2.4 取消磁盘配额
命令格式:
xfs_quota -x -c "disable -up" 挂载点
#暂时取消quota的限制,但其实系统还是在计算quota中,只是没有管制而已。
xfs_quota -x -c "enable -up" 挂载点
#恢复到正常管制的状态,与disable相互取消、启用。
xfs_quota -x -c "off -up" 挂载点
#完全关闭quota的限制,使用了这个状态后,只有卸载再重新挂载才能再次启动quota。(并不移除quota的限制设置,只是关闭。)
xfs_quota -x -c "remove -p" 挂载点
#必须要在off的状态下才能执行的指令,可以移除quota的限制设置。(注意:"remove -p"会移除所有项目的限制)
示例:
1)"off -up" 关闭quota限制,之后测试nancy用户能否创建文件
[root@localhost ~]# xfs_quota -x -c "off -up" /data/aa //完全关闭quota的限制
[root@localhost ~]# su nancy //切换为nancy用户
[nancy@localhost root]$ cd /data/aa
[nancy@localhost aa]$ mkdir dir1 //创建目录
[nancy@localhost aa]$ ls //创建成功,未提示超出磁盘配额
file1.txt file2.txt file3.txt file4.txt file5.txt dir1
2)卸载再重新挂载,查看磁盘配额表中数据是否仍存在
[root@localhost ~]# umount /data/aa //卸载
[root@localhost ~]# mount -o usrquota,grpquota /dev/sdb1 /data/aa //重新挂载
[root@localhost ~]# xfs_quota -x -c "report -ubih" /data/aa //查看磁盘配额使用,nancy用户共创建6个文件
User quota on /data/aa (/dev/sdb1)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root 0 0 0 00 [------] 3 0 0 00 [------]
nancy 0 80M 100M 00 [------] 6 4 5 00 [-none-]
3)"off -up" 关闭quota限制,之后"remove -p"移除所有项目的限制。
[root@localhost ~]# xfs_quota -x -c "off -up" /data/aa
[root@localhost ~]# xfs_quota -x -c "remove -p" /data/aa