
1.1配置主机名
root@compute1:~# vim /etc/hostname compute1
1.2 配置IP地址
root@compute1:~# vim /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.100.102 netmask 255.255.255.0 gateway 192.168.100.2
1.3 配置名称解析hosts
root@compute1:~# vim /etc/hosts # controller 192.168.100.100 controller # network 192.168.100.101 network # compute1 192.168.100.102 compute1
2.网络时间协议ntp
2.1 安装ntp服务器
root@compute1:~# apt-get install ntp
2.2 配置/etc/ntp.conf 服务
server controller iburst
2.3重启ntp服务
root@compute1:~# /etc/init.d/ntp restart
3.系统升级更新
3.1 更新openstack 仓库源
root@compute1:~# apt-get install ubuntu-cloud-keyring root@compute1:~# vim /etc/apt/sources.list.d/cloudarchive-kilo.list deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/kilo main
3.2升级软件包,如果升级过程中包含内核的升级,需要重启服务器。
root@compute1:~# apt-get update root@compute1:~# apt-get dist-upgrade
三、安装和配置控制节点
下面介绍如何在控制节点上面安装和配置计算服务,即Nova。下面所有的 *** 作步骤在控制节点上面 *** 作。在安装和配置计算服务之前,必须先创建数据库、服务证书和API。
1.1数据库配置
1)创建数据库
root@controller:~# mysql -uroot Cp MariaDB [(none)]>create database novaQuery OK, 1 row affected (0.01 sec)
2)给数据库授权
MariaDB [(none)]>GRANT ALL PRIVILEGES ON nova.* TO'nova'@'localhost' IDENTIFIED BY 'sfzhang1109'Query OK, 0 rows affected (0.16 sec) MariaDB [(none)]>GRANT ALL PRIVILEGES ON nova.* TO'nova'@'%' IDENTIFIED BY 'sfzhang1109'Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]>fl.sh privilegesQuery OK, 0 rows affected (0.27 sec)
3)退出数据库客户端
MariaDB [(none)]>exit Bye
1.2 导入admin身份凭证以便执行管理命令
root@controller:~# source admin-openrc.sh
1.3 创建服务证书
1)创建nova用户(密码:nova)
root@controller:~# openstack user create--password-prompt nova User Password: Repeat User Password: +----------+----------------------------------+ | Field|Value | +----------+----------------------------------+ | email|None | | enabled |True | | id |44ccbfd3be744176b3650dc0eb24d5b8 | | name |nova | | username | nova | +----------+----------------------------------+
2)添加nova用户到admin角色
root@controller:~#openstack role add --project service --user nova admin +-------+----------------------------------+ |Field | Value | +-------+----------------------------------+ |id| 05616505a61c4aa78f43fba9e60ba7fc | |name | admin | +-------+----------------------------------+
3)创建nova服务实体
root@controller:~#openstack service create --name nova --description "OpenStackCompute" compute +-------------+----------------------------------+ |Field| Value| +-------------+----------------------------------+ |description | OpenStack Compute| |enabled | True | |id |22b9948004934b169b0618c533e3a7e4 | |name | nova | |type | compute | +-------------+----------------------------------+
1.4创建nova服务的API endpoint
看过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为例,内容如下:
Shell代码
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可以获取更多的信息。
OpenStack由5个重要构成部分:(1)Nova - 计算服务
(2)Swift - 存储服务
(3)Glance - 镜像服务
(4)Keystone - 认证服务
(5)Horizon - UI服务
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)