设为首页 收藏本站
查看: 348|回复: 0

[经验分享] Linux磁盘配额应用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-2-11 15:38:13 | 显示全部楼层 |阅读模式
    磁盘配额

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

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

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

        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分区;

[iyunv@woon /]# mkdir /homebak

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


2)格式化sdb为ext4;

[iyunv@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


[iyunv@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

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

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

[iyunv@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

[iyunv@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

[iyunv@woon ~reboot

抽袋烟的功夫…………

5)生成配额文件

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

[iyunv@woon ~]# setenforce 0

[iyunv@woon ~]# getenforce

[iyunv@woon ~]# quotacheck aug

查看是否生成配额文件;

[iyunv@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

[iyunv@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

[iyunv@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

[iyunv@woon home]# edquota p woon hchen

[iyunv@woon home]#edquota p woon zwen

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

8)设置宽限时间为3天

[iyunv@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)设置组配额

[iyunv@woon home]# edquota –g woon

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

10) 查看quota设置结果记录

[iyunv@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验证

[iyunv@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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-42361-1-1.html 上篇帖子: Linux grep 下篇帖子: Linux下mount 详解 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表