首页 > 代码库 > 磁盘配额
磁盘配额
磁盘配额:
文件服务器:共享存储空间,让用户能够随时存储数据;
FTP:
SMB:
网盘:极速上传
磁盘配额主要是针对于这类文件服务器进行用户的磁盘空间使用限制而提出的。
磁盘配额的设定对象:
1.能够实施读写操作的块设备;
2.要有正确的文件系统;
磁盘配额限制哪些人的访问行为:
1.用户
为指定用户限制磁盘使用量
1) 磁盘空间(块) 一个block的限制,代表1KB存储空间
2) inode
2.组
限制指定组中所有成员的磁盘使用量的总和;
磁盘配额的类型:
soft limit:软限制
当用户的磁盘使用量达到软配额限制,将会启动宽限期倒计时;在倒计时归0之前,用户可以正常使用剩余的配额量,但一旦倒计时归0,用户将不能继续使用磁盘空间,除非将数据进行清理,低于软限制,而后可以继续使用磁盘空间;
hard limit:硬限制
用户所能够使用的磁盘空间的真正上限;
一般来讲,软限制要比硬限制的数值要小一些。
soft:90M
hard:120M
已经存放了95M数据, 10M
清理称为85M
在Linux中默认的宽限期为7天
需要一个用户记录用户和组的磁盘使用量和配额量的数据文件;
aquota.user
aquota.group
如果想要让分区或卷能够支持磁盘配额的设定,需要单独的挂载选项;
usrquota, grpquota
1. ~]# mount -o usrquota,grpquota DEVICE MOUNT_POINT
2./etc/fstab
DEVICE MOUNT_POINT FSTYPE defaults,usrquota,grpquota 0 0
quotacheck
quotacheck - scan a filesystem for disk usage, create, check and repair quota files
选项:
-v, --verbose:显示整个操作过程的详细信息
-u, --user:创建,检测和修复用户配额文件
-g, --group:创建,检测和修复组配额文件
-c, --create-files:经过检测,如果没有用户配额文件和或组配额文件,就安装用户给定的选项来进行文件的创建;
-a, --all:所有的在/etc/fstab文件中包含了与配额有关的挂载选项的设备上,是否有对应选项的配额文件;
用于编写配额内容的命令
edquota
-u, --user:编写用户配额,默认的功能;
-g, --group:编写组配额,不推荐使用;
-t, --edit-period:设置超出软限制的宽限期;默认7天,可以选择以秒,分钟,小时,天等时间单位;
是配额功能生效:
quotaon, quotaoff
quotaon, quotaoff - turn filesystem quotas on and off
quotaon|quotaoff /dev/sdb1
查看配额的使用情况
quota
quota - display disk usage and limits
repquota(只有root用户可以使用)
repquota - summarize quotas for a filesystem
注意:
root不受磁盘配额限制;
实训步骤
1、打开虚拟机,恢复系统后关闭电源,添加新硬盘(10GB)后重新启动系统
2、分区、格式化、挂载新磁盘分区
fdisk -l
fdisk /dev/sdb
使用下列命令新建磁盘分区 /dev/sdb1
m n p 1 默认 默认 p w
fdisk -l
mkfs.ext3 /dev/sdb1
df -h
mkdir /newfs
mount /dev/sdb1 /newfs
先挂载到/newfs
ls /newfs
df -h
vi /etc/fstab 编辑/etc/fstab内容 在最后一行后添加
/dev/sdb1 /newfs ext3 defaults,usrquota,grpquota 0 0
保存文件(此处注意不得修改其他行内容,否则系统将无法启动)
cat /etc/fstab 确认修改无误
重新启动系统
修改目录/newfs的访问权限
chmod 1777 /newfs
3、创建配额文件 quotacheck -cumg /newfs
4、设置磁盘配额
useradd xxx (姓名拼音)
passwd xxx
edquota -u xxx
编辑用户xxx的磁盘配额,限制用户最多只能使用6000K空间,达到5000K时警告
5、使配额生效 quotaon -vug /newfs
6、查看配额使用情况
使用xxx用户登录系统
mkdir /newfs/xxx
创建目录/newfs/xxx
cp /bin/* /newfs/xxx
拷贝文件到/newfs/xxx
quota -u xxx
查看用户xxx的磁盘配额
cp /boot/* /newfs/xxx 拷贝文件到/newfs/xx
磁盘配额