Sun Java System Messaging Server 6.3 管理指南

4.4 启动和停止服务

根据服务是否安装在 HA 环境中,将以不同方式启动和停止服务。

4.4.1 在 HA 环境中启动和停止服务

当 Messaging Server 在 HA 控制下运行时,不能使用常规的 Messaging Server 启动、重新启动和停止命令来控制各个 Messaging Server 服务。如果尝试在 HA 部署中使用 stop-msg,系统将警告检测到 HA 设置并告诉您如何正确地停止系统。

下表显示了相应的启动、停止和重新启动命令。请注意,没有特定的 HA 命令单独用于启动、重新启动或停止其他 Messaging Server 服务(例如 SMTP)。但是,您可以运行 stop-msg service 命令来停止/重新启动各个服务器,例如 imappopsched

Sun Cluster 的最佳粒度是单个资源。由于 Messaging Server 对于 Sun Cluster 来说是一种资源,因此 scswitch 命令将从整体上影响所有 Messaging Server 服务。

表 4–2 在 Sun Cluster 3.0/3.1 环境中启动、停止和重新启动

操作 

单个资源 

整个资源组 

启动 

scswitch -e -j resource

sscswitch -Z -g resource_group

重新启动 


scswitch -n -j resource
scswitch -e -j resource

scswitch -R -g resource_group

停止 

scswitch -n -j resource

scswitch -F -g resource_group

表 4–3 在 Veritas 3.5、4.0、4.1 和 5.0 环境中启动、停止和重新启动

操作 

单个资源 

整个资源组 

启动 

hares -online resource -sys system

hagrp -online group -sys system

重新启动 


hares -offline resource -sys system
hares -online resource -sys system

hagrp -offline group -sys system
hagrp -online group -sys system

停止 

hares -offline resource -sys system

hagrp -offline group -sys system

4.4.2 在非 HA 环境中启动和停止服务

使用命令 msg-svr-base/sbin/start-msgmsg-svr-base/sbin/stop-msg 从命令行启动和停止服务。虽然可以使用命令模板 msg-svr-base/sbin/stop-msg service(其中,service 可以为 smtpimappopstorehttpenssched)分别启动和停止服务,但建议不要这样做(本手册中所述的特殊任务除外)。某些服务依赖于其他服务,并且必须按指定的顺序进行启动。尝试单独启动服务时,情况可能会比较复杂。为此,应使用 start-msgstop-msg 命令同时启动和停止所有服务。


注 –

必须首先启用服务(例如 POP、IMAP 和 HTTP),然后才能启动或停止服务。有关更多信息,请参见5.1.1 启用和禁用服务


重要提示:如果某个服务器进程崩溃,则其他进程可能会由于等待该崩溃的进程所保留的锁定而挂起。如果没有使用自动重新启动(请参见4.5 失败的服务或未响应服务的自动重新启动),则当任何服务器进程崩溃时,均应停止所有进程,然后重新启动所有进程。这包括 POP、IMAP、HTTP 和 MTA 进程,以及 stored(消息存储)进程和用于修改消息存储的任何实用程序(例如 mboxutildeliverreconstructreadershipupgrade)。

Procedure启动、关闭或查看任何邮件传送服务的状态

再次提醒您,建议不要关闭各个服务,本手册的各个部分中所述的特殊任务除外。某些服务依赖于其他服务,并且必须按指定的顺序进行启动。尝试单独启动服务时,情况可能会比较复杂。为此,应使用 start-msgstop-msg 命令同时启动和停止所有服务。

  1. 请使用 start-msgstop-msg 命令启动或停止任何邮件传送服务。示例:

    msg-svr-base/sbin/start-msg imap

    msg-svr-base/sbin/stop-msg pop

    msg-svr-base/sbin/stop-msg sched

    msg-svr-base/sbin/stop-msg smtp

    必须启用了服务才能停止或启动服务。请参见4.4.2.1 指定可以启动的服务


    注 –

    start-msgstop-msg 命令将启动和停止所有 MTA 服务,而不仅仅是 SMTP 服务器。如果您希望在启动或停止 MTA 服务时能够进行更细微的控制,可以将 start/stop-msg 命令用于分发程序和作业控制器。有关更多信息,请参见《Sun Java System Messaging Server 6.3 Administration Reference》中的“start-msg”《Sun Java System Messaging Server 6.3 Administration Reference》中的“stop-msg”


4.4.2.1 指定可以启动的服务

默认情况下将使用 start-msg 启动以下服务:


#./start-msg
Connecting to watcher ...
Launching watcher ...
Starting ens server .... 21132
Starting store server .... 21133
checking store server status ... ready
Starting imap server .... 21135
Starting pop server .... 21138
Starting http server .... 21141
Starting sched server .... 21143
Starting dispatcher server .... 21144
Starting job_controller server .... 21146

可以通过启用或禁用以下 configutil 参数来控制这些服务: service.imap.enableservice.pop.enableservice.http.enablelocal.smsgateway.enablelocal.snmp.enablelocal.imta.enablelocal.mmp.enablelocal.ens.enablelocal.sched.enable。请注意,必须将 service.imap.enableservice.imap.enablesslport 都设置为 0 才能禁用 IMAP。禁用 POP 和 HTTP 的操作同理。有关这些参数如何工作的更多信息,请参见《Sun Java System Messaging Server 6.3 Administration Reference》中的“configutil Parameters”

4.4.3 启动和停止以 MTA-only 模式运行的 Messaging Server

要启动 MTA-only 系统,您还应该启动 imsched。执行该操作前,应该先删除不利于安装的计划任务。

imsched 是一个单独的 Messaging Server 组件,如果没有启动 Messaging Server 的所有项目,则必须单独启用该组件。如果您使用 start-msg imtastart-msg smtp 启用 MTA-only 系统,将不会运行 imsched 进程。

如果仅以 MTA 模式运行 Messaging Server(不运行 store/imap/pop/http 进程), 则您可以选择仅在初始安装 (msg_base/sbin/configure) 后配置 Messaging Server 期间安装/配置的 MTA,或者使用以下 configutil 命令手动禁用消息存储和 mshttp 进程:


./configutil -o local.store.enable -v 0 
./configutil -o service.http.enable -v 0

禁用 http 和其他存储进程后,可以通过运行以下命令启动 Messaging Server:


# ./start-msg
bash-3.00# ./start-msg 
Connecting to watcher ... 
Launching watcher ... 4034 
Starting ens server ... 4035 
Starting sched server ... 4036 
Starting dispatcher server .... 4038 
Starting job_controller server .... 4042

请注意,这将启动所有相应的进程,包括 imschedimta。这样客户则无需启动 sched 进程。