专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

服务器磁盘配额管理

生信媛  · 公众号  · 生物  · 2019-12-27 10:34

正文

请到「今天看啥」查看全文


硬盘配额

Quota在是针对一个文件系统进行限制,而不是针对某个具体目录。也就是如果设置了 /dev/ sda1 的quota,那么一个用户在这个 /dev/ sda1 使用的数据量就会受限。如果你还有另外的 /dev/ sda2 , 用户可以在超过 /dev/ sda1 后继续使用 /dev/ sda2

Quota针对整个文件系统的 限制项目 分为如下几个部分

  • 容量限制或文件数目限制(block或inode)

  • soft/hard: 超过soft时,用户会被警告,但是依然能操作,但是一旦超过hard,那么直接无法操作硬盘

  • 宽限时间: 超过soft后,给用户一定时间进行数据转移

对于比较新的系统(例如CentOS7),建议在创建文件系统的时候就使用xfs,采用最新的quota策略。

Ext4文件系统的Quota配置

第一步。增加文件系统支持

  1. mount | grep /data2

  2. # dev/sdb2 on /data2 type ext4 (rw,relatime,seclabel,stripe=64,data=ordered)

  3. mount -o remount,usrquota,grpquota /data2

  4. # /dev/sdb2 on /data2 type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,stripe=64,data=ordered)

第二步: 扫描文件系统并新建Quota的配置文件

  1. quotacheck -avug

  2. # -a: 扫描所有在`/etc/mtab`内含有quota支持的文件系统

  3. # -v: 显示扫描过程

  4. # -u: 新建aquota.user,按照用户进行扫描记录

  5. # -g: 新建aquota.group, 按照用户组进行扫描记录

这一步可能出现的提示信息和解决方法

如果出现下面提示,说明内核支持xfs, 建议使用xfs的quota管理。

  1. quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.

如果出现下面提示,说明该磁盘正在独写,使用 lsof / fuser 查找可能的进程并关闭,之后重新运行。

  1. quotacheck: Cannot remount filesystem mounted on /data2 read-only so counted values might not be right.

  2. Please stop all programs writing to filesystem or use -m flag to force checking.

下面的提示会在首次执行时,可以忽略

  1. quotacheck: Scanning /dev/sdb1 [/data3] done

  2. quotacheck: Cannot stat old user quota file /data3/aquota.user: No such file or directory. Usage will not be subtracted.

  3. quotacheck: Cannot stat old group quota file /data3/aquota.group: No such file or directory. Usage will not be subtracted.

  4. quotacheck: Cannot stat old user quota file /data3/aquota.user: No such file or directory. Usage will not be subtracted.

  5. quotacheck: Cannot stat old group quota file /data3/aquota.group: No such file or directory. Usage will not be subtracted.

  6. quotacheck: Checked 44 directories and 23 files

  7. quotacheck: Old file not found.

  8. quotacheck: Old file not found.

第三步:启动/关闭quota

  1. quotaon -vug /data3

  2. quotaoff -ug /data3

第四步: 编辑账户/用户组的限值和宽限时间

  1. edquota - u 用户名

编辑表分为7个字段,修改的是第三个和第四个用于限制使用数据量(单位为KB),修改第六个和第七个限制使用的文件数目(不常用),0表示无限制。

和quota相关的Linux命令如下:

  • quotactl

  • quotaon/quotaoff

  • edquota

  • quotacheck

  • repquota

  • warnquota

  • setquota

XFS文件系统的Quota配置

如果使用xfs作为文件系统,那么就不能或者说没有必要采用上面的方法。xfs文件系统下,quota是文件系统的元信息,使用journaling提供更高层次的一致性保证,因此在管理上就会存在差别。

  1. quotacheck 对XFS系统没有效果。在mount时打开quota后,XFS会自动运行quotacheck做配额核算(quota accounting)

  2. 没有必要在XFS文件系统下创建quota文件。aquota.user, aquota.group

  3. 配额核算和限制增强之间存在区别。配额核算 必须 在mount的时候打开,但是限制增强可以在配额核算打开之后随意关闭和开启

  4. 建议使用state监控XFS quota系统

挂载的时候打开quota

  1. umount /mnt/disk1

  2. mount -o uquota,gquota /dev/sbd1 /mnt/disk1

  3. chmod 1777 /mnt/disk1

为了保证开机运行,还得修改 /etc/ fstab 的第四列的 defaults defaults , uquota , gquota

ext4可以通过 fstransform 转换成xfs

直接输入 xfs_quota 会进入交互模式

  • help: 查看帮助信息, 例如help quota

  • quota: 查看配额信息

  • print: 列出设备

  • df/free: 查看-bir(block,inode,realtime)信息,显示方式为 - hN , - f 指定文件

  • quit/q:退出交互模式

使用 - x 会进入专家模式, 之后通过 - c "命令" 执行命令, 举几个例子

  1. # 显示使用情况

  2. xfs_quota -x -c 'report -ugibh' /mnt/disk1

  3. # 限制用户的文件数

  4. xfs_quota -x -c 'limit -u isoft=5 ihard=10 user1' /mnt/disk1

  5. # 限制用户的数据量

  6. xfs_quota -x -c 'limit -u bsoft=1m bhard=2m user1' /mnt/disk1

其他可用命令

  • path: 显示设备

  • timer: 宽限时间,默认7天

  • enable/disable: 开启或关闭配额增强

  • off: 永久性关闭








请到「今天看啥」查看全文


推荐文章
飒漫画  ·  漫游飒飒12/24漫画更新及预告
8 年前
慈怀读书会  ·  你的形象里,藏着你的运气
7 年前
经典短篇阅读小组  ·  说说福克纳老头 | 莫言
7 年前