linux disk space quota run out怎么解决

发布网友 发布时间:2022-04-23 09:21

我来回答

1个回答

热心网友 时间:2023-01-21 22:58

Linux系统*普通用户内存使用(ulimit)和硬盘配额空间(quota)

*普通用户内存

第1步,首先进到Linux终端用vi编辑/etc/security/limits.conf :# max memory locked : means the size of the memory which cannot be changed to swap
#@users          hard    memlock         11000000#@users          hard    maxlogins       99#@users          hard    data             2000000#max virtual memory size for "users" group ::@users           hard    as               4000000#max memory size for "users" group  ::@users           hard    rss             21000000

* hard core 0
* hard rss 5000
* hard nproc 20

这里的“*”代表除了Root的所有用户,( hard core 0) 是禁止core files“core 0”,( hard rss 5000) 是*内存使用为5MB“rss 5000”, (* hard nproc 20 )是*进程数为“nproc 50“。可以根据自己系统内存大小进行合理配置。

第2步:用vi编辑/etc/pam.d/login文件,然后加上下面这行保存退出就可以。    session required /lib/security/pam_limits.so

*普通用户磁盘使用(基于quota程序)

磁盘配额的使用*仅针对整个分区:磁盘配额实际运行时,是针对“整个分区”进行*的,例如,如果/dev/hda5载入在/home下,那么,在/home下面的所有目录都会受到*。

核心必须支持磁盘配额:Linux系统核心必须支持磁盘配额模块。

磁盘配额的记录文件:使用的Kernel 2.6.XX的核心版本,这个核心版本支持新的磁盘配额模块,使用的默认文件(aquota.user、aquota.group)将不同于旧版本的quota.user和quota.group。旧版本的磁盘配额可以通过convertquota程序来转换

只对一般身份用户有效:并不是所有在Linux上的账号都可以设置磁盘配额,例如root就不能设置磁盘配额,因为他拥有整个系统所有的数据。

磁盘配额程序对硬盘配额的*最低*( soft ):这是最低*容量。用户在宽限期间之内,它的容量可以超过最低*,但必须在宽限时间之内将磁盘容量降低到最低*的容量*范围之内。

最高*( hard ):这是“绝对不能超过”的容量。通常最高*会比最低*高。

宽限时间:宽限之间是指当用户使用的空间超过了最低*,却还没有到最高*时,在这个“宽限时间”内,就必须请用户将使用的磁盘空间降低到最低*之下,否则则不允许在写入。反之,则宽限时间取消

应用实施步骤

磁盘配额从开始准备文件系统的支持,到整个设置结束的主要步骤如下:

在/home下生成aquota.user和aquota.group文档

参数:

a 检查任何起用了配额的在本地挂载的文档系统

b 在检查配额过程中显示周详的状态信息

u 检查用户磁盘配额信息

g 检查组群磁盘配额信息

这样就加入了磁盘配额的磁盘格式了。不过,由于真正的磁盘配额在读取时时读取/etc/mtab文件,这个文件需要重启之后才能用/etc/fstab的新数据,所以这个时候可以选择 重新启动 或者

   #mount -o remount /data

现在假设想给test用户10M的硬盘配额*,他所拥有的最大文档数不得超过100个。

   #edquota -u test                     //test为用户名

进入编辑环境,将如下三行:

Quotas for user test:/dev/hadx: blocks in use14,limits(soft=0, hard=0)
inodes in use: 12, limits (soft=0, hard=0)

改为:

Quotas for user test:/dev/hdax: blocks in use: 14, limits (soft=10204, hard=10204)
inodes in use: 12, limits (soft=100, hard=100)

其中:blocks in use:用户已使用块的大小,单位是KB。inodes in use: 用户现有文档的大小。这两项都是系统自动给出,不必改变。

如下所示:

   # edquota -t

可以把预警期设置为1天,也可以使用分钟或秒。默认软*是7天。

假如想给一批用户加上同样的*。比方说给系统任何100个用户加上和test同样的*。执行如下命令:

   #edquota -p test ' awk -F:' $3 499 {print $1}' /etc/passwd'

例如:

   #repquota /home

其他:

   #repquota -a[-vug]    #repquota -av                           //查看所有具有磁盘配额文件系统的*值
   #repquota -avu    username       //查看用户的磁盘配额*值

基本磁盘配额命令详解:

在开始进行磁盘配额的实际练习之前,先了解一下磁盘配额使用的命令,这些命令分为两种,一种是查询功能(quota、quotacheck、quotastats、warnquota、requota),另一种则是编辑磁盘配额的内容(edquota、setquota)。下面我们来讨论这些基本命令。

/etc/mtab

为什么要提这个文件系统实际载入的记录文件呢?要注意,当我们使用磁盘配额的时候,系统会去搜素:“系统上具有磁盘配额参数的分区”,所以,当我们要使用磁盘配额的功能时,系统文件必须要支持磁盘配额的标志。一般来说,我们是通过编辑/etc/fstab后,在重新载入文件系统的方法,来让系统的文件系统支持磁盘配额。

Ps:如果提示不能quotacheck,权限不足,此时的原因是因为SElinux ,关闭它就能创建了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com