Quota就是管理员磁盘使用率以及磁盘使用情况的工具
针对www server,例如:每个人的网友空间的容量限制
针对mail server,例如:每个人邮件的限制空间
针对file server,例如:每个人的最大可以网络硬盘空间(教学中)
限制某一群组所能使用的最大磁盘配额(使用群组限制)
限制某一用户的最大磁盘配额(使用用户限制)
限制群组后,可以针对个人继续限制
限制某一目录(directory,project)的最大磁盘配额
在EXT文件系统家族仅能针对整个filesystem(文件系统)
核心必须支持quota
只针对一般身份使用者有效
若启用SELinux,非所有目录均可设定quota
注意:不同文件系统在quota的处理情况是不太相同,因此进入quota前,先确认文件系统
对XFS filesystem的限制项目有:
分别针对用户、群组或个别目录(user、group、project)
容量限制或文件数量限制(block或inode)
限制inode用量,可以管理使用者可以建立的文件数量
限制block用量,管理用户磁盘容量的限制,较常见这种方式
不论inode/block,限制值都有两个,分别是hard或soft,通常hard要比soft的限制值高
hard:表示使用者的用量绝对不会超过这个限制值,超过限制值系统会锁住该用户的磁盘使用权
soft:表示使用者在低于soft限值是可以正常使用磁盘,超过soft且低于hard,每次用户登录系统,系统会发出磁盘即将爆满的警告,给予一个宽限时间来降低soft限值,如果宽限时间到了不清理,soft将取代hard值作业quota限制。
注意不要再根目录底下进行quota设计,文件系统会变复杂
df -hT /home
xfs_quota,实作指令
xfs_quota -x -c "指令" [挂载点]
选项参数
-x:专家模式,后续才能加入-c指令参数
-c:后面加指令,此处先谈数据回报指令
指令:
print:单纯的列出目前主机内的文件系统参数等资料
df :与原本df功能一样,可以加上-b(block)-i(inode)-h(加上单位)等
report:列出目前的quota项目,有-ugr(user、group、project)及-bi等资料
state:说明目前支持quota的文件系统信息,有没有起动相关项目
xfs_quota -x -c "limit [-ug] b[soft|hard]=N i[soft|hard]=N name"
xfs_quota -x -c "timer [-ug] [-bir] Ndays"
选项与参数
limit:实际限制的项目,可以针对user、group来限制
bsoft/bhard:block的soft/hard限制值,可加单位
isoft/ihard:inode的soft/hard限制值
name:就是用户/群组的名称
timer:用来设定grace time的项目,也可针对user/group以及block/inode设定
项目和群组不能同时设定
修改/etc/fstab内的文件支持参数
规范目录、项目名称与项目ID
实际设定规范与测试
XFS quota的管理与额外对照表
内部指令:
disable:暂时取消quota的限制
enable:回复到正常管制状态,与disable可以相互取消、启用
off:完全关闭quota限制,使用后需要卸除在重新挂载才能启用quota
remove:必须在off状态下才能执行,可以移除quota限制,reomve -p,移除所有的project控制列表
此模式用相同型号与容量磁盘组成时,效果最佳,会将磁盘先切成等量大小的区块,文件也会分成等量的数据存入各个磁盘上,越多课磁盘组成的RAID-0效能越好,因为每颗复制的资料量越少,但是RAID-0只要有任何一颗磁盘损毁,在RAID上面的所有数据都会遗失无法读取。
不同容量磁盘组成RAID-0是,数据是一直等量的依序 放置在不同磁盘中,当小容量磁盘区块用完了,所有数据会被写入到最大的磁盘中。
需要相同的磁盘容量,最好一模一样的磁盘,不同容量的话,以容量最小的为主,此模式主要是让同一份数据,完整的保存在两个磁盘上,RAID-1最大的优点在于数据备份,不过由于磁盘容量有一半用在备份,因此总用量是全部磁盘容量的一半而已。
RAID-0是效能佳数据不全 ,RAID-1是数据安全效能不佳。RAID1+0是先让两个磁盘组成RAID1,这样设定两组,将两组RAID1在组成一组RAID0,反之RAID0+1就是先组RAID0在组RAID1。
此模式至少需要三颗以上磁盘才能组成磁盘列阵,每个循环写入过程,在每颗磁盘加入一个同位检查数据(Parity),此数据会记录其他磁盘的备份数据,任何一个磁盘损毁,都能通过其他磁盘的检查码来重建原本的磁盘内容数据。由于有同位检查码,RAID5的总容量会是整体磁盘数量减一颗,当磁盘损毁数量大于等于两颗时,整组RAID5资料就损毁了,此模式只能预设支持一颗磁盘的损毁情况。
spare disk就对一颗或者多颗没有包含在原本磁盘阵列等级中的磁盘,,平时不使用,当磁盘阵列有损毁时,则spare disk就会被主动拉进磁盘阵列中,将坏掉的磁盘移除磁盘阵列,重建数据系统。
磁盘阵列优点:
1.数据安全与可靠性:指的并非网络信息安全,而是硬件(磁盘)损毁时,数据还是否能够安全的救援或使用之意。
2.读写效能:例如RAID0可以加强读写效能,让你的系统I/O部分得以改善
3.容量:可以让多颗磁盘组合起来,故单一文件系统可以有相当大的容量
CentOS提供的软件磁盘阵列是mdadm这套软件,以partition或disk为磁盘的单位,软件磁盘阵列是系统仿真出来的,硬件磁盘阵列的装置文件名是/dev/sd[a-p],而软件磁盘阵列使用的装置文件名是系统装置文件/dev/md0、/dev/md1.
mdadm --detail /dev/md0
选项参数
--create :为建立RAID的选项
--auto=yes:决定建立后面接的软件磁盘阵列,即/dev/md0,/dev/md1
--chunk=NK:决定这个装置chunk,也可以当成stripe大小,一般为64K或512K
--raid-devices=N:使用几个磁盘(partition)作为磁盘阵列的装置
--spare-devices=N:使用几个磁盘作为备份(spare)装置
--level=[015]:设定这组磁盘阵列的等级,建议0,1,5即可
--detail:后面所接的那个磁盘阵列装置的详细信息
设定过程
先建立五个一样大小的分区,用mdadm建置RAID,格式化与挂载使用RAID
mdadm --manage /dev/md[0-9] [--add装置] [--remove装置] [--fail装置]
--add:会将后面的装置加入到这个md中
--remove:会将后面的装置由这个md中移除
--fail:会将后面的装置设定成为出错的状态
1.先卸载且删除配置文件内与这个/dev/md0有关设定
2.先覆盖RAIDdemetadata已经XFS的superblock,才关闭/dev/md0
mdadm --stop /dev/md0
逻辑滚动条管理员(Logical Volume Manager)