1. 首先, /etc/inittab(不同平台文件名可能不同),文件中的下面3行被调用。
h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1
h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1
h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1
关于上述脚本的说明:
init.cssd 负责启动ocssd.bin守护进程和其他CSS层面的守护进程,从而完成对集群的构建工作。
init.evmd 负责启动crsd.bin守护进程并调用相应的racg模块来启动相应的资源,从而完成集群应用程序资源的启动。
init.crsd 负责启动evmd.bin守护进程,从而实现集群节点间的事件发布
这三个脚本是被同时调用的,每个脚本负责启动对应的守护进程。
2. 接下来,init.cssd 脚本负责把 ocssd.bin 守护进程启动并确认它正常工作, 之后crsd.bin 守护进程在发现ocssd.bin 正常运行之后,开始完成自己的启动,并开始启动集群的各个资源。
3. 最后,当crsd.bin 正常工作之后, evmd.bin 后台进程也就可以被正常启动并运行了。
所以,虽然那3个脚本是同时被调用,但是守护进程之间是有依赖关系的, ocssd.bin --> crsd.bin --> evmd.bin