`
lynnkong
  • 浏览: 303115 次
  • 性别: 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镜像安装启动实例

    在使用ISO镜像启动实例之前,你需要将ISO文件上传到OpenStack的对象存储服务(Swift)。这可以通过Horizon的“对象存储”部分完成,或者使用swift命令行工具。确保ISO镜像是支持虚拟化的,比如Linux的Ubuntu Server...

    openstack-rpm

    安装完成后,还需要配置OpenStack服务,这通常涉及到编辑配置文件(如`/etc/nova/nova.conf`),并启动相关服务: ```bash sudo systemctl start openstack-nova-api sudo systemctl start openstack-neutron-...

    OpenStack Java API

    对于计算服务Nova,开发者可以创建、启动、停止、重启和删除虚拟机。例如,`ComputeService`接口提供了与虚拟机交互的方法,如`create(ServerCreate)`用于创建新的虚拟机实例,`list()`用于列出所有实例,`get...

    OpenStack Victoria版安装部署实例教程

    每个组件的配置都涉及数据库连接、API端点设置、服务启动和验证等步骤。 Keystone作为OpenStack的身份管理系统,负责用户身份验证、权限管理和服务目录。配置Keystone时,你需要创建认证端点,设置服务和用户角色,...

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

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

    openstack的essex安装

    确保消息队列服务和 libvirtd 服务已经启动。 ```bash sudo service qpidd start && sudo chkconfig qpidd on sudo service libvirtd start && sudo chkconfig libvirtd on ``` ##### 8. 启动 Glance 服务 启用 ...

    openstack 学习及安装笔记

    - **架构特点**:OpenStack是一个模块化的平台,通过多种服务组件的协同工作来实现云计算的各种功能,如计算、存储、网络等。 - **应用场景**:适用于私有云、公有云以及混合云环境,能够为企业提供灵活、可扩展的云...

    OpenStack高可用指南.pdf

    OpenStack的关键API服务节点,如身份认证服务(Keystone)、镜像API服务(Glance)、块设备存储服务(Cinder)和网络服务(Neutron)等,都需要配置VIP(虚拟IP)来支持高可用性。 ### 5. 网络控制节点HA集群配置 ...

    Openstack F版本源码安装

    7. **启动服务**:依次启动各个服务,通常通过systemd或init.d脚本来完成。确保服务之间能够正常通信。 8. **日志分析**:安装过程中可能会遇到各种问题,查看日志文件(通常在/var/log/目录下)有助于定位和解决...

    OpenStack 管理员参考文档user-guide-admin

    - **服务管理**:监控和管理OpenStack的服务状态。 - **镜像管理**:通过命令行上传、下载和管理镜像。 - **卷管理**:创建、删除和管理卷。 - **规格管理**:通过命令行管理规格。 - **环境管理**:查看和更新...

    云基础设施openstack基础

    镜像服务则由Glance提供,负责管理启动虚拟机所需的镜像。计算服务由Nova负责,管理虚拟机的生命周期,包括创建、运行和终止虚拟机。存储服务分为块存储和对象存储,块存储由Cinder提供,对象存储则可由Swift提供,...

    Openstack M版本离线搭建

    3. **启动 MariaDB 服务**:`systemctl enable mariadb.service && systemctl start mariadb.service`。 4. **安全配置**:运行 `mysql_secure_installation`,按照提示完成数据库安全配置。 ##### 5.2 NoSQL ...

    Programming Your OpenStack Cloud

    - **Python-OpenStackSDK**:这是一个Python库,提供了一个统一的API来访问OpenStack服务,简化了开发人员与OpenStack交互的过程。 - **Kuryr**:最初作为一个Docker网络插件启动,现已扩展到支持更多的容器存储解决...

    OpenStack之镜像服务(Glance)安装

    可以使用OpenStack CLI工具或系统服务管理命令(如systemctl)来启动和检查服务状态。 总结来说,安装和配置OpenStack的镜像服务(Glance)涉及到了数据库管理、配置文件的编辑、用户和角色管理、服务注册和端点...

    OpenStack之认证服务(Keystone)

    5. **启动服务**:启用并启动Apache服务,确保httpd服务运行正常,以便Keystone可以通过HTTP接口提供服务。 验证Keystone配置是否成功,可以模拟登录过程: 1. **创建环境变量文件**:创建一个名为`admin-login`的...

    云计算平台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虚拟机恢复步骤指南

    在IT行业中,虚拟化技术是云计算服务的基础,OpenStack作为一款开源的云计算平台,广泛用于构建私有云和公有云。在OpenStack环境中,虚拟机的稳定运行至关重要,但难免会出现故障或需要进行灾难恢复的情况。这时,...

    OpenStack超级安装部署运维手册

    Openstack-Install-Compute service.pdf):Nova是OpenStack的核心计算服务,负责虚拟机的生命周期管理,如创建、启动、停止、迁移等。本章将详细解释如何安装和配置Nova,以及与其相关的组件如Nova-Network、Nova-...

    openstack 服务重启/调试 脚本

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

Global site tag (gtag.js) - Google Analytics