磁盘配额设置及使用

当Linux根分区的磁盘空间耗尽时,Linux系统将无法再建立新的文件,从而出现服务程序崩溃、系统无法启动等故障现象,为了避免此问题,我么可以设置磁盘配额功能,对用户在指定文件系统中使用磁盘空间、文件数量进行限制,防止用户占用大量的磁盘空间,从而保持我们的系统存储空间可以稳定使用。

一、磁盘配额术语介绍:

磁盘配额对象式硬盘分区,并且要求Linux内核支持磁盘配额技术。

磁盘配额只对一般用户有效,对管理员来说是没有任何作用效果的。

软限制:soft:最低限制容量,可以被超过,但会有警告信息,超过的部分会保存到宽限时期到期。

硬限制:hard:不能被超过限制条件。

宽限时间:当用户使用的空间超过了软限制但还没达到硬限制,在这个宽限的时间到期前必须将超过的数据降低到软限                   以下,(默认是7天),当宽限时间到期,系统将自动清除超过的数据。

一、检查我们系统中是否已经安装了quota程序

[[email protected] ~]# rpm -q quota 
quota-4.01-11.el7.x86_64
[[email protected] ~]# rpm -ql quota 
/usr/bin/quota
/usr/bin/quotasync
/usr/sbin/convertquota
/usr/sbin/edquota
/usr/sbin/quot
/usr/sbin/quotacheck
/usr/sbin/quotaoff
/usr/sbin/quotaon
/usr/sbin/quotastats
/usr/sbin/repquota
/usr/sbin/rpc.rquotad
/usr/sbin/setquota
/usr/sbin/xqmstats
/usr/share/doc/quota-4.01
/usr/share/doc/quota-4.01/Changelog
/usr/share/man/man1/quota.1.gz
/usr/share/man/man1/quotasync.1.gz
/usr/share/man/man8/convertquota.8.gz
/usr/share/man/man8/edquota.8.gz
/usr/share/man/man8/quot.8.gz
/usr/share/man/man8/quotacheck.8.gz
/usr/share/man/man8/quotaoff.8.gz
/usr/share/man/man8/quotaon.8.gz
/usr/share/man/man8/quotastats.8.gz
/usr/share/man/man8/repquota.8.gz
/usr/share/man/man8/rpc.rquotad.8.gz
/usr/share/man/man8/setquota.8.gz
/usr/share/man/man8/xqmstats.8.gz

二、以支持配额功能的方式挂载文件系统

[[email protected] ~]# mount /dev/sdd1 /quotadir/###将我的分区挂载到了一个目录下方便使用
[[email protected] ~]# chmod 777 /quotadir/###改变目录的权限方便后面我们写入测试
[[email protected] ~]# 
[[email protected] ~]# mount -o remount,usrquota,grpquota /dev/sdd1 /quotadir/
##这是临时的挂载,我们也可以使用开机自动挂载方式:

[[email protected] ~]# vim /etc/fstab 
/dev/sdd1                       /quotadir       ext4    defaults,usrquota,grpquota 0 0 

[[email protected] ~]# mount -a 
[[email protected] ~]# mount 

tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=100136k,mode=700)
/dev/mapper/vg0-lv0 on /tmp/backup type ext4 (rw,relatime,seclabel,data=ordered)
/dev/sdd1 on /quotadir type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered)##此处可以看到我们已经挂载成功了

三、创建磁盘配额的配置文件

quotacheck:

-v:显示扫描过程

-u:针对扫描用户的情况建立aquota.user

-g:针对扫描组的情况建立aquota.group

-c:创建新的配额文件

-a:扫描所有分区

[[email protected] ~]# quotacheck -ugc /dev/sdd1 
[[email protected] ~]# ls -l /quotadir/
total 32
-rw-------. 1 root root  6144 Jun  4 18:25 aquota.group
-rw-------. 1 root root  6144 Jun  4 18:25 aquota.user
drwx------. 2 root root 16384 Jun  4 18:11 lost+found
##看到我们分区所挂载的目录自动会生成两个配置文件即可

四、实现磁盘配合限制:

edquota

-u 用户 :指定某用设置配额

-t:改变宽限时间

在这我需要创建一个普通的用户来做测试使用

