zoukankan      html  css  js  c++  java
  • 磁盘配额

    磁盘配额

    配额允许您控制用户或者组织的磁盘使用。它能防止个体用户和组织使用文件系统中超过自己所允许的部分,或者造成系统完全拥堵。XFS 文件系统也支持项目配额,它限制了一个项目所能使用的空间大小,无论哪个用户在项目的目录树中创建文件。

    配额必须由 root 用户或者有 root 权限的用户启用和管理。它们往往用于多用户系统,不常用于单一用户的工作站。

    以下为设置磁盘配额的操作方法,分为两个例子,ext4和xfs

    ext4:

    用/dev/sdb2 分区和ian用户来做实验

    1. mkfs.ext4 /dev/sdb2 #创建ext4文件系统
    2. mkdir /mnt/ext4 #创建一个挂载点
    3. mount -o ursquota,grpquota /dev/sdb2 /mnt/ext4 #临时实验,直接用mount进行挂载 ,也可以在fstab中添加记录“/dev/sdb2 /mnt/ext4 ext4 usrquota,grpquota 0 0 ” 然后使用mount -a 进行挂载
    4. quotacheck -cug /mnt/ext4 #创建配额数据库
    5. quotaon -p /mnt/ext4 #查看是否启用了配额
    6. quotaon /mnt/ext4 #启用配额
    7. edquota ian #打开一个以vim为编辑器的文本
    8. edquota ian
    9. Disk quotas for user wang (uid 500):
    10. Filesystem blocks soft hard inodes soft hard
    11. /dev/sda6 1164 800000 1000000 159 162 165

    第一个 soft 为警告配额,第一个hard的为最大上限配额,当soft值达到之后,用户在7天之内还可以写入文件,当达到hard上限时,将直接不能进行写操作。

    inodes为可以使用的 inodes个数,第二个soft为inodes个数的警告额度用户在7天之内还可以使用inode的个数,第二个hard为上限额度

    xfs的磁盘配额:

    用/dev/sdb3 分区和ian用户来做实验

    对 XFS 文件系统来说,配额数据是文件系统元数据的一部分。对其他文件系统来说,用户配额信息存储在文件系统 root 的 aquota.user 文件,组配额也同样存储在 aquota.group。版本 1 配额使用 quota.user 和 quota.group。对这些文件系统来说,重新安装完文件系统之后,您必须创建配额文件,并启用配额进行检测。quotacheck 命令检查所有文件系统上的配额,如果 aquota.user 和 aquota.group 文件不存在,就会创建所需的 aquota.user 和 aquota.group 文件。

    当执行quotacheck  -cug 的时候会跳过,xfs的配额功能默认是开启的。

    1. mkdir /mnt/xfs
    2. mkfs.xfs /dev/sdb3
    3. mount -o usrquota,grpquota /mnt/xfs
    4. quotacheck -acug # xfs的检查会跳过
    5. #对 XFS 文件系统来说,配额检查是默认启动的,除非文件安装了 uqnoenforce,gqnoenforce 或者 pqnoenforce 设置。
    6. #使用 xfs_quota 命令和 -x(适用于 专家)选项控制 xfs 配额。没有 -x 选项,您显示配额信息会受到限制。
    7. #命令还有一些子命令,包括 help,用于显示可用的子命令清单,state,用于显示整体状况,enable,用于启用配额检测,还有 disable,用于停止。
    8. #选项 -u、-g 和 -p 分别限制用户、组或项目的行为。
    9. #使用 -v 获得 verbose 输出。您可以在命令行模式运行命令,命令行中独立的子命令由 -c 选项指明。
    10. #您可以多次指定多种子命令的该选项。如果您将指定子命令的选项,可能就需要引用命令。
    11. #清单中显示了一些例子。
    12. [root@echidna ~]# xfs_quota -x /mnt/xfs
    13. xfs_quota> state
    14. User quota state on /mnt/xfs (/dev/sda3)
    15. Accounting: ON
    16. Enforcement: ON
    17. Inode: #131 (3 blocks, 3 extents)
    18. Group quota state on /mnt/xfs (/dev/sda3)
    19. Accounting: ON
    20. Enforcement: ON
    21. Inode: #132 (3 blocks, 3 extents)
    22. Project quota state on /mnt/xfs (/dev/sda3)
    23. Accounting: OFF
    24. Enforcement: OFF
    25. Inode: #132 (3 blocks, 3 extents)
    26. Blocks grace time: [7 days 00:00:30]
    27. Inodes grace time: [7 days 00:00:30]
    28. Realtime Blocks grace time: [7 days 00:00:30]
    29. xfs_quota> disable #禁用配额功能
    30. xfs_quota> quit
    31. [root@echidna ~]# xfs_quota -x -c "enable -gu -v" /mnt/xfs #启用配额功能
    32. User quota state on /mnt/xfs (/dev/sda3)
    33. Accounting: ON
    34. Enforcement: ON
    35. Inode: #131 (3 blocks, 3 extents)
    36. Group quota state on /mnt/xfs (/dev/sda3)
    37. Accounting: ON
    38. Enforcement: ON
    39. Inode: #132 (3 blocks, 3 extents)
    40. Blocks grace time: [7 days 00:00:30]
    41. Inodes grace time: [7 days 00:00:30]
    42. Realtime Blocks grace time: [7 days 00:00:30]
    43. edquota ian #进行配额,配置和ext4的一样

    edquota -p user1 user2  #该命令可以将user1的配额的配置,按照同样的配置,配置给user2

    setquota usename 4096 5120 40 50 /foo #省略vim编辑器的配置,直接在命令行进行配置,与edquota 内的值一一对应

  • 相关阅读:
    ASP.NET 4.0的ClientIDMode属性
    关于sql链接超时的问题
    Image.Url 无法使用 Server.MapPath(使用后无论如何也不显示)
    C# 中字符串转换成日期
    Linux RAID 磁盘管理
    脚本编写
    挂载一个NFS共享
    配置NFS服务
    配置多用户SMB挂载
    通过 SMB 共享目录
  • 原文地址:https://www.cnblogs.com/momenglin/p/8485727.html
Copyright © 2011-2022 走看看