第15章 磁盘配额(Quota)与高级文件系统管理

磁盘配额(quota)的应用与实践

什么是quota

举例来说,用户的默认主文件夹是在/home下面,如果/home是个独立的分区,假设是10G,/home下有30个账号,这样30个用户共享这10G的空间。如果某个用户占用大量空间,那其他用户可用的空间将很小。这时需要使用quota来限制用户。

 

quota一般用途

  • 针对WWW server,限制每个人的网页空间容量
  • 限制某一用户组所能使用的最大磁盘配额
  • 限制某一用户的最大磁盘配额

quota的使用限制

  • 仅针对整个文件系统,例如:/dev/sda5挂载在/home下面,那么在/home下的所有目录都会受到限制
  • 内核必须支持quota
  • 只对一般用户有效

quota的规范设置选项

  • 容量限制或文件数量限制:限制用户的block用量或者inode用量
  • soft/hard:当用户使用容量高于soft值低于hard值时,系统会警告用户及时清理磁盘并设置期限,期限内未使磁盘容量降低到soft值以下的话,用户将失去对磁盘的使用权。

一个quota范例

创建一个用户组myquotagrp,五个用户myquota1,myquota2,myquota3,myquota4,myquota5.

[root@localhost ~]# vim addaccount.sh
groupadd myquotagrp
for username in myquota1 myquota2 myquota3 myquota4 myquota5
        do
                useradd -g myquotagrp ${username}
                echo "password" | passwd --stdin $username
        done

[root@localhost ~]# sh addaccount.sh
更改用户 myquota1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 myquota2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 myquota3 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 myquota4 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 myquota5 的密码 。
passwd:所有的身份验证令牌已经成功更新。

echo "password" | passwd --stdin $username “ 中passwd  --stdin $username是更改$username变量的密码,加上--stdin是接受echo后面的字符串(password)做为密码。

实践quota流程1:文件系统支持

因为本机只有/boot是独立的文件系统,因此使用这个目录来实验。

 

查看该目录是否为独立的文件系统

[root@localhost ~]# df -h /boot
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda1       497M  157M  341M   32% /boot
[root@localhost ~]# mount | grep boot
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

编辑配置文件

[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Apr 25 13:00:42 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=faacc6c4-79d8-423b-b769-6664dcf17f88 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
LABEL=/boot /boot ext3 defaults,usrquota,grpquota 1 2

实践quota流程2:新建quota配置文件

quota是通过分析整个文件系统中的每个用户(用户组)拥有的文件总数与总容量,将这些记录在该文件系统的顶层目录,然后在该配置文件中再使用每个账号的限制值去规定磁盘的用量。

使用quotacheck命令扫描支持quota参数(usrquota,grpquota)的文件系统

 

本人的机子的文件系统好像有问题,后面的实验没法进行,暂时到这里

 

 

posted @ 2016-07-21 16:25  且听风吟-wuchao  阅读(613)  评论(0编辑  收藏  举报