一.CentOS磁盘配额概述:
当linux根分区的磁盘空间耗尽时,系统将无法再建立新的文件,从而出现服务程序崩溃,系统无法启动等故障现象,为了避免在服务器中出现类似的磁盘空间不足的问题,可以设置启用磁盘配额的功能,对用户在指定文件系统(分区)中使用的磁盘空间,文件数量进行限制,以防个别用户恶意或无意间占用大量磁盘空间,保持系统存储空间的稳定性和持续可用性。 二.CentOS磁盘配额详细步骤:
如何正确进行CentOS磁盘配额呢,看看以下内容吧!
1.确认quota软件包已经安装,并列表查看quota软件包安装的磁盘配额管理程序。 [root@localhost ~]# rpm -qa|grep quota quota-3.13-1.2.5.el5
[root@localhost ~]# rpm -ql quota|grep sbin ………
/usr/sbin/setquota /usr/sbin/warnquota [root@localhost ~]#
2.本文档中配额用户以liuchao为例,挂载点为/mail目录,要挂载的分区为/dev/sdb1 (分区总大小为10G,设置用户liuchao最大使用量为10M,超过7M警告,10M以后就不能在/mail中存储数据)
创建用户liuchao
[root@localhost ~]# useradd liuchao [root@localhost ~]# passwd liuchao Changing password for user liuchao. New UNIX password: Retype new UNIX password:
passwd: all authentication tokens updated successfully.
创建/mail目录,修改/mail目录的权限为777,便于验证用户liuchao的配额 [root@localhost ~]# mkdir /mail [root@localhost ~]# chmod 777 /mail [root@localhost ~]# ls -ld /mail/
drwxrwxrwx 2 root root 4096 04-19 10:09 /mail/
磁盘分区,格式化(应先“关闭系统”,不能用“快速休眠”,再添加“虚拟硬盘”,就有/dev/sdb) [root@localhost ~]# fdisk -l ……..
Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes //新磁盘/dev/sdb信息 Disk /dev/sdb doesn't contain a valid partition table [root@localhost ~]#
[root@localhost ~]# fdisk /dev/sdb //磁盘分区 ………..
1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
1
Command (m for help): n //创建新分区 Command action e extended
p primary partition (1-4)
p //建立主分区 Partition number (1-4): 1 //主分区编号 First cylinder (1-2610, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +10G //大小为10G
Command (m for help): n //创建新分区 Command action e extended
p primary partition (1-4)
p //创建新分区 Partition number (1-4): 2 //主分区编号 First cylinder (1218-2610, default 1218): Using default value 1218
Last cylinder or +size or +sizeM or +sizeK (1218-2610, default 2610): //剩余空间全部给第2个主分区 Using default value 2610
Command (m for help): p //查看分区情况,结果如下
Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sdb1 1 1217 9775521 83 Linux /dev/sdb2 1218 2610 11189272+ 83 Linux
Command (m for help): w //保存配置并退出 The partition table has been altered!
Calling ioctl() to re-read partition table. Syncing disks.
[root@localhost ~]# mkfs.ext3 /dev/sdb1 //格式化磁盘/dev/sdb1 [root@localhost ~]# mkfs.ext3 /dev/sdb2 //格式化磁盘/dev/sdb2
[root@localhost ~]# partprobe /dev/sdb //重新探测 /dev/sdb磁盘中分区情况的变化 [root@localhost ~]#fdisk -l /dev/sdb //查看分区状况 Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
2
Device Boot Start End Blocks Id System /dev/sdb1 1 1217 9775521 83 Linux /dev/sdb2 1218 2610 11189272+ 83 Linux [root@localhost ~]# 挂载/dev/sdb1到/mail目录
[root@localhost ~]# mount /dev/sdb1 /mail
修改/etc/fstab文件,设置开机后自动挂载/dev/sdb1分区到/mail目录,支持磁盘配额功能
usrquota(用户配额) grpquota(组配额)
[root@localhost ~]# vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/sdb1 /mail ext3 defaults,usrquota,grpquota,acl 0 0 重新挂载/dev/sdb1到/mail目录
[root@localhost ~]# mount -o remount /dev/sdb1 [root@localhost ~]#mount ……..
none on /proc/fs/vmblock/mountPoint type vmblock (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) none on /var/lib/xenstored type tmpfs (rw)
/dev/sdb1 on /mail type ext3 (rw,usrquota,grpquota,acl) 检测配额并生成配额文件
[root@localhost ~]# quotacheck -ugcv /dev/sdb1 ……
quotacheck: Checked 3 directories and 2 files quotacheck: Old file not found. quotacheck: Old file not found. 选项解释
-u 检测用户配额信息 -g 检测组配额信息 -c 创建新的配额文件
-v 显示命令执行过程中的细节信息
-a 在未使用-a选项时,必须指定一个分区(设备文件或挂载点目录)作为命令参数 确认/mail文件系统中的用户配额文件,组配额文件 [root@localhost ~]# ls -l /mail/aquota.*
-rw------- 1 root root 6144 04-18 19:57 /mail/aquota.group -rw------- 1 root root 6144 04-18 19:57 /mail/aquota.user [root@localhost ~]#
3
编辑用户liuchao的配额
[root@localhost ~]# setquota -u liuchao 7000 10000 0 0 /dev/sdb1 [root@localhost ~]# edquota -u liuchao //查看配额 Disk quotas for user liuchao (uid 500):
Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 7000 10000 0 0 0 选项解释:
Filesystem 表示本行配置记录对应的文件系统(分区),即配额的作用范围
blocks 表示用户当前已使用的磁盘空间容量,默认单位为KB,该数值由edquota程序自动计算,无需修改 soft 第3列中的soft表示对应磁盘容量的软限制数值,默认单位为KB,第6列中的soft表示对应文件数量
的软限制数值,默认单位为个
hard 第4列中的hard表示对应磁盘容量的硬限制数值,默认单位为KB,第7列中的hard表示对应文件数
量的硬限制数值,默认单位为个
inodes 表示已有文件数量多少,该数值由edquota程序自动计算,无需修改 [root@localhost ~]# quotaon /dev/sdb1 //激活配额 切换用户liuchao进行验证即可
4
因篇幅问题不能全部显示,请点此查看更多更全内容