【linux】Raid和LVM及磁盘配额配置和管理
2015年11月10日 09:44:15 作者:Jiaozn 分类:Linux 评论(0)11. Linux上创建RAID
磁盘配额,就是妥善的分配系统资源
quota比较常用的情况
针对wwwserver例如:每个人的网页空间的容量限制
针对mailserver例如:每个人的邮件空间限制
针对fileserver例如:每个人最大的可用网络磁盘空间
quota的使用限制
仅针对整个文件系统:如果你的/dev/sda5是挂载在/home底下,那么在/home底下的所在目录都会受到限制
核心必须支持quota:也就是说linux核心必须支持quota这个功能才行,而由旧版本的quota可以籍由convertquota这个程序来转换
成新帮本的aquota的
只针对一般身份使用者有效:例如root就不能设定quota,因为整个系统的数据几乎都是他的
所以不能针对【某个目录】来进行quota的设计,但可以针对【某个文件系统】来设定,
quota的规范设定项目:quota针对整个文件系统的限制项目主要分为底下几个部分‘
1可以管理inode(档案数量)和block的数量(管理用户磁盘容量的限制)
2柔性劝导与硬性规定(soft/hard),通常hard限制要比soft高,若限制项目为block,可以限制hard为500MBytes而soft为400MByte
hard代表硬性规定,绝对不允许超个的限制值,如若超过则系统会锁住该用户的磁盘使用权
soft代表软性规定,如果超过了软性的限制,但是低于硬性的限制,每次用户登录系统时,系统会主动发出磁盘即将爆满
的警告信息,且会给予一个宽限时间,不过,若使用者在宽限时间倒数期间将容量再次降低与soft限制之下,则宽限时间会停止
3会倒数计时的宽限时间这个宽限时间用于磁盘用量在soft到hard之间时,才会出现,soft就是为了提醒用户注意这个磁盘配额的问题
一般宽限时间为7天,如果7天内你都不进行任何磁盘管理,那么soft限制值会即可取代hard限制来作为quota的限制,此时
你的磁盘使用权就会被封锁住而无法新增档案了
一个quota实例
有五个账户,且每个用户的初始群组都是myquotagrp,其他的帐号属性则使用默认值,每个用户能够使用300MBytes的磁盘使用量(hard)
250MBytes的磁盘使用量(soft),群组限制,针对myquotagrp这个群组最多仅能使用1GByte的容量,这个时候就会使群组的设定和用户的
设定产生一定的问题,最后那个宽限时间为14天
在操作之前,先得查看一下,/home是否是一个独立的filesystem
df-h/home,接着查看文件系统的类型,由于VFAT文件系统并不支持LinuxQuota的功能,使用mount|grephome来查看/home的文件系统类型
接下来可以使用如下的方法加入quota的支持mount-oremount,usrquota,grpquota/home,接着再执行mount|grephome就可以看到这个文件系统上
已经加入usrquota,grpquota的支持到你所想要设定的系统中了,另外使用者与群组的quota文件系统支持的参数为:usrquotagrpquota
若希望下次开机的时候自动的挂载该文件系统,可以直接修改/etc/fstabLABEL=/home/homeext3defaults,usrquota,grpquota12
mount-a的意思是将fstab中的文件系统重新的挂载
接着建立quota记录文件
使用quotacheck:扫描文件系统并建立Quota的记录文件
quotacheck[-avugfM][/mount_point]
选项和参数
-a:扫瞄所有在/etc/mtab内,含有quota支持的filesystem,加上此参数后,
-u:针对用户扫描档案与目录的使用情况,会建立aquota.user
-g:针对群组扫描档案与目录的使用情况,会建立aquota.group
-v:显示扫瞄过程的信息;
-f:强制扫瞄文件系统,幵写入新的quota配置文件(危险)
-M:强制以读写的方式扫瞄文件系统,只有在特殊情况下才会使用。
quotacheck-avug仅针对整个系统含有usrquota,grpquota参数的文件系统进行quotacheck扫描
由于/home目录支持usrquota和grpquota,所以搜索结果会将两个记录文件放在/home底下,这两个档案就是quota最重要的信息
因为特殊需求需要强制扫瞄已挂载的文件系统时,使用quotacheck-avug-mf
这两个文件不是纯文本,是quota自己的数据文件,且该档案会一直变动,这个因为当你对/home这个文件系统进行操作时
你操作的结果会影响磁盘,所以当然会记载到这两个档案中的,所以要建立aquota.user和aquota.group记得使用quotacheck指令
不要手动编辑
制作好quota配置文件,接着要启动quota了,使用quotaon和quotaoff进行开启和关闭
启动quota的服务
-u:针对使用者启动quota(aquota.user)
-g:针对群组启动quota(aquota.group)
-v:显示启动过程的相关讯息;
-a:根据/etc/mtab内的filesystem设定启动有关的quota,若不加-a的话,则后面就需要加上特定的那个filesystem喔!
由于我们要启动usr/group的quota,所以执行quotaon-avug,由于只有在第一次启动quota时才需要进行这个命令,因此等到下次重启系统时
系统的/etc/rc.d/rc.sysinit这个初始化脚本就会自动的下达这个命令了,因此你只要在这次实例中进行一次即可,未来不需要自行启动quota的
quotaoff:关闭quota的朋务
-a:全部的filesystem的quota都关闭(根据/etc/mtab)
-u:仅针对后面接的那个/mount_point关闭userquota
-g:仅针对后面接的那个/mount_point关闭groupquota
edquota:编辑账号/群组的限值与宽限时间
edquota[-uusername][-ggroupname]-u进入quota的编辑页面去设定username的限制值
edquota-t<==修改宽限时间-g可以进入quota的编辑页面去设定groupname的限制值
edquota-p范本账号-u新账号将范本账号这个人的quota限制值复制给新帐号,进入quota的编辑页面去设定username的限制值
例如设定myquota1这个用户的限额设定执行命令edquota-umyquota1
画面中的第一行为说明针对哪个帐号进行quota的限制设定,第二行则是标头行,共分七个字段1,文件系统或分区
2磁盘容量(blocks)3soft磁盘容量(blocks)4hardblock的hard限制值5档案数量6inode的soft限制值7inode的hard限制值
当soft/hard为0时,表示没有限制的意思,
目前先设定号myquota1,接着执行edquota-pmyquota1-umyquota2赋给myquota2一直到myquota5就行了
接着再设定去组edquota-gmyquotagrp,最后edquota-t来将宽限时间改为14天
查看限制值的报表quota的报表主要有两种模式,一种是针对每个个人或群组quota指令,一个是针对整个文件系统的
repquota指令
先看quota:单一用户的quota报表
quota[-gvs][groupname]
选项和参数:
-u:后面可以接username,表示显示该用户的quota限制值,若不接username表示显示出执行者的quota的限制值
-g:后面可接groupname,表示显示出该群组的quota限制值。
-v:显示每个用户在filesystem的quota值;
-s:使用1024为倍数来指定单位,会显示如M之类的单位!
quota-uvsmyquota1myquota2的含义是显示这两个用户在所以文件系统中的quota值,大小以M为单位显示
显示出myquotagrp的群组限额
quota-gvsmyquotagrp显示这个群组在所有文件系统中的quota值,大小以M为单位显示
如果要针对整个filesystem列出报表时,那个可爱的repquota就派上用场啦!
repquota:针对文件系统的限额做报表
repquota-a[-vugs]
-a:直接到/etc/mtab搜寻具有quota标志的filesystem,并报告quota的结果;
-v:输出的数据将含有filesystem相关的细部信息;
-u:显示出用户的quota限值(这是默认值);
-g:显示出个别群组的quota限值。
-s:使用M,G为单位显示结果
查询本案例中所有使用者的quota限制情况:
执行repquota-auvs,查询出mtab中含有quota的文件系统的所有用户的限定值,输出的结果含有firstsystem相关的细部信息
并且以M,G为单位显示结果
quota的测试与管理
首先建置一个270MB的大档案,观察结果
ddif=/dev/zeroof=bigfilebs=1Mcount=250接着会看到警告warning的讯息
repquota-auv查看所有/etc/mtab文件系统中,用户的磁盘配额的使用情况,并且将文件系统的相关细部信息一并输出
此时看到grace出现,并且开始倒数了
此时再建立一个大档案,让总容量超过300M,接着看到的讯息不一样了,提示没有办法写入了,
du-sk查看果然到了极限了
如果在宽限时间归零之前不做任何处理,那么到归零之后通过repquota-au进行查看时,就会发现grace的部分变成none啦,不继续倒数了
有时候使用者不知道系统出了什么问题,最好寄一些警告信(email)给用户比较妥当,透过warnquota来处理即可
warnquota:对超过限额者发出警告信
这是根据/etc/warnquota.conf的设定,然后找出系统上面quota用量超过soft的账号,透过email的功能将警告信发送到用户的电子邮件信箱
warnquota不会自动执行,我们需要手动执行,单纯执行warnquota之后,他会发送两封信出去,一封给root
一封给这个使用者
执行warnquota可能不会产生任何讯息以及信件,因为只有当使用者quota有超过soft,warnquota才会发送警告信
信件内容中,包括标题、信息内容说明、签名文件等数据放在/etc/warnquota中,你也可以更改其中的内容
不过这个发送信件的方式并不适用在/var/spool/mail也爆掉的quota控管中,因为这个系统的容量已经爆掉了,那么
新的信件当然就收不下来的,我们需要让系统自动的执行warnquota
vi/etc/cron.daily/warnquota编辑每天的执行任务,让固定的时间去执行/usr/sbin/warnquota指令
chmod755/etc/cron.daily/warnquota
setquota:直接于指令中设定quota限额
如果你想要使用script的方法来建立大量的账号,并且所有的账号都在建立时就给予quota
可以有两个方法
1先建立一个原始quota使用edquota-pquota账号-unew账号,写入脚本中
2直接以setquota建立用户的quota设定值
不同于edquota是呼叫vi来进行设定,setquota直接由指令输入所必须要的各项限制值
命令结构:
setquota[-u|-g]名称block(soft)block(hard)inode(soft)inode(hard)
quota-uvmyquota5
setquota-umyquota510000020000000/home
quota-uvmyquota5
这样可以看到结果的改变
不更改既有系统的quota实例
例如设定邮件主机,原先没有规划将信箱所在的/var/spool/mail目录独立成一个parition,那么可以通过让
使用者的邮件信箱与家目录的总体磁盘使用量为固定,由于/home以及/var/spool/mail根本不在一个文件系统中
1.将/var/spool/mail这个目录完整的移懂到/home底下;
2.利用ln-s/home/mail/var/spool/mail来建立链接数据;
3.将/home进行quota限额设定
评论
发表评论