`
lynnkong
  • 浏览: 300114 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

【OpenStack】OpenStack服务的启动

阅读更多

OpenStack服务的启动

 

本博客欢迎转发,但请保留原作者(新浪微博:@孔令贤HW;博客地址:http://blog.csdn.net/lynn_kong)信息!内容系本人学习、研究和总结,如有雷同,实属荣幸!

 

看过openstack源码的朋友都知道,在每个工程下,都有一个bin目录,下面是每个服务进程的启动脚本,使用python 脚本名就能运行一个服务。但对于Linux系统来说,有自己的一套服务管理程序。

 

关于早期的Linux系统的启动,熟悉Linux的人大多应该知道,init进程(PID=1)乃是所有进程的父进程,所有进程由它控制,init进程的运 行时间是内核完成文件系统的加载之后。早期的系统管理被称作SysV,它通过在代表各个run level的目录里建立脚本来控制服务的自动启动。比如,/etc/rc0.d目录里以S开头的脚本会被运行在run level0。在这种方式下,如果要屏蔽一个服务,需要把S开头的那个更名为以K开头。而所有在rc*.d下的脚本都链接到/etc/init.d目录 里。以安装OpenStack的SUSE系统为例,对于启动nova-compute服务命令,是service openstack-nova-compute start,那我们就到/etc/init.d目录下找到openstack-nova-compute这个脚本文件,内容如下

 

注意在start分支有这么一句:
startproc -t ${STARTUP_TIMEOUT:-5} -q /usr/bin/nova-$name $OPTIONS
这种写法就是标准的服务的写法,其中OPTIONS指定了日志配置和服务参数配置。

 

Ubuntu 从6.10开始逐步用Upstart代替原来的SysV init。进行服务进程的管理,目前Fedora和Debian也支持Upstart。Upstart采用了完全不同的方式。它要求所有的启动脚本,其实 是配置文件,建立在/etc/init目录下,每个服务一个文件,里面定义脚本启动与关闭的运行级别、条件、事件等。可以看出,Upstart要比 SysV高明得多,因为SysV启动是线性、顺序的,一个S20的服务必须要等待S19启动完成才能启动,如果一个启动要花很多时间,那么后面的服务就算 完全无关,也必须要等。而在Upstart下,服务的启动基于事件,而且是并行的,只要事件发生,服务可以并发启动。这种方式无疑要优越得多,因为它可以 充分利用现在计算机多核的特点,大大减少启动所需的时间。关于Upstart的详细介绍,可以参考Upstart的官网

 

我们看一个在Ubuntu下的服务,在/etc/init目录下,有系统所有服务的Upstart配置文件,以nova-api.conf为例,内容如下:

description "Nova API server"
author "Soren Hansen <soren@linux2go.dk>"

start on runlevel [2345]
stop on runlevel [016]


chdir /var/run

pre-start script
	mkdir -p /var/run/nova
	chown nova:root /var/run/nova/

	mkdir -p /var/lock/nova
	chown nova:root /var/lock/nova/
end script

exec su -s /bin/sh -c "exec nova-api --config-file=/etc/nova/nova.conf" nova

 

简单解释:
start on和stop on定义了启动与停止的事件、运行级别等(还可以定义emits来定义这个服务自己触发的事件,也就是这个服务启动后发出的事件)。下面的pre- start script和post-start script是启动前后运行的脚本。exec一行就是服务的运行脚本。

 

那么怎样取消一个服务的自动启动?
拿nova-api.conf为例,只需要把start on注释掉就好了。但不要删除conf文件,这样以后仍然可以用start/stop这些命令来控制它的状态。

 

此外,另一个很有用的命令是initctl,在命令行输入initctl list即可列出所有服务的运行状态。用man initctl可以获取更多的信息。

  • 大小: 9.7 KB
0
0
分享到:
评论

相关推荐

    OpenStack web界面使用ISO镜像安装启动实例

    OpenStack web界面使用ISO镜像安装启动实例,完美解决

    云计算平台openstack视频.zip

    03-openstack的基础服务安装.mp4 04-安装keystone认证服务上.mp4 05-安装keystone服务下.mp4 06-安装glance镜像服务.mp4 openstack-day2 01-nova计算服务控制节点.mp4 02-nova计算服务计算节点.mp4 03-neutron网络...

    openstack 服务重启/调试 脚本

    openstack 服务重启/调试 脚本, 针对devstack环境

    OpenStack 使用ISO部署VM

    OpenStack⽀持使⽤ISO⽂件部署VM ⼤⾄步骤为上传ISO镜像、使⽤ISO镜像启动虚机、创建云硬盘并将云硬 盘挂⾄该虚机、将操作系统安装⾄云硬盘、将云硬盘上传⾄镜像。 下⾯是详细步骤 ⼀、ISO镜像创建 在界⾯依次选择...

    云计算平台openstack视频教程.rar

    │ │ 03-openstack的基础服务安装. │ │ 04-安装keystone认证服务上 │ │ 05-安装keystone服务下 │ └ 06-安装glance镜像服务.mp4 ├ _openstack-day2 │ │ 01-nova计算服务控制节点.mp4 │ │ 02-nova计算服务...

    openstack实验报告.docx

    5. 启动keystone服务和校验服务状态 6. 创cron任务,配置定期清理过期的token 7. keystone创建user,tenant,role和endpoint 六、 Glance安装 1. Glance的安装 2. 配置glance-api服务 3. 配置glance-...

    论文研究-OpenStack虚拟机启动机制研究 .pdf

    OpenStack虚拟机启动机制研究,吴联盟,王洪波,云计算目前在国内和国际的发展可谓

    OpenStack错误排除

    这是一本讲解OpenStack错误排除的文档

    OpenStack实战演练及开发入门完整全套培训__百度云视频链接

    课时21、实例:Instance启动过程回顾 课时22、网络基础知识盘点 课时23、Neutron原理详解 课时24、实例:Neutron手动安装 课时25、实例:网络命名空间 课时26、实例:物理机连接openvswitch的虚 课时27、实例:租户...

    OpenStack网络介绍

    SACC2014OpenStack网络介绍-龚永生

    OpenStack实战演练及开发入门完整全套培训

    课时21、实例:Instance启动过程回顾 课时22、网络基础知识盘点 课时23、Neutron原理详解 课时24、实例:Neutron手动安装 课时25、实例:网络命名空间 课时26、实例:物理机连接openvswitch的虚 课时27、实例:租户...

    云计算openstack视频.zip

    03-openstack的基础服务安装.mp4 04-安装keystone认证服务上.mp4 05-安装keystone服务下.mp4 06-安装glance镜像服务.mp4 openstack-day2 01-nova计算服务控制节点.mp4 02-nova计算服务计算节点.mp4 03-neutron网络...

    使用devstack构建openstack的重启脚本

    针对使用devstack构建的openstack,重新启动系统后,使用此脚本恢复openstack环境。 For openstack built by devstack, this shell script can be run to recover the openstack environment.

    fuel_9离线安装openstack教程(包含镜像文件和启动文件)

    通过此详细教程和教程中的相关链接可快速离线安装openstack,此方法已实践可用。

    openstack的qcow2格式的可用镜像

    包含qcow2格式的镜像,无需自己重新制作,离线情况下制作镜像非常繁琐,镜像包括windows_server_2012_r2_x64.qcow2.tar win7.qcow2.tar.gz windows_server_2008_r2_x64.qcow2.tar virtio驱动 ubuntu14.04.3_server....

    OpenStack总体架构概览&OpenStack核心组件介绍

    DBaaS(DatabaseasaService)FWaaS(FirewallasaService)异步队列服务:接收创建、启动、删除等等任务的队列,当同时要启动200个VM实例时,我只需将启动VM的请求放到异步队列中后,我就开始干其它事情了。OpenStack的...

    OpenStack入门到精通-基础培训教程完整版ppt

    OpenStack历史和现在 OpenStack原理 OpenStack中VM启动过程 OpenStack API介绍 OSP架构解析 常用运维操作

    Openstack 启动instance ‘hvm’错误问题解决办法

    Openstack 启动instance ‘hvm’错误: 2012-05-25 10:07:12 TRACE nova.rpc.amqp Traceback (most recent call last): 2012-05-25 10:07:12 TRACE nova.rpc.amqp File /usr/lib/python2.7/dist-packages/nova/rpc/...

    使用OpenStack管理Docker容器

    文将讲述如何使用OpenStack创建并管理Docker,有3种流行的使用方法,使用的分别是NovaDocker驱动,HeatDocker插件,以及Magnum。这篇文章分成2部分,第一部分,将主要介绍NovaDocker驱动的用法。在这篇文章中,我将...

Global site tag (gtag.js) - Google Analytics