Linux用户磁盘配额

一:内核中支持QUOTA:

[[email protected] /]# grep  CONFIG_QUOTA /boot/config-3.10.0-123.el7.x86_64

CONFIG_QUOTA=y

CONFIG_QUOTA_NETLINK_INTERFACE=y

# CONFIG_QUOTA_DEBUG is not set

CONFIG_QUOTA_TREE=y

CONFIG_QUOTACTL=y

CONFIG_QUOTACTL_COMPAT=y

如果有上列输出,则表示当前内核已经支持quota。
二:修改/etc/fstab加入QUOTA支持:
[[email protected] /]# vim /etc/fstab 
/dev/sdb1       /dvd    xfs     defaults,usrquota,grpquota    1      2
三:使用quotacheck初始化QUOTA数据库:
因为quotacheck依据/etc/mtab搜索文件系统,所以要将刚刚修改的/dev/sdb1重新挂载

[[email protected] /]# mount /dvd -o remount

[[email protected] /]# mount

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=926912k,nr_inodes=231728,mode=755)

securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)

tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)

devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)

tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)

tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,seclabel,mode=755)

cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)

pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)

cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)

cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)

cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)

cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)

cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)

cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)

cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)

cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)

cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)

configfs on /sys/kernel/config type configfs (rw,relatime)

/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)

systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)

hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)

debugfs on /sys/kernel/debug type debugfs (rw,relatime)

mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

sunrpc on /proc/fs/nfsd type nfsd (rw,relatime)

/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

/dev/sdb1 on /dvd type ext2 (rw,relatime,seclabel,quota,usrquota,grpquota)


[[email protected] /]# quotacheck -avug

quotacheck: Quota for users is enabled on mountpoint /dvd so quotacheck might damage the file.

Please turn quotas off or use -f to force checking.

-a : 扫描所有在/etc/mtab中开启quota的文件系统

-v : 显示扫描过程

-u : 扫描所有user quotas   (usrquota)

-g : 扫描所有group quotas  (grpquota)


四:启动QUOTA:(quotaon 为启动 quotaoff 为关闭)

[[email protected] /]# quotaon -avug

/dev/sdb1 [/dvd]: group quotas turned on

/dev/sdb1 [/dvd]: user quotas turned on

-a : 开启所有quota设定,根据/etc/mtab设定

-v : 当开启quota时显示信息

五:编辑用户磁盘限额:

这里设定用户quota最大使用容量为20M,当使用到10M时会得到警告要求降低到10M最多可以创建10个文件,当创建5个文件时会得到警告要求降低到5个文件

[[email protected] /]# edquota -u redhat(redhat为系统用户名称)

Disk quotas for user redhat (uid 1000):

Filesystem                   blocks       soft       hard     inodes     soft     hard

/dev/sdb1                         0              0          0           0              0        0

改为

Disk quotas for user redhat (uid 1000):

Filesystem                   blocks       soft       hard     inodes     soft     hard

/dev/sdb1                         0         10240      20480        0         5          10

-u : 编辑user的quota

-g : 编辑group的quota

-t : 编辑宽限时间

-p : 复制quota资料到另一用户上


blocks :目前使用者(quota:uid=5011)在/dev/hda7所使用的空间,单位:KB (不要修改)

soft   :soft limit 磁盘空间限定值 单位:KB (需要设定)

hard   :hard limit 磁盘空间限定值 单位: KB (需要设定)

inodes :目前使用者使用掉的inodes,由于不容易使用inode控制,所以不要修改它。

soft   :soft limit 文件限制数量  (根据需要修改)

hard   :hard limit 文件限制数量   (根据需要修改)

soft limit :最低限制容量,在宽限期(grace period)之内,使用容量可以超过soft limit,但必须在宽限期之内将使用容量降低到soft limit以下。

hard limit :最终限制容量,如果使用者在宽限期内继续写入数据,到达hard limit将无法再写入。

宽限时间:使用容量超过soft limit,宽限时间自动启动,使用者将容量降低到soft limit以下,宽限时间自动关闭,如果使用者没有在宽限时间内将容量降低到soft limit,那么他将无法再写入数据,即使使用容量没有到达hard limit

六.设定宽限时间:

[[email protected] dvd]# edquota -t

Grace period before enforcing soft limits for users:

Time units may be: days, hours, minutes, or seconds

Filesystem             Block grace period     Inode grace period

/dev/sdb1                     7days                  7days


[[email protected] dvd]# quota -uv redhat(-u : 显示user。-v : 显示quota值)

Disk quotas for user redhat (uid 1000):

Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

/dev/sdb1       0   10240    20480               0            5       10

七.使用-p参数复制quota资料到另一个用户:
[[email protected] dvd]# edquota -p redhat aaa

[[email protected] dvd]# quota -uv aaa

Disk quotas for user aaa (uid 1001):

Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

/dev/sdb1       0     10240   20480               0          5      10


同时复制给多个用户:

[[email protected] dvd]#edquota -p redhat`awk -F: ‘$3 >499 {print $1}‘ /etc/passwd`

这样就将quota的磁盘配额资料复制给所有uid >499的用户(uid为500以上的用户通常为真实用户)

八.系统启动时自动激活quota:

可以加入到/etc/rc.d/rc.sysinit或/etc/rc.d/rc.local中,在结尾加上一行:/usr/sbin/quotaon -aug

还要记得在系统关机/重启脚本(/etc/rc.d/rc[0,6]/)中加入关闭quota的语句:/usr/sbin/quotaoff -aug 

