欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Linux磁盘配额应用

发布时间:2025/6/15 78 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux磁盘配额应用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • 磁盘配额

  • 网站服务  针对网站服务域名空间上一般会设置配额限制;

  • 邮件服务 针对邮件服务每个邮箱用户设置磁盘配额限制;

  • 文件服务 针对文件服务器,每个用户设置配额限制;

  • Home家目录 针对家目录设置磁盘配额限制

  • 其他诸如NFS、ftp等服务;

  • quota简介

    什么是quota?什么是磁盘配额?在Linux操作系统中,由于是多人工作环境,多个用户共同使用一个分区,在没有限配额制下,占用存储多的用户就会侵占其他用户的存储权利,造成其他用户的使用不便;而磁盘配额就是为了解决这个问题,在root环境下通过quota指令设置磁盘配额;

  • quota主要应用环境

  • quota相关指令

  • 2.1、quota指令

    quota   --显示磁盘的使用和限制

    参数:

    -g  显示用户所在组的组配额限制

    -u 缺省显示当前用户的配额限制,指定用户则显示用户配额限制;

    -v 显示文件系统上的配额限制,即使没有占用空间

    -q 只显示超出限额的文件系统

    只有root可以使用-u参数,普通用户可以使用-g参数查看用户所在组的配额限制;


    2.2、quotacheck  扫描文件系统,创建、检测、修复配额文件;

    参数:

    -d      进入调试状态.这会产生许多用于调试程序的信息.输出的信息非常详尽,而扫描速度会减慢;

    -a     如果用它取代任何文件系统的名字, quotacheck 将检测所有在 /etc/mtab 中列为可读写 的文件系统的配额.在缺省状态下,只有在 /etc/mtab 中被列为配额的文件系统才会被检测.

    -u     只检测在 /etc/mtab 列出或指定的文件系统中的用户配额.这是缺省状态下采取 的 行动

    -R     当与 -a 一起使用时,检测除根(root)文件系统外的其他所有文件系统.

    -i     交互模式.在缺省状态下, quotacheck 在发现错误后即退出.在交互模式下,用户会被问取建议.  参考选项 -n.

    -n     有时候对同一个ID会找到多个结果. 通常遇到这种情况 quotacheck 就终止运行.该 选项强制使用第一个结果(该选项在交互模式下同样有效).

    2.3、edquota     - 编辑用户配额

    参数:

    -u     编辑用户配额.这是默认的选项.

    -g     编辑组配额.

    -p      对每个指定的用户/组的原配额加倍.  这是用来对一组用户/组初始化配额时常用的方法.

    FILES(相关文件)

    位于文件系统root下的aquota.user 或 aquota.group 配额文件.

    /etc/mtab           已挂载的文件系统表

    2.4、quotaon  -- - 开启关闭文件系统配额

    参数:

    -e     开启指定文件系统配额。 当程序名是 quotaon 时, 此选项是默认的。

    -d     关闭指定文件系统配额。 当程序名是 quotaoff 时, 此选项是默认的。

    -a      当 用 在 任 何 文 件 系 统名称的地方时, quotaon/quotaoff 将允许/禁止所有在/etc/mtab 中指定的文件系统为有磁盘配额的读-写。 这个选项一般被用在系统启动时开启配额。

    -v     为每个开启或关闭配额的文件系统显示一条消息。

    -u     处理用户配额。 这是默认选项。

    -g     处理组配额。

    相关文件 (FILES)

    aquota.user         文件系统根目录下的用户配额文件

    aquota.group        文件系统根目录下的组配额文件

    /etc/mtab           已装载的文件系统表

    quotaoff   启关闭文件系统配额

    参数:

    于quotaon相同

    三、home分区进行磁盘配额限制

    3.1、由于配额针对分区,为了体验账户管理和权限管理,挂载一个新的分区,进行home迁移;

    1)/home分区迁移

    2)针对home分区进行磁盘配额限制;

    3)设置用户配额;

    4)编辑群组可用的配额;

    5)设置开机启动quota;

    6)requota显示quota信息

    3.2、/home分区迁移

    1)备份home分区;

    [root@woon /]# mkdir /homebak

    [root@woon /]# cp -a /home/* /homebak/


    2)格式化sdb为ext4;

    [root@woon ~]# fdisk l

    Disk /dev/sdb: 53.7 GB, 53687091200 bytes

    255 heads, 63 sectors/track, 6527 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk identifier: 0x00000000


    [root@woon /]# ls -la /dev/sdb*

    brw-rw----. 1 root disk 8, 16 2月  10 20:19 /dev/sdb

    brw-rw----. 1 root disk 8, 17 2月  10 20:19 /dev/sdb1

    [root@woon /]# mkfs.ext4 /dev/sdb1

    3) 建立/dev/sdb1配额支持;

    [root@woon /]# vi /etc/fstab

    添加

    /dev/sdb1               /home           ext4            defaults,userquota,grpquota     0  0

    4)将sdb1挂载在/home下

    root@woon /]#rm rf /home/*

    root@woon /]#mount /dev/sb1 /home

    root@woon /]#cp a  /homebak/* /home/

    root@woon /]#mount a

    [root@woon ~]# df h

    Filesystem            Size  Used Avail Use% Mounted on

    /dev/mapper/vg_woon-lv_root                8.3G  4.0G  4.0G  51% /

    tmpfs                 504M   72K  504M   1% /dev/shm

    /dev/sda1             477M   27M  426M   6% /boot

    /dev/sde1             459G   70M  435G   1% /opt/gpt1

    /dev/sdb1              50G   52M   47G   1% /home


    注:如果是已经挂载的分区,可以使用mount o remount /dev/sdb1

    [root@woon ~reboot

    抽袋烟的功夫…………

    5)生成配额文件

    由于seLinux会影响quota,所以先关闭selinux

    [root@woon ~]# setenforce 0

    [root@woon ~]# getenforce

    [root@woon ~]# quotacheck aug

    查看是否生成配额文件;

    [root@woon home]# ll /home

    总用量 48

    -rw-------. 1 root   root    7168 2月  10 21:03 aquota.group

    -rw-------. 1 root   root    7168 2月  10 21:03 aquota.user

    drwx------. 4 hchen  hchen   4096 2月  10 21:02 hchen

    drwx------. 2 root   root   16384 2月  10 20:23 lost+found

    drwx------. 4 woon   woon    4096 2月   9 17:52 woon

    drwx------. 4 woonli woonli  4096 2月  10 20:39 woonli

    drwx------. 4 zwen   zwen    4096 2月  10 21:02 zwen

    6)启动quota

    [root@woon home]# quotaon -avug

    /dev/sdb1 [/home]: group quotas turned on

    /dev/sdb1 [/home]: user quotas turned on

  • 编辑配额

  • 设置用户woon、zwen和hchen磁盘配合soft为50M,hard为55M

  • [root@woon home]# edquota -u woon

    Disk quotas for user woon (uid 500):

    Filesystem                   blocks       soft       hard     inodes     soft     hard

    /dev/sdb1                        40        51200     61440         10        0        0

    [root@woon home]# edquota p woon hchen

    [root@woon home]#edquota p woon zwen

    #复制账户woon的quota给账户zwen和hchen;

    8)设置宽限时间为3天

    [root@woon home]# edquota -t

    Grace period before enforcing soft limits for users:

    Time units may be: days, hours, minutes, or seconds

      Filesystem             Block grace period     Inode grace period

      /dev/sdb1                           3days                       7days

    9)设置组配额

    [root@woon home]# edquota –g woon

    ^^^^^^^^^^^^^^^^^^^^^^^^

    10) 查看quota设置结果记录

    [root@woon ~]# repquota -av

    *** Report for user quotas on device /dev/sdb1

    Block grace time: 3days; Inode grace time: 7days

                           Block limits                Filelimits

    User           used    soft    hard grace    used  soft hard  grace

    ----------------------------------------------------------------------

    root      --   50500      0       0          10975     0    0      

    woon      --    8552  51200   61440            218    0     0      

    woonli    --      36      0       0              9     0    0      

    hchen     --      32  51200   61440              8     0    0      

    zwen      --      32  51200   61440              8     0    0      

    #1000     --    2224      0       0             59     0    0      

     

    Statistics:

    Total blocks: 8

    Data blocks: 1

    Entries: 6

    Used average: 6.000000

     

    四、quota验证

    [root@woon woon]# su – woon

    [woon@woon ~]$ dd if=/dev/zero of=/home/woon/fileddbs=1M count=100

    sdb1: warning, user block quota exceeded.

    sdb1: write failed, user block limit reached.

    dd: 正在写入"/home/woon/filedd": 超出磁盘限额

    记录了59+0 的读入

    记录了58+0 的写出

    61665280字节(62 MB)已复制,0.0753227 秒,819 MB/

    超出磁盘配额

    [woon@woon ~]$ du -h filedd

    59M     filedd

    [woon@woon ~]$ du -h |tail -1

    60M


    转载于:https://blog.51cto.com/woonli/1613494

    总结

    以上是生活随笔为你收集整理的Linux磁盘配额应用的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。