[email protected] ~]# useradd ma
[[email protected] ~]# passwd ma 
Changing password for user ma.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[[email protected] ~]# edquota -u ma###设置用户ma的配额
Disk quotas for user ma (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdd1                         0       10      20          0           3       5
~

五、启用配额功能

[[email protected] ~]# quotaon /quotadir/
好的,那我么来测试下看看

[[email protected] ~]$ dd if=/dev/zero of=/quotadir/test1  bs=1k count=8
8+0 records in
8+0 records out
8192 bytes (8.2 kB) copied, 0.000230902 s, 35.5 MB/s
#写入8k的数据时候正常被写入了,没有任何报错

[[email protected] ~]$ dd if=/dev/zero of=/quotadir/test1  bs=1k count=10
sdd1: warning, user block quota exceeded.###写入10k的时候写入了,但是给我们提示警告
10+0 records in
10+0 records out
10240 bytes (10 kB) copied, 0.0009096 s, 11.3 MB/s

[[email protected] quotadir]$ ll -h /quotadir/
total 44K
-rw-------. 1 root root 7.0K Jun  4 18:38 aquota.group
-rw-------. 1 root root 7.0K Jun  4 18:38 aquota.user
drwx------. 2 root root  16K Jun  4 18:11 lost+found
-rw-rw-r--. 1 ma   ma    10K Jun  4 18:47 test1##此处可以看到我们test1文件的大小为10k

###我们在写入了10k的数据进去,看看会有什么样变化呢?
[[email protected] quotadir]$ dd if=/dev/zero of=/quotadir/test2  bs=1k count=10
sdd1: write failed, user block limit reached.
dd: error writing ‘/quotadir/test2’: Disk quota exceeded
9+0 records in
8+0 records out#只写入了8k
8192 bytes (8.2 kB) copied, 0.000170428 s, 48.1 MB/s

#接下来我们测试下我们写入文件个数:
[[email protected] quotadir]$ mkdir a1
mkdir: cannot create directory ‘a1’: Disk quota exceeded##报错了创建失败了

六、查看下我们用户具体配额情况:

[[email protected] root]$ quota -ugv 
Disk quotas for user ma (uid 1001): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdd1      20*     10      20   6days       2       3       5        
Disk quotas for group ma (gid 1001): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdd1      20       0       0               2       0       0

七、关闭磁盘配额

[[email protected] ~]# quotaoff /quotadir/###关闭单个磁盘的磁盘配额
[[email protected] ~]# quotaoff -a ###关闭系统所有已经开启的配额
[[email protected] ~]# 
[[email protected] ~]# rm -rf /quotadir/aquota.*##如果不在使用可以将配置文件也删除了
[[email protected] ~]# 然后删除/etc/fstab中的自动挂载即可
时间: 2024-10-24 06:16:47

磁盘配额设置及使用的相关文章

容易被忽视的Linux磁盘配额设置

1.          实验需求: 1)     添加一块硬盘,实现新建分区,分区格式化,开机自动挂载所有分区 2)    开启磁盘配额功能 3)    在系统里添加用户tom ,lisa和组benet 4)   对组和用户同时设置磁盘配额,验证哪个生效 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux6.5     IP:192.168.20.3   3.      实验步骤: 基本安装操作 1.添加一块2G硬盘,只是为了做实验 检

Red Hat Enterprise 6.5磁盘分区,LVM管理及磁盘配额设置

Linux磁盘分区.LVM管理及磁盘配额设置第一部分:磁盘分区 为虚拟机添加一块新的磁盘,重启生效. 管理新添加的sdb磁盘.为其创建不同类型的分区,ext4.fat.及swap.2.1创建第一个主分区2.2创建第二个主分区,方法相同. 2.3将剩下的都划分为扩展分区(逻辑分区需要在扩展分区基础上建立) 2.4在扩展分区内划出两个逻辑分区2.5创建好分区之后,我们需要根据需求改变分区的类型,fat类型分区更改方法(方法同样适用于主分区更改,此处用逻辑分区作例.)2.6变更sdb6为swap分区,

linux 磁盘配额设置

