磁盘配额主要用于以下情况:
在以上情况下,磁盘配额可以帮助您管理和控制用户对磁盘空间的使用,确保文件系统的健康和稳定运行。
[root@CentOS7 ~]# fdisk -l //看一下设备名
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@CentOS7 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x41014ed2 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Extended 类型,大小设为 10 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@CentOS7 ~]# mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@CentOS7 ~]# yum -y install quota
[root@CentOS7 ~]# quotacheck -ug /mnt/disk/
quotacheck: Mountpoint (or device) /mnt/disk not found or has no quota enabled. // quotacheck:挂载点(或设备)/mnt/磁盘未找到或没有启用配额。
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option. // quotacheck:找不到文件系统检查或文件系统没有挂载配额选项。
[root@CentOS7 ~]# vim /etc/fstab
/dev/sdb /mnt/disk ext4 defaults,usrquota,grpquota 0 0 //加上这一行(注意要开启配额功能),然后重启
[root@CentOS7 ~]# quotacheck -ug /mnt/disk/
[root@CentOS7 ~]# ll /mnt/disk/
总用量 32
-rw-------. 1 root root 6144 6月 22 10:30 aquota.group
-rw-------. 1 root root 6144 6月 22 10:30 aquota.user
drwx------. 2 root root 16384 6月 22 10:13 lost+found
这里不能直接编辑,否则会显示
[root@CentOS7 disk]# vim aquota.user
^Q^_ÀÙ^@^@^@^@<80>: ^@<80>: ^@^@^@^@^@^F^@^@^@^@^@^@^@^E^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
使用以下命令:edquota -u 用户名或edquota -g 组名。
例如:
[root@CentOS7 disk]# edquota -u it
Disk quotas for user it (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sdb 0 0 0 0 0
小结:前三个跟空间大小有关,后三个跟文件数量有关
使用以下命令:quotaon -ug /mnt/disk。
[root@CentOS7 disk]# quotaon -ug /mnt/disk
使用以下命令:quotastats -ug /mnt/disk。
[root@CentOS7 disk]# quotastats -ug /mnt/disk
Kernel quota version: 6.5.1
Number of dquot lookups: 0
Number of dquot drops: 0
Number of dquot reads: 0
Number of dquot writes: 0
Number of quotafile syncs: 8
Number of dquot cache hits: 0
Number of allocated dquots: 0
Number of free dquots: 0
Number of in use dquot entries (user/group): 0
请注意,要使磁盘配额正常工作,目录必须具有写权限,并且必须使用支持配额的文件系统(如ext4)。
[root@CentOS7 ~]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
// mkfs.xfs: /dev/sdb似乎包含一个分区表(dos)。
// mkfs.xfs:使用-f选项强制覆盖。
[root@CentOS7 ~]# mkfs.xfs -f /dev/sdb
这个命令将强制覆盖现有的分区表并重新格式化您的硬盘为XFS文件系统。请注意,此操作将删除所有数据,因此请在执行之前备份您的数据。
[root@CentOS7 ~]# mount -o usrquota,grpquota /dev/sdb /mnt/disk/
//临时挂载
首先,为文件系统创建一个配额文件
[root@CentOS7 ~]# xfs_quota -x -c 'limit -u bsoft=10M bhard=20M isoft=10 ihard=20 it' /mnt/disk/
//这里不像ext4那样会有文件出现
4、查看配额信息
[root@CentOS7 host0]# xfs_quota -c 'quota -bi -uv it' /mnt/disk/
Disk quotas for User it (1000)
Filesystem Blocks Quota Limit Warn/Time Files Quota Limit Warn/Time Mounted on
/dev/sdb 0 10240 20480 00 [--------] 1 10 20 00 [--------] /mnt/disk
[root@CentOS7 host0]# xfs_quota -c 'quota -bi -gv it' /mnt/disk/
1、在开机状态下新增硬盘。
2执行以下命令以在/sys/class/scsi_host/host0/scan文件中添加一个“- - -”字符串,以扫描并识别新添加的SCSI设备:
echo "- - -" > /sys/class/scsi_host/host0/scan |
注意三个“-”之间需要有空格。