九.查询磁盘配额:

[[email protected] dvd]# repquota -a

*** Report for user quotas on device /dev/sdb1

Block grace time: 24:00; Inode grace time: 7days

Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

----------------------------------------------------------------------

root      --      20         0       0                        2     0     0       

十.计划任务quotcheck:

quotcheck用来扫描文件系统的磁盘用量,更新aquota.user,aquota.group保持quota记录档到最新的状态。因此最好在系统启动时执行或通过cron定期执行:

每周六早七点执行一次:0 7 * * 6 /sbin/quotacheck -avug

时间: 2024-08-27 13:23:14

Linux用户磁盘配额的相关文章

Linux的磁盘配额详解(Quota)

1. 检查内核情况 检查当前内核是否支持quota,当前内核配置文件在/boot下 如果当前内核不支持quota,需要重新编译内核将quota support编译进核心: File systems  --->  [*] Quota support 2. 修改/etc/fstab,对所选文件系统激活配额选项 vim/etc/fstab 3. 重新挂载文件系统 添加了 usrquota 和 grpquota 选项后,重新挂载每个相应 fstab 条目被修改的文件系统.如果某文件系统没有被任何进程使用

认识Linux的磁盘配额

对于管理Windows系统的网络管理员来说,配置磁盘配额是一件比较容易的事情,那么,如何在Linux下配置磁盘配额,在配置磁盘配额时需要注意哪些问题,可能有些读者朋友就不太清楚了,本文将为大家介绍Linux下磁盘配额的知识和技巧. Linux系统在默认情况下,并不限制每个用户使用磁盘空间的大小,如果某个用户疏忽或恶意将磁盘占满,将导致系统无法进行写操作甚至崩溃.我们可以做一个磁盘爆满测试,一个没有设置磁盘配额的Linux系统中,使用某一普通用户登录,执行命令:$ dd if=/dev/zero

linux中磁盘配额管理

一,磁盘管理的概念: Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限.因此,系统管理员应该适当的开放磁盘的权限给用户,以妥善分配系统资源. 二,什么是磁盘配额: 磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中所能使用的最大空间. 三,磁盘配额的步骤: 1,首先创建要磁盘配额的用户(add) 2,首先编辑/etc/fstab文件 使用vi编辑器对

linux初学者-磁盘配额篇

linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示,we用户在一个500M的磁盘中写入了500M的数据,其他用户无法再在这个磁盘中写入数据.为了解决这个问题,可以在磁盘中对每个用户设置磁盘配额,使得每个用户可以分到适当的空间. 在磁盘挂载时,输入命令"mount -o usrquota 磁盘 挂载目录",可以在挂载上的同时开启开启磁盘配额

Linux学习—磁盘配额工具quota

磁盘配额--Linux作为一个多用户的操作系统,实际生活中会发生多人共同使用一个磁盘的情况,,为了保证一个磁盘的有效利用,必须对磁盘进行使用率的限制,因此磁盘配额(quota)会是一个非常有用的工具 目录 quota的使用限制 quota的设置内容(xfs) 使用quota的案例(重点) 一.quota的使用限制 对EXT系列文件系统,quota仅能针对整个文件系统进行设计,无法对单一的目录进行磁盘配额:而在xfs的文件系统中,可以使用quota对目录进行磁盘配额,因此在进行磁盘配额前,一定要对

Linux的磁盘配额

一.文件服务器:通过共享存储空间,让用户能够随时利用网络进行数据存储的服务器 FTP HTTP NFS Samba .. 磁盘配额主要是针对于这种文件服务器进行的用户磁盘空间的限制而提出的解决方案 磁盘配额的设定对象: 能够通过网络进行实时写操作的块设备,要求其文件系统必须支持磁盘配额功能 二.针对用户账户和组账户进行磁盘配额设定 对于用户账户: 为指定的用户账户设置特定的磁盘使用量: 1) 磁盘空间使用量 2) inode节点使用量(文件的数量) 对于组账户: 限制指定的组中所有成员的磁盘使用

linux之磁盘配额(quota)

1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途    显示磁盘使用情况和配额 3.quota的一般作用对象     (1)针对WWW server     (2)针对mail server     (3)针对file server4.quota的限制    (1)仅能针对整个文件系统     (2)需要kernel的支持     (3)只对一般用

VMware+Linux更改磁盘配额(使用gparted LiveCd) 实用!!!

转载:http://blog.csdn.net/microad_liy/article/details/7667670 写这篇文章的原因: 最近要给服务器Centos上的ruby版本升级,由于是第一次升级,不敢直接在服务器上操作. 所以在我的winxp上装了Vmware ,又在Vmware中装了Centos5.2. 用yum install装一些补丁包后,Centos的根目录空间就不够了,其他的操作也就进行不下去了. 这个问题困扰了我一周的时间,网上也有很多人遇到过这个问题,但在如海的转载式回答

Linux入门之磁盘管理(6)磁盘配额

在linux中使用向磁盘中存入数据时,如果有多个用户对同个磁盘进行操作,其中一个用户放了很大数据的文件导致硬盘容量用光,那么其他用户将无法再存入数据,这时就需要对每个用户进行存入数据大小的限制,linux中提供了一种磁盘配额的功能来实现. 初始化: 添加分区挂载选项:usrquota.grpquota 初始化数据库:quotacheck 命令 使用命令 开启或取消配额:quotaon.quotaoff 直接编译配额:edquota  [username] 案例说明: 创建配额数据库 #/home