最近在做基于mesos+marathon 的docker 容器云服务项目。需要限制每个容器的数据卷磁盘使用,对此作了一些调研工作。
基本说明
必要条件XFS ext4 均可支持Quota 操作
需要内核Linux 2.4 +的支持
需mount时指定quota option, 可配置 /etc/fstab 后remount.
有 3 种不同的配额支持:
vfsold,或者版本 1 配额
vfsv0,或者版本 2 配额
xfs,XFS 文件系统上的配额
配额需要 2.4 内核之后引入的内核支持。2.6 内核也有您所需的支持。XFS 配额往往是日志化的。内核 2.6.11 及以上版本支持日志化版本 2 配额。
Quota 基本介绍:
先介绍以下,是磁盘限额的基本概念:
usrquota: (XFS uquota) 针对某一个User
grpquota: (XFS gquota) 针对某一个Group
prjquota: (XFS pquota) 针对单一目录,不可与grpquota同时配置
inode: 配置文件个数限额
disk: 配置磁盘空间限额,单位1KB
soft: 软限额,超过会warn,同时启动timer倒计时
hard: 硬限额,超过直接抛IOERROR: Disk quota exceeds
timer: 软限额预警倒计时,默认7days, 倒计时截止时,使用量仍超过soft,则soft升级为hard. 写入即Error
通用CMD命令简介
以下命令对所有类型的文件系统都适用,如果遇到comm