Linux是多用户多任务的操作系统,这就难免出现多个用户共享磁盘的情况,如何使多个用户公平的使用磁盘,就是磁盘配置要解决的问题.当然也可以在没创建一个用户的时候,将它的主目录建在一个单独的逻辑分区上,但是这样太麻烦了,也不灵活. 以针对用户的配置为例,设置用户的磁盘配额. 环境:Red Hat6.1 64bit 步骤如下: 1.创建myquota用户,对此用户设置磁盘配额. 2.创建一个逻辑分区,对此分区设置配额. 3.创建文件sda6的挂载点 其中修改/etc/fstab配置文件信息如下,主要

Linux磁盘配额设置及使用

概念 针对某个用户或者某个组限制使用磁盘的使用空间 实现磁盘配额的条件 需要Linux内核支持 安装quota软件包 Linux磁盘限额的特点 作用范围:针对指定的文件系统(分区) 限制对象:用户账号.组账号 限制类型: 磁盘容量(默认单位为kb) 文件数量(节点) 限制方法: 软限制(超出范围,可以写,写入会给予警告) 硬限制(超出范围,不能写) 软限制<=硬限制 实验步骤 ⑴分区.格式化 [[email protected] ~]# fdisk/dev/sdb [[email protect

Linux下的磁盘配额设置

磁盘配额概念 磁盘配额其实就是给每个用户分配一定的磁盘额度,只允许他使用这个额度范围内的磁盘空间.在linux系统中,是多用户多任务的环境,所以会有很多人共用一个磁盘的情况.针对每个用户去限定一定量的磁盘空间是有必要的,这样才显得公平. 在linux中,用来管理磁盘配额的东西就是quota了,quota在实际应用中是针对整个分区进行限制的.比如,如果我们限制了/dev/sdb1这个分区,而/dev/sdb1 是挂载在/home 目录下的,那么/home 所有目录都会受到限制. 配额命令 quot

第十四章 磁盘配额

一.Quota的主要用途: 针对网站服务(www),IDC域名空间上一般会对网站空间做限制 针对企业邮箱,对每个用户邮箱使用可以做软硬限制 针对文件服务器,可以对每个用户来使用,ftp,nts等 我们需要注意的是我们可以针对用户和组设置最大软硬磁盘配额. 注意事项: 1.磁盘配额加载于内核中 2.只适用于ETX2/EXT3/EXT4文件系统,对目录是不起作用的哦,这一点要特别注意,虽然挂载点是一个目录,但他实际上是文件系统设备. 3.只针对于户或用户组,但root除外 4.针对用户组的限额,是指

Win2003 Server磁盘配额揭密之补遗篇

Win2003 Server磁盘配额揭密之补遗篇 [ 作者:茶乡浪子    转贴自:it168.com    点击数:5011    更新时间:2005-1-17  ]   执行查看用户的磁盘配额信息管理任务也可以有“Windows界面”和“命令行”两种方式,下面分别介绍. (1)Windows界面方式 Windows界面方式中只需在如图3所示的“配额项”窗口中进行查看即可.在这个窗口中每一行都包含卷用户的信息. (2)命令行方式 命令行方式查看用户磁盘配额信息的方法是在命令提示符下键入:fsu

磁盘配额quota

磁盘配额 1 启用磁盘配额 首先创建新的分区 /dev/sd5,并创建文件系统. [[email protected] ~]# mkfs.ext4 /dev/sda5 由于xfs 不磁盘配额能成功,这里使用ext4. 然后把/dev/sda5分区挂载到 /home [[email protected] ~]# mount /dev/sda5 /home [[email protected] ~]# blkid /dev/sda5 /dev/sda5: UUID="8879cf63-99a5-43

Linux系统管理14——磁盘配额(Quota)

Linux系统管理14--磁盘配额(Quota)(课外知识补充02) 一.磁盘配额(Quota)概述 在Linux系统中,由于是多人多任务环境,所以会有很多人共同使用一个硬盘空间的情况发生,如果其中少数几个使用者大量的占用硬盘空间的话,那势必会压缩其他用户的使用权力,因此,管理员应该适当的限制硬盘的容量给用户,以妥善分配系统资源. 1.Quota的规范设定项目 (1)容量限制(block) 此方法较为常见 (2)文件数量限制(inode) 2.柔性劝导与硬性规定(soft/hard) 不管是in