client运维慢故障,不动了的缓慢解决方案

CentOS(RedHat)中sendmail和sm-client启动慢解决办法有需要的朋友可参考一下本文章。

 

最近想学点RAC的东西,于是在爱机上面装起了RedHat 4U4,装机很顺利,可是启动的时候发现sendmail很慢,找了相关资料,终于摆平哈哈.

目前遇到这个问题,是在修改了/etc/hosts之后,但停止在Starting sendmail后5分钟就进去了。以后再长时间进入不了系统,可以参考下面的方法。

Starting sendmail:

Starting sendmail:

在大部分Linux发行版本中,sendmail这个古老的邮件系统包是默认安装的,装完系统后,重启时,不少兄弟遇到在启动过程中,到了启动sendmail服务的时候就停止了,没有耐性和经验的朋友这时候可能会以为系统出故障或者系统没有装好,其实既不是系统出故障,一般也不是系统没有安装好,而是系统sendmail的时候在查询你设置的主机名的A记录或反向域名记录,由于全球9台DNS根系统都在美国,这个时候会去查询本机主机名对应的dns A记录,特别时你安装系统时设置的一些“奇怪”的主机名的时候,比如rac1等等之类的,这个时候sendmail会去做这个操作过程。

 

Starting sm-client:

Starting sm-client:

Apr 28 13:41:36 rac1 sendmail[3494]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"

造成这个问题一般是因为用户修改了机器名或者IP地址造成的。

刚才发了修改主机名那篇文章后,我意外发现重新启动CentOS的时候系统会卡在sendmail和sm-client那里将近3分钟才继续,找了一下sendmail和sm-client的文档发现自己犯了一个错误。

刚才发了修改主机名那篇文章后,我意外发现重新启动CentOS的时候系统会卡在sendmail和sm-client那里将近3分钟才继续,找了一下sendmail和sm-client的文档发现自己犯了一个错误。

Apr 28 13:42:36 rac1sendmail[3499]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"

如上所示,sendmail服务的启动整整需要花费3分多钟。因为Starting sendmail、Starting sm-client这两步check需要查询你设置的主机名的A记录或反向域名记录,由于全球9台DNS根系统都在美国,这个时候会去查询本机主机名对应的dns A记录。查询可能会非常的慢.

我简单说一下原因,就是sendmail和sm-client都是MTA,只认网络主机名,如admin.slyar.com这样的,而我之前那篇文章直接把localhost.localdomain改成了Slyar,不符合网络主机名规范,所以启动速度慢。解决办法如下:

我简单说一下原因,就是sendmail和sm-client都是MTA,只认网络主机名,如admin.slyar.com这样的,而我之前那篇文章直接把localhost.localdomain改成了Slyar,不符合网络主机名规范,所以启动速度慢。解决办法如下:

Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded  

通常的域名解析是指A记录解析,即主机记录解析,就是指把域名解析到虚拟主机的过程;又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器。

1.修改 /etc/sysconfig/network 下的主机名为网络主机名 Slyar.localdomain

1.修改 /etc/sysconfig/network 下的主机名为网络主机名 Slyar.localdomain

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"

需要修改两处。步骤如下:

# vim /etc/sysconfig/network

# vim /etc/sysconfig/network

Apr 28 13:42:36 rac1sendmail[3499]: gethostby*client运维慢故障,不动了的缓慢解决方案。.getanswer: asked for "rac1 IN AAAA", got type "A"

1.开机到了GRUB启动界面是按上下键让界面停下来。

2.修改 /etc/hosts 下的主机名为网络主机名 Slyar.localdomain

 

Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded

2.按e键进入编辑模式(其实启动界面上有提示,只要你仔细看就知道)

# vim /etc/hosts

2.修改 /etc/hosts 下的主机名为网络主机名 Slyar.localdomain

Apr 28 13:43:37 rac1 sm-msp-queue[3509]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"

3.移动上下键,选择第二项,再次按e键,编辑。在尾部追加 single (或者1)后按回车。

3.重新启动系统,以后就不会出现速度慢的情况了。

# vim /etc/hosts

     运气好,我的意思是你的“RP”好,呵呵,查询比较快,你感觉不到异样,“RP”不好,少则一到两分钟,
     多则四到五分钟,而且要命的是不报任何错误信息,这个时间大大超过了我们能忍受的“8s”时间了,
     心里承受力差的兄弟就要受煎熬了。

4.按b键启动。(这个是单用户模式,启动非常快,默认会进入命令行模式)

# reboot

3.重新启动系统,以后就不会出现速度慢的情况了。

知道了问题的症结,就可以对症下药了,比如我们可以修改系统配置文件/etc/hosts

5.启动的差不多了吧,用root用户login

Starting sendmail: Starting sm-client: 刚才发了修改主机名那篇文章后...

# reboot

让sendmial绕过查询远程主机,这里给出一种最简单的方法,给主机设置一个别名

6.用vi编辑 /etc/hosts 文件,编辑为如下样式。

关掉Starting sendmail:,用chkconfig sendmail off 关掉就可以了

修改/etc/hosts ,未修改之前
127.0.0.1 localhost.localdomain localhost
修改成
127.0.0.1 localhost.localdomain localhost 主机名称

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1  localhost.localdomain localhost

查看本机的主机名称的命令是: hostname
再次重新启动sendmail看看

 

一、前提
  首先你要安装sendmail,如果你在安装Linux时选择全部安装的话,sendmail就已经在你的系统里了。如果不是的话就要安装了。
  其次就是你的DNS一定要配置正确,完整,否则sendmail服务可能运行不正常。
  如果你的系统是按照上面所述的安装好的话,那么sendmail服务的配置可以说是非常简单了,想知道有关DNS的详细配置请看本站的有关DNS的文章。
二、配置过程
 1、修改/etc/mail/access 文件
 象下面这样: domain.com    RELAY    //“domain.com”是你的域的名字
        192.168.0    RELAY    //允许 192.168.0.*的机器通过你的机器发信
 然后输入下面这个命令进行转化:
    makemap hash access.db < access
 2、修改或创建文件:/etc/mail/relay-domains 内容如下:
   192.168.0
 这样就可以了。可能你这配置时要许多的问题。以上是我经过十几次的安装和配置linux总结出来的最简单的方法了,希望对你有帮助。注意了,你的DNS一定要是没有问题的,否则sendmail是不会好用的。
 3、sendmail常用命令及测试和相关文件
   A、相关文件
     /etc/sendmail.cf
     /etc/sendmil.cw
     /etc/inetd.conf
   在/etc/mail目录下有以下文件
     access.db    access
     mailertable.db   mailertable
     aliases.db     aliases
   B、命令
     1。重新启动sendmail服务
       有这个目录下 /etc/rc.d/init.d 有文件sendmail,输入如下命令:
        ./sendmail restart
     2。检查POP3端口是否打开
       命令: netstat -a |grep pop
      如有下面的信息,则POP3端口就打开了:
      tcp 0 0 *: pop3 *.* LISTEN
     3。确定sendmail服务是否启动
       ps -axuw | grep 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
启动时间已经到秒级了。

7. 继续编辑 /etc/sysconfig/network-script/ifcfg-eth0  文件。(这个也可以不修改,启动后重新获取ip,dhclient):

图片 1

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

开机启动的时候,发现进度条一直卡在sendmail那里,想办法把这个服务停止掉。直接停掉服务,可以在终端输入 service sendmail stop 。

(确实修改后不修改eth0文件不能上网,但重新获取ip后就可以了,猜测可能是因为etc文件被修改了)

取消开机启动的方法:

8。如果你的机器不是mail服务器。 修改/etc/init.d/sendmail 文件。在该文件的第一行添加一行  exit。

1、终端输入ntsysv,把sendmail服务取消掉。

9.输入reboot 回车 

2、chkconfig 命令也可以用来激活和停运服务。
       执行命令:chkconfig --list sendmail
        sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
        表明sendmail在level在2.3.4.5时是自动开启的。而一般系统设置为中间level(3),因此每次机器重启,sendmail会自动重启。
        chkconfig --level 2345 sendmail off
        这样以来,sendmail在2、3、4、5级别也关闭了。这样,机器重启之后,sendmail也不会重启了。

ntsysv工具为启动或停止服务提供了简单的界面。你可以使用ntsysv来启动或关闭由xinetd管理的服务。你还可以使用ntsysv来配置运行级别。按照默认设置,只有当前运行级别会被配置。要配置不同的运行级别,使用"--level"选项来指定一个或多个运行级别。例如,命令"ntsysv --level 345"配置运行级别3、4和5。ntsysv的工作界面如图4-7所示。

使用上下箭头来查看列表。使用空格键来选择或取消选择服务,或用"确定"和"取消"按钮。要在服务列表和"确定"、"取消"按钮中切换,可以使用"Tab"键。"*"表明某服务被设为启动。

netstat可用查看目前已经启动的服务,
service可以用来立即启动某个服务。
chkconfig用来设置服务在开机的时候自动启动

--查看nfs服务是否开机自动启动。可以看见6个开机级别都不会启动nfs服务。
[root@db ~]# chkconfig  --list nfs
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off

--设置开机自动启动nfs服务。
[root@db ~]# chkconfig  nfs on

--再次查看,可以看见2、3、4、5级别开机会自动启动nfs服务。
[root@db ~]# chkconfig  --list nfs
nfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off

--取消开机自动启动nfs服务。
[root@db ~]# chkconfig nfs off

--再次查看,6个级别开机又都不会启动nfs服务了。
[root@db ~]# chkconfig  --list nfs
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off

--设置3级别开机自动启动nfs服务。
[root@db ~]# chkconfig --level 3 nfs on

--再次查看,可以看见在级别开机会自动启动nfs服务。
[root@db ~]# chkconfig --list nfs
nfs             0:off   1:off   2:off   3:on    4:off   5:off   6:off


ntsysv:类图形界面管理模式来设置开机启动。(RedHat特有的,基本上chkconfig就很好用了。)

总结一下功能按钮:
上下键:可以在中间的方框当中,在各个服务之间移动;
空格键:可以用来选择你所需要的服务,[*]表示开起启动;
tab键:可以在方框、OK、Cancel之间移动;
[F1]键:可以显示该服务的说明。       
例如:

[root@linux ~]# ntsysv
ntsysv 1.3.30.1 - (C) 2000-2001 Red Hat, Inc.    

 

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:client运维慢故障,不动了的缓慢解决方案

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。