今天早上在邮件服务器上添加新用户时显示配额已满添加用户失败等信息;赶快登陆服务器进行排查啊,首先简单介绍一下我们的环境Centos 6.4+Apache+postfix+mysql(其实我也不太清楚,因为不是我来搭建的。嘿嘿)以下为一个菜鸟排查错误思路过程:
突破口1、使用df -h 查看磁盘空间是否正常
[root@mail ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 30G 6.4G 22G 23% /tmpfs 947M 0 947M 0% /dev/shm/dev/sda1 194M 20M 165M 11% /boot
通过查看结果显示磁盘空间还有很多。
突破口2、然后查看服务器日志:
[root@mail ~]#tail /var/log/messagesMar 7 09:25:58 localhost postfix/smtpd[11886]: auxpropfunc error no mechanism availableMar 7 09:27:46 localhost postfix/smtpd[13245]: auxpropfunc error invalid parameter suppliedMar 7 09:27:46 localhost postfix/smtpd[13245]: sql_select option missingMar 7 09:27:46 localhost postfix/smtpd[13245]: auxpropfunc error no mechanism availableMar 7 09:31:40 localhost postfix/smtpd[16724]: auxpropfunc error invalid parameter suppliedMar 7 09:31:40 localhost postfix/smtpd[16724]: sql_select option missingMar 7 09:31:40 localhost postfix/smtpd[16724]: auxpropfunc error no mechanism availableMar 7 09:35:03 localhost postfix/smtpd[19464]: auxpropfunc error invalid parameter suppliedMar 7 09:35:03 localhost postfix/smtpd[19464]: sql_select option missingMar 7 09:35:03 localhost postfix/smtpd[19464]: auxpropfunc error no mechanism available
通过日志查看显示:没有关于配额已满的错误。
突破口3、查看并编辑更改配置文件
[root@mail ~]# vim /etc/postfix/main.cfmime_header_checks= regexp:/etc/postfix/mime_header_checksmailbox_size_limit = 512000000 #邮件大小权限message_size_limit = 20480000 #信息大小权限###笔者假想可能是这里的配额有点小,就将这里的默认大小更改成了###[root@mail ~]# vim /etc/pos##tfix/main.cfmime_header_checks= regexp:/etc/postfix/mime_header_checksmailbox_size_limit = 1024000000message_size_limit = 40960000
重启服务
[root@mail small.com]# /etc/init.d/courier-authlib restart #认证模块的加载Stopping Courier authentication services: authdaemondStarting Courier authentication services: authdaemond[root@mail small.com]# /etc/init.d/courier-imap restart pop3、imap #服务模块的重启Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-sslStarting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl[root@mail small.com]# /etc/init.d/saslauthd restart #saslauthd认证模块的重新加载Stopping saslauthd: [ OK ]Starting saslauthd: [ OK ][root@mail small.com]# /etc/init.d/httpd restart #apache服务器重启,页面的重新加载Stopping httpd: [ OK ]Starting httpd: [ OK ][root@mail small.com]# /etc/init.d/postfix restart 邮件服务器的重启Shutting down postfix: [ OK ]Starting postfix: [ OK ][root@mail small.com]# vim /etc/postfix/main.cf[root@mail small.com]# /etc/init.d/postfix restartShutting down postfix: [ OK ]Starting postfix: [ OK ]
重启登陆页面添加用户发现还是无法添加,还是同样的错误,从而说明不是此权限限制的问题。仔细想了一下可能是数据库的问题
突破口4、进入数据库查看数据库的参数设定
[root@mail small.com]# mysql -p123456mysql> show databases; #查看所有表+--------------------+| Database |+--------------------+| information_schema || extmail || mysql || test |+--------------------+4 rows in set (0.13 sec)mysql> use extmail #指定邮件数据表Database changedmysql> show tables; #查看所有表+-------------------+| Tables_in_extmail |+-------------------+| alias || domain || domain_manager || mailbox || manager |+-------------------+5 rows in set (0.01 sec)mysql> desc domain; +----------------------+--------------+------+-----+---------------------+-------+| Field | Type | Null | Key | Default | Extra |+----------------------+--------------+------+-----+---------------------+-------+| domain | varchar(255) | NO | PRI | | || description | varchar(255) | NO | | | || hashdirpath | varchar(255) | NO | | | || maxalias | int(10) | NO | | 0 | || maxusers | int(10) | NO | | 0 | || maxquota | varchar(16) | NO | | 0 | || maxnetdiskquota | varchar(16) | NO | | 0 | || transport | varchar(255) | YES | | NULL | || can_signup | tinyint(1) | NO | | 0 | || default_quota | varchar(255) | YES | | NULL | || default_netdiskquota | varchar(255) | YES | | NULL | || default_expire | varchar(12) | YES | | NULL | || disablesmtpd | smallint(1) | YES | | NULL | || disablesmtp | smallint(1) | YES | | NULL | || disablewebmail | smallint(1) | YES | | NULL | || disablenetdisk | smallint(1) | YES | | NULL | || disableimap | smallint(1) | YES | | NULL | || disablepop3 | smallint(1) | YES | | NULL | || createdate | datetime | NO | | 0000-00-00 00:00:00 | || expiredate | date | NO | | 0000-00-00 | || active | tinyint(1) | NO | | 1 | |+----------------------+--------------+------+-----+---------------------+-------+21 rows in set (0.01 sec)mysql> select * from domain\G;*************************** 1. row *************************** domain: email.org description: virtualDomain for extmail.org hashdirpath: A0/B0 maxalias: 50 maxusers: 50 maxquota: 1073741824 maxnetdiskquota: 1073741824 transport: NULL can_signup: 1 default_quota: 5242880default_netdiskquota: 5242880 default_expire: 1y disablesmtpd: 0 disablesmtp: 0 disablewebmail: 0 disablenetdisk: 0 disableimap: 1 disablepop3: 0 createdate: 2007-02-14 15:10:04 expiredate: 2010-11-08 active: 0*************************** 2. row *************************** domain: luck.com description: luck.com hashdirpath: maxalias: 100 maxusers: 200 maxquota: 15728640000S maxnetdiskquota: 524288000S transport: can_signup: 0 default_quota: 5242880Sdefault_netdiskquota: 5242880S default_expire: 1y disablesmtpd: 0 disablesmtp: 0 disablewebmail: 0 disablenetdisk: 0 disableimap: 1 disablepop3: 0 createdate: 2013-08-22 21:14:17 expiredate: 0000-00-00 active: 0*************************** 3. row *************************** domain: small.com description: small.com hashdirpath: maxalias: 100 maxusers: 200 maxquota: 15728640000S #最大配额 maxnetdiskquota: 5242880000S transport: can_signup: 0 default_quota: 104857600Sdefault_netdiskquota: 5242880S default_expire: 10y disablesmtpd: 0 disablesmtp: 0 disablewebmail: 0 disablenetdisk: 0 disableimap: 0 disablepop3: 0 createdate: 2013-08-23 00:59:55 expiredate: 0000-00-00 active: 13 rows in set (0.00 sec)[root@mail small.com]# mysqldump -xR -p123456. extmail > /tmp/extmail_20140328.sql #备份数据库[root@mail small.com]# ls /tmp/extmail_20140328.sql #查看备份状态/tmp/extmail_20140328.sql[root@mail small.com]# mysql -p123456 #登陆mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 823051Server version: 5.1.69-log Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use extmailDatabase changedmysql> update domain set maxquota='31457280000S'; #更改参数使其配额更大Query OK, 3 rows affected (0.00 sec)Rows matched: 3 Changed: 3 Warnings: 0mysql> quit #退出服务器
登陆页面添加用户,添加成功,邮件服务器添加用户的错误修复完成。