您的当前位置:首页正文

CentOS磁盘配额步骤

2020-11-22 来源:钮旅网


一.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

因篇幅问题不能全部显示,请点此查看更多更全内容