最近不忙,安裝了一下openstack juno與你們分享一下。
根據如下安裝步驟
http://docs.openstack.org/juno/i ... ent/ch_preface.html
openstack-install-guide-yum-juno.pdf (1.03 MB, 下載次數: 313)
先看一下安裝完的效果。
cryboy2001 2014-12-18
1、總體效果,有兩臺實例aa與bb能夠看到ip與浮動ip(用的是192.168.10/24網段)
2、看看實例aa中的ip情況
3、從外網登陸到虛擬機bb中
4、實例的網絡拓撲php
1、環境
我用的是三臺電腦,電腦名就是安這上面的controller,compute1,network ip地址與上面的同樣。
此次安裝,先是實線框中的三臺。
在安裝過程當中有很是多的密碼,爲了簡單全部密碼都是安這上面的,操做時就能夠直接copy了。
開始了!(因爲是後來整理的,若有錯誤再修改)
最小化安裝X64 centos 7,再是設設網絡以下
電腦名在/etc/hostname中修改,網絡ip在/etc/sysconfig/network-scripts/ifcfg-*
各電腦的ip地址與網卡名稱:
controller enp3s0 10.0.0.11
compute1 ens34 10.0.0.31 enp3s2 10.0.1.31
network enp4s0 10.0.0.21 enp5s0f0 10.0.1.21 enp5s0f1 這個網卡是不設ip的,等後來作ext-net
網關都是10.0.0.1(內網中的路由器),可使上面的三臺電腦上網。
網卡都按上面的ip設好
network的第三塊網卡比較特別,設置以下:
編輯 /etc/sysconfig/network-scripts/ifcfg-enp5s0f1 ,不要改變原來的 HWADDR 與 UUID。
HWADDR=00:11:0A:53:C9:6B
TYPE=Ethernet
UUID=afb38209-e504-4658-899b-33db3bcb7627
DEVICE=enp5s0f1
ONBOOT="yes"
BOOTPROTO="none"
設置/etc/hosts三臺都要設,每臺的電腦名也要改爲相應的
# compute1
10.0.0.31 compute1
# controller
10.0.0.11 controller
# network
10.0.0.21 network
好了後檢查一下效果
用ping compute一、network與其它電腦,還有外網臺,要全通。
ping -c 4 openstack.org
安裝相關的包,注意每個都要完成安裝,由於服務器都在國外,容易出錯,能夠多執行幾回。
yum -y install ntp wget net-tools
yum install -y yum-plugin-priorities
yum install -y http://dl.fedoraproject.org/pub/ ... ease-7-2.noarch.rpm
# yum install -y http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm
yum -y upgrade
yum install -y openstack-selinux
openstack對於時間的同步很嚴格,在controller上設置ntp服務器,其它的上設置成ntp客戶端
同步internet上的時間
echo "01 01 * * * /usr/sbin/ntpdate ntp.api.bz >> /dev/null 2>&1" >>/etc/crontab
在/etc/ntp.conf中加了如下
restrict 10.0.0.0 mask 255.255.255.0
server ntp.api.bz
其它節點加
server 10.0.0.11
加入開機啓動與啓動服務
# systemctl enable ntpd.service
# systemctl start ntpd.service
以上全部節點都要作,之後填加節點也要作
因此,我把以上步驟拼成了一個shell,執行一下環境就行了,方便:html
#!/bin/bash
python
Hostname="compute1" #改爲節點名
mysql
echo "$Hostname" >/etc/hostname
linux
echo "10.0.0.21 network" >>/etc/hosts
sql
echo "10.0.0.11 controller" >>/etc/hosts
shell
echo "10.0.0.31 compute1" >>/etc/hosts
數據庫
#下面是加的一些環境
centos
echo "export HISTSIZE=1000000" >>/etc/bashrc
api
echo 'export PROMPT_COMMAND="history -a"' >>/etc/bashrc
echo 'export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "' >>/etc/bashrc
yum -y install ntp wget net-tools
ntpdate ntp.api.bz
echo "01 01 * * * /usr/sbin/ntpdate ntp.api.bz >> /dev/null 2>&1" >>/etc/crontab #controller節點上要,其它的不要
yum install -y yum-plugin-priorities
yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
# yum install -y http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm
yum -y upgrade
yum install -y openstack-selinux
systemctl enable ntpd.service
複製代碼
節點環境就行了。
我發如今juno的doc上都沒有加防火牆的部分,有的要本身加上,要否則會出錯的。
firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload
安裝controller
下面的圖中是每臺節點上要安裝的模塊明細,有的模塊是三臺節點上都要安裝如neutron。
1、安裝數據庫
yum install mariadb mariadb-server MySQL-python
編輯數據庫配置文件,修改與填加下面內容
vi /etc/my.cnf
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
改好了後,加入到開機啓動,與啓動數據庫
systemctl enable mariadb.service
systemctl start mariadb.service
更改數據庫的安全與加root密碼,這個密碼在之後操作數據庫時要用到,要記住,不過不會出如今配置文件中
mysql_secure_installation
對於數據庫的應用,與其它的應用是同樣的,在其它模塊中加入連接,就好了。
以下,
connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
填加Messaging server
yum install rabbitmq-server
一樣要加入啓動與開啓
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
設置guest的密碼:RABBIT_PASS,這個要記住,之後不少配置文件中要用到。
rabbitmqctl change_password guest RABBIT_PASS
出現如下,就是成功了。
# rabbitmqctl change_password guest RABBIT_PASS
Changing password for user "guest" ...
...done.
檢查一下以上,就是用root登陸到mysql中試試
還有在防火牆中要加入打開端口
firewall-cmd --premanent --add-port=5672/tcp
firewall-cmd --reload
若是沒加,安裝其它模塊可能就會出現以下的日誌:
2014-12-16 10:15:25.022 2748 ERROR oslo.messaging._drivers.impl_rabbit [req-078ec9df-db8a-441f-859c-b368791624a0 ] AMQP server on controller:5672 is unreachable: [Errno 111] ECONNREFUSED. Trying again in 3 seconds.
就是連不到rabbit了,下面是成功的日誌
2014-12-17 15:15:24.746 2683 INFO oslo.messaging._drivers.impl_rabbit [-] Connecting to AMQP server on controller:5672
若是在之後的安裝中,出現了不正常的現象,第一時間是看日誌,再覈對操做過程,是否是有錯。
填加身份認證服務
下圖中是openstack身份認證的流程工做方式
先安裝Identity service
一、操做數據庫,這裏要用到剛剛數據庫安裝時用到的密碼
#mysql -u root -p
創建數據庫,與受權用戶,還有加密碼KEYSTONE_DBPASS
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
二、生成一個隨機値,作爲管理令牌,爲後面的配置要用
# openssl rand -hex 10
三、安裝包
# yum install openstack-keystone python-keystoneclient
配置這個文件 /etc/keystone/keystone.conf
[DEFAULT]
admin_token = d9cc00b3a9afaced6a36 #這是剛剛產生的隨機值
verbose = True
[database]
connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
[token]
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backends.sql.Token
四、建立管理證書與密鑰,設置相關文件權限
# keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
# chown -R keystone:keystone /var/log/keystone
# chown -R keystone:keystone /etc/keystone/ssl
# chmod -R o-rwx /etc/keystone/ssl
五、填充數據庫數據
# su -s /bin/sh -c "keystone-manage db_sync" keystone
六、填加到啓動與啓動程序
# systemctl enable openstack-keystone.service
# systemctl start openstack-keystone.service
七、默認狀況下,認證身份令牌到期後不會刪除,會一直存在數據庫中,因此加一下自動刪除
# (crontab -l -u keystone 2>&1 | grep -q token_flush) || \
echo '@hourly /usr/bin/keystone-manage token_flush >/var/log/keystone/keystone-tokenflush.log 2>&1' \
>> /var/spool/cron/keystone
2、填加項目、用戶與角色
也就是下圖中的一些東西,看看到圖上的就好理解多了。後面的操做就是與圖上的對應。
一、配置管理令牌與端點
#export OS_SERVICE_TOKEN=d9cc00b3a9afaced6a36
#export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
二、填加項目、用戶與角色。下面操做過程是直接從個人電腦上copy過來的有點亂,能夠直接看doc。
[root@controller log]# keystone tenant-create --name admin --description "Admin Tenant"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Admin Tenant |
| enabled | True |
| id | 89109628fdf840249f2b9fd716404527 |
| name | admin |
+-------------+----------------------------------+
[root@controller log]#
[root@controller log]# keystone user-create --name admin --pass ADMIN_PASS --email root@localhost
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | root@localhost |
| enabled | True |
| id | 7f78bf6957154df998638833f061f196 |
| name | admin |
| username | admin |
+----------+----------------------------------+
[root@controller log]# keystone role-create --name admin
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| id | 59e125307ef447bbb11e6bb015b8c6e4 |
| name | admin |
+----------+----------------------------------+
[root@controller log]# keystone user-role-add --tenant admin --user admin --role admin
[root@controller log]# keystone role-create --name _member_
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| id | 2910a8344595471995e02b23fc93124f |
| name | _member_ |
+----------+----------------------------------+
[root@controller log]# keystone user-role-add --tenant admin --user admin --role _member_
這個是沒輸出的
上面是加admin,下面是加demo
[root@controller log]# keystone tenant-create --name demo --description "Demo Tenant"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Demo Tenant |
| enabled | True |
| id | 98aeedd6814142e68bc9ee88846d654c |
| name | demo |
+-------------+----------------------------------+
[root@controller log]# keystone user-create --name demo --pass DEMO_PASS --email EMAIL_ADDRESS
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | EMAIL_ADDRESS |
| enabled | True |
| id | c7172284f56e44baaae83d9351e28c31 |
| name | demo |
| username | demo |
+----------+----------------------------------+
[root@controller log]# keystone user-role-add --tenant demo --user demo --role _member_
[root@controller log]# keystone tenant-create --name service --description "Service Tenant"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Service Tenant |
| enabled | True |
| id | 9870c4478e0448ba87a38e1e3c80448c |
| name | service |
+-------------+----------------------------------+
[root@controller log]#
[root@controller log]# keystone service-create --name keystone --type identity \
> --description "OpenStack Identity"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Identity |
| enabled | True |
| id | b2f1cfca40c64a6583b19e4475312e85 |
| name | keystone |
| type | identity |
+-------------+----------------------------------+
[root@controller log]# keystone endpoint-create \
> --service-id $(keystone service-list | awk '/ identity / {print $2}') \
> --publicurl http://controller:5000/v2.0 \
> --internalurl http://controller:5000/v2.0 \
> --adminurl http://controller:35357/v2.0 \
> --region regionOne
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| adminurl | http://controller:35357/v2.0 |
| id | 5fbc07aa73ef4891859d01eac5ac9253 |
| internalurl | http://controller:5000/v2.0 |
| publicurl | http://controller:5000/v2.0 |
| region | regionOne |
| service_id | b2f1cfca40c64a6583b19e4475312e85 |
+-------------+----------------------------------+
上面的操做完了,下面驗證一下看看有沒有出錯
先退出剛剛的操做環境
unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
[root@controller ~]# keystone --os-tenant-name admin --os-username admin --os-password ADMIN_PASS \
> --os-auth-url http://controller:35357/v2.0 token-get
+-----------+----------------------------------+
| Property | Value |
+-----------+----------------------------------+
| expires | 2014-12-18T07:27:22Z |
| id | f571c6b396904e4b93220d82a38605e2 |
| tenant_id | 89109628fdf840249f2b9fd716404527 |
| user_id | 7f78bf6957154df998638833f061f196 |
+-----------+----------------------------------+
[root@controller ~]# keystone --os-tenant-name admin --os-username admin --os-password ADMIN_PASS \
> --os-auth-url http://controller:35357/v2.0 tenant-list
+----------------------------------+---------+---------+
| id | name | enabled |
+----------------------------------------+---------+---------+
| 89109628fdf840249f2b9fd716404527 | admin | True |
| 98aeedd6814142e68bc9ee88846d654c | demo | True |
| 9870c4478e0448ba87a38e1e3c80448c | service | True |
+-----------------------------------------+---------+---------+
以上不出錯後
以上操做完成後,建兩下用戶環境,之後在cli下操做只要source admin-openrc.sh就進入的操做權限。
[root@controller log]# vi admin-openrc.sh
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v2.0
[root@controller log]# vi demo-openrc.sh
export OS_TENANT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://controller:5000/v2.0
加入OpenStack Image Service
也就是下圖中的東西。
照樣先加數據庫,下面的與是電腦屏幕直接輸入的
[root@controller log]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 5.5.40-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE glance;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
-> IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
-> IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
填加用戶glance 與密碼
[root@controller log]# keystone user-create --name glance --pass GLANCE_PASS
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | |
| enabled | True |
| id | d51571512faf4c148cca450d75396893 |
| name | glance |
| username | glance |
+----------+----------------------------------+
[root@controller log]# keystone user-role-add --user glance --tenant service --role admin
[root@controller log]# keystone service-create --name glance --type image \
> --description "OpenStack Image Service"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Image Service |
| enabled | True |
| id | 990d6863283141ff9dbaa7a4e3a06795 |
| name | glance |
| type | image |
+-------------+----------------------------------+
[root@controller log]# keystone endpoint-create \
> --service-id $(keystone service-list | awk '/ image / {print $2}') \
> --publicurl http://controller:9292 \
> --internalurl http://controller:9292 \
> --adminurl http://controller:9292 \
> --region regionOne
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| adminurl | http://controller:9292 |
| id | 37172288d36f4c1b8dc3fa7935174aa7 |
| internalurl | http://controller:9292 |
| publicurl | http://controller:9292 |
| region | regionOne |
| service_id | 990d6863283141ff9dbaa7a4e3a06795 |
+-------------+----------------------------------+
安裝相關包
[root@controller log]#yum install openstack-glance python-glanceclient
編輯相關文件
# vi /etc/glance/glance-api.conf
[DEFAULT]
verbose=True
[database]
connection = mysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000/v2.0
identity_uri = http://controller:35357
admin_tenant_name = service
admin_user = glance
admin_password = GLANCE_PASS
[paste_deploy]
flavor = keystone
[store_type_location_strategy]
[profiler]
[task]
[glance_store]
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
# vi /etc/glance/glance-registry.conf
[DEFAULT]
verbose=True
[database]
connection = mysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000/v2.0
identity_uri = http://controller:35357
admin_tenant_name = service
admin_user = glance
admin_password = GLANCE_PASS
[paste_deploy]
flavor = keystone
[profiler]
同步數據庫
# su -s /bin/sh -c "glance-manage db_sync" glance
填加到開機自啓動與啓動程序。
#systemctl enable openstack-glance-api.service openstack-glance-registry.service
#systemctl start openstack-glance-api.service openstack-glance-registry.service
試一下,先下載一上img,再加入到epenstack中
[root@controller log]# mkdir /tmp/images
[root@controller log]# cd /tmp/images
[root@controller images]# wget http://cdn.download.cirros-cloud ... 3.3-x86_64-disk.img
[root@controller images]# ll
total 12892
-rw-r--r--. 1 root root 13200896 Dec 11 10:49 cirros-0.3.3-x86_64-disk.img
加入到img
[root@controller images]# source /root/admin-openrc.sh
[root@controller images]# glance image-create --name "cirros-0.3.3-x86_64" --file cirros-0.3.3-x86_64-disk.img \
> --disk-format qcow2 --container-format bare --is-public True --progress
[=============================>] 100%
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | 133eae9fb1c98f45894a4e60d8736619 |
| container_format | bare |
| created_at | 2014-12-11T02:51:58 |
| deleted | False |
| deleted_at | None |
| disk_format | qcow2 |
| id | 71ebf3fa-4da5-49e2-b1f3-88498e9c1643 |
| is_public | True |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros-0.3.3-x86_64 |
| owner | 89109628fdf840249f2b9fd716404527 |
| protected | False |
| size | 13200896 |
| status | active |
| updated_at | 2014-12-11T02:51:59 |
| virtual_size | None |
+------------------+--------------------------------------+
看一下
[root@controller images]# glance image-list
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| ID | Name | Disk Format | Container Format | Size | Status |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| 71ebf3fa-4da5-49e2-b1f3-88498e9c1643 | cirros-0.3.3-x86_64 | qcow2 | bare | 13200896 | active |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
[root@controller images]# cd /root/
增長一臺compute,產生虛擬機的主機,就是下面的了。
這個要在controller與compute1,兩臺電腦中操做。先在controller中一、. 先在數據庫中操做,進入、增長、與加用戶權限,祕密爲NOVA_DBPASS$ mysql -u root -pCREATE DATABASE nova; Grant proper access to the nova database: GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \ IDENTIFIED BY 'NOVA_DBPASS';GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \ IDENTIFIED BY 'NOVA_DBPASS';2. 填加 Identity 身份認證,建nova用戶與密碼並加入role組$ source admin-openrc.sh$ keystone user-create --name nova --pass NOVA_PASS+----------+----------------------------------+| Property | Value |+----------+----------------------------------+| email | || enabled | True || id | 387dd4f7e46d4f72965ee99c76ae748c || name | nova || username | nova |+----------+----------------------------------+# keystone user-role-add --user nova --tenant service --role admin建立nova service:#keystone service-create --name nova --type compute \ --description "OpenStack Compute"+-------------+----------------------------------+| Property | Value |+-------------+----------------------------------+| description | OpenStack Compute || enabled | True || id | 6c7854f52ce84db795557ebc0373f6b9 || name | nova || type | compute |+-------------+----------------------------------+$ keystone endpoint-create \ --service-id $(keystone service-list | awk '/ compute / {print $2}') \ --publicurl http://controller:8774/v2/%\(tenant_id\)s \ --internalurl http://controller:8774/v2/%\(tenant_id\)s \ --adminurl http://controller:8774/v2/%\(tenant_id\)s \ --region regionOne+-------------+-----------------------------------------+| Property | Value |+-------------+-----------------------------------------+| adminurl | http://controller:8774/v2/%(tenant_id)s || id | c397438bd82c41198ec1a9d85cb7cc74 || internalurl | http://controller:8774/v2/%(tenant_id)s || publicurl | http://controller:8774/v2/%(tenant_id)s || region | regionOne || service_id | 6c7854f52ce84db795557ebc0373f6b9 |+-------------+-----------------------------------------+安裝包# yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor \ openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler \ python-novaclient編輯配置文件,在配置文件時,每行的前面不能有空格,要否則會出錯的vi /etc/nova/nova.conf[database]connection = mysql://nova:NOVA_DBPASS@controller/nova #連數據庫 rpc_backend = rabbit #連 rabbitrabbit_host = controllerrabbit_password = RABBIT_PASS auth_strategy = keystone #使用keystone作身份認證my_ip = 10.0.0.11vncserver_listen = 10.0.0.11 vncserver_proxyclient_address = 10.0.0.11verbose = True[keystone_authtoken] #連到keystoneauth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357admin_tenant_name = serviceadmin_user = novaadmin_password = NOVA_PASS [glance] #glance 主機位置host = controller 同步數據庫# su -s /bin/sh -c "nova-manage db sync" nova增長自啓動與啓動進程# systemctl enable openstack-nova-api.service openstack-nova-cert.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service # systemctl start openstack-nova-api.service openstack-nova-cert.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service以上在controller中的操做就完成了下面是在compute1中的操做安裝文件包# yum install openstack-nova-compute sysfsutils編輯配置文件 [DEFAULT]rpc_backend = rabbit #連數據庫rabbit_host = controllerrabbit_password = RABBIT_PASSauth_strategy = keystone my_ip =10.0.0.31 #本機的管理ipvnc_enabled = True #novnc使用vncserver_listen = 0.0.0.0vncserver_proxyclient_address = 10.0.0.31novncproxy_base_url = http://controller:6080/vnc_auto.html verbose = True [keystone_authtoken]auth_uri = http://controller:5000/v2.0identity_uri = http://controller:35357admin_tenant_name = serviceadmin_user = novaadmin_password = NOVA_PASS[glance]host = controller 增長自啓動與啓動進程# systemctl enable libvirtd.service openstack-nova-compute.service# systemctl start libvirtd.service# systemctl start openstack-nova-compute.service上面就操做完成,就填加好了nova service測試一下,看到如下的就成功了。要在controller節點上操做# source admin-openrc.sh# nova service-list+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+| 1 | nova-conductor | controller | internal | enabled | up | 2014-09-16T23:54:02.000000 | - || 2 | nova-consoleauth | controller | internal | enabled | up | 2014-09-16T23:54:04.000000 | - || 3 | nova-scheduler | controller | internal | enabled | up | 2014-09-16T23:54:07.000000 | - || 4 | nova-cert | controller | internal | enabled | up | 2014-09-16T23:54:00.000000 | - || 5 | nova-compute | compute1 | nova | enabled | up | 2014-09-16T23:54:06.000000 | - |+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+