Linux系统sendmail启动速度慢的解决办法
最近想学点rac的东西,于是在爱机上面装起了redhat 4U4,装机很顺利,可是启动的时候发现sendmail很慢,找了相关资料,终于摆平哈哈.
在大部分Linux发行版本中,sendmail这个古老的邮件系统包是默认安装的,装完系统后,重启时,不少兄弟遇到在启动过程中,到了启动sendmail服务的时候就停止了,没有耐性和经验的朋友这时候可能会以为系统出故障或者系统没有装好,其实既不是系统出故障,一般也不是系统没有安装好,而是系统sendmail的时候在查询你设置的主机名的A记录或反向域名记录,由于全球9台DNS根系统都在美国,这个时候会去查询本机主机名对应的dns A记录,特别时你安装系统时设置的一些“奇怪”的主机名的时候,比如rac1等等之类的,这个时候sendmail会去做这个操作过程。
Apr 28 13:41:36 rac1 sendmail[3494]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"
Apr 28 13:42:36 rac1sendmail[3499]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"
Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded
Apr 28 13:43:37 rac1 sm-msp-queue[3509]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"
Apr 28 13:41:36 rac1 sendmail[3494]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"
Apr 28 13:42:36 rac1sendmail[3499]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"
Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded
Apr 28 13:43:37 rac1 sm-msp-queue[3509]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"
运气好,我的意思是你的“RP”好,呵呵,查询比较快,你感觉不到异样,“RP”不好,少则一到两分钟,
多则四到五分钟,而且要命的是不报任何错误信息,这个时间大大超过了我们能忍受的“8s”时间了,
心里承受力差的兄弟就要受煎熬了。
知道了问题的症结,就可以对症下药了,比如我们可以修改系统配置文件/etc/hosts
让sendmial绕过查询远程主机,这里给出一种最简单的方法,给主机设置一个别名
修改/etc/hosts ,未修改之前
127.0.0.1 localhost.localdomain localhost
修改成
127.0.0.1 localhost.localdomain localhost 主机名称
查看本机的主机名称的命令是: hostname
再次重新启动sendmail看看
[root@rac1 ~]# service sendmail restart
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@rac1 ~]# service sendmail restart
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@rac1 ~]#reboot
启动时间已经到秒级了。
http://club.topsage.com/thread-2352138-1-1.html
你需要的是设定好能够查询到完整主机名称.
/etc/sysconfig/network:
HOSTNAME=www.abc.com.cn
/etc/hosts:
1.2.3.4 www.abc.com.cn www
而你的系统来看,你是设定 short hostname 也可以,基本上那你还是要能够让系统能够查询到完整主机名称。不管是透过 /etc/hosts 还是 dns 都可以,但是至少其中一个要能够查询到。
今天准备测试一下lvm,在vmware下新安装了centos5.6版本,偶尔发现在重启的时候,异常的慢,主要是"sendmail"和"sm-client "这两个服务,时间特别的长.在网上找到一个解决的办法:
发现是 sendmail 是 MTA,所以他认的都是网络主机名,像 howieshen.blogbus.com ,google.com 之类, 所以我在上面的 HOSTNAME 的设置必须修改一下,改成如下:
/etc/hosts:
192.168.1.119 server.localdomain server
192.168.1.123 client.localdomain client
/etc/sysconfig/netwrok:
HOSTNAME=server.localdomain
P.S. /etc/hosts 文件的第一栏是网络地址,第二栏是主机名,第三栏是主机别名
然后再次启动,发现很快就进入了,搞定!
http://blog.haohtml.com/archives/10305
#redhat5安装完开机过程中sendmail和sm-client启动特别慢的解决方法
问题在于主机名解析,就是让/etc/hosts和/etc/sysconfig/network中的HOSTNAME一样.
有问题时的配置如下
/etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.10 myhost
/etc/sysconfig/network
HOSTNAME=myhost
此时修改/etc/hosts文件为
127.0.0.1 myhost localhost.localdomain localhost
192.168.1.10 myhost
问题解决,启动到sendmail时就飞快了