分享

openstack【juno】入门 【nova 篇】十三(2):安装配置计算服务

pig2 发表于 2015-2-26 12:47:44 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 36 111039
问题导读

1.计算节点、控制节点管理网络ip地址分别为什么?
2.如何判断是否支持虚拟机硬件加速按?
3.创建实例之前,需要注意什么问题?





【控制节点】
准备

1.创建数据库,完成下面内容

a.登录mysql
  1. mysql -u root -p
复制代码


b.创建nova数据库
  1. CREATE DATABASE nova;
复制代码

c.授权

  1. GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
  2.   IDENTIFIED BY 'NOVA_DBPASS';
  3. GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
  4.   IDENTIFIED BY 'NOVA_DBPASS';
复制代码


d.退出mysql
  1. exit
复制代码


2.生效环境变量

  1. source admin-openrc.sh
复制代码
内容如下:
  1. export OS_TENANT_NAME=admin
  2. export OS_USERNAME=admin
  3. export OS_PASSWORD=ADMIN_PASS
  4. export OS_AUTH_URL=http://controller:35357/v2.0
复制代码


3.创建服务认证

a.创建一个nova用户
  1. keystone user-create --name nova --pass NOVA_PASS
复制代码
这里使用默认密码,如果更改,在配置文件中需要做相应的修改。

b.给nova用户授予admin角色
  1. keystone user-role-add --user nova --tenant service --role admin
复制代码


c.创建nova服务实例
  1. keystone service-create --name nova --type compute \
  2.   --description "OpenStack Compute"
复制代码


4.创建nova服务API endpoints

  1. keystone endpoint-create \
  2.   --service-id $(keystone service-list | awk '/ compute / {print $2}') \
  3.   --publicurl http://controller:8774/v2/%\(tenant_id\)s \
  4.   --internalurl http://controller:8774/v2/%\(tenant_id\)s \
  5.   --adminurl http://controller:8774/v2/%\(tenant_id\)s \
  6.   --region regionOne
复制代码




安装配置计算控制组件

1.安装包
  1. apt-get install nova-api nova-cert nova-conductor nova-consoleauth \
  2.   nova-novncproxy nova-scheduler python-novaclient
复制代码


2.编辑文件,完成下面内容

  1. sudo nano  /etc/nova/nova.conf
复制代码


a.在[database]部分,配置数据库连接
  1. [database]
  2. ...
  3. connection = mysql://nova:NOVA_DBPASS@controller/nova
复制代码


b.在 [DEFAULT]部分,配置RabbitMQ 消息代理访问
  1. [DEFAULT]
  2. ...
  3. rpc_backend = rabbit
  4. rabbit_host = controller
  5. rabbit_password = RABBIT_PASS
复制代码

c. 在[DEFAULT] 和 [keystone_authtoken]部分,配置认证访问
  1. [DEFAULT]
  2. ...
  3. auth_strategy = keystone
  4. [keystone_authtoken]
  5. ...
  6. auth_uri = http://controller:5000/v2.0
  7. identity_uri = http://controller:35357
  8. admin_tenant_name = service
  9. admin_user = nova
  10. admin_password = NOVA_PASS
复制代码


注释掉 auth_host, auth_port, 和 auth_protocol,因为identity_uri 已经含有这些配置。

d.在 [DEFAULT]部分,配置控制节点,管理网络的ip地址my_ip 选项
  1. [DEFAULT]
  2. ...
  3. my_ip = 10.0.0.11
复制代码

e.在 [DEFAULT] 部分,配置VNC 代理,使用控制节点管理网络ip地址

  1. [DEFAULT]
  2. ...
  3. vncserver_listen = 10.0.0.11
  4. vncserver_proxyclient_address = 10.0.0.11
复制代码



f.在[glance]部分,配置image服务
  1. [glance]
  2. ...
  3. host = controller
复制代码


g.为排除故障,在[DEFAULT]部分,启用详细日志
  1. [DEFAULT]
  2. ...
  3. verbose = True
复制代码

3.同步数据库

  1. su -s /bin/sh -c "nova-manage db sync" nova
复制代码



完成安装

重启计算服务
  1. service nova-api restart
  2. service nova-cert restart
  3. service nova-consoleauth restart
  4. service nova-scheduler restart
  5. service nova-conductor restart
  6. service nova-novncproxy restart
复制代码


如果存在SQLite 数据库,则删除
  1. rm -f /var/lib/nova/nova.sqlite
复制代码




安装配置计算hypervisor 组件[计算节点]

1.安装包
  1. apt-get install nova-compute sysfsutils
复制代码


2.编辑文件 /etc/nova/nova.conf,完成下面内容

a.在[DEFAULT]部分,配置RabbitMQ 消息代理访问

  1. [DEFAULT]
  2. ...
  3. rpc_backend = rabbit
  4. rabbit_host = controller
  5. rabbit_password = RABBIT_PASS
复制代码
b.在 [DEFAULT] 和 [keystone_authtoken] 部分,配置认证服务访问

  1. [DEFAULT]
  2. ...
  3. auth_strategy = keystone
  4. [keystone_authtoken]
  5. ...
  6. auth_uri = http://controller:5000/v2.0
  7. identity_uri = http://controller:35357
  8. admin_tenant_name = service
  9. admin_user = nova
  10. admin_password = NOVA_PASS
复制代码
注意:注释掉其它 auth_host, auth_port, 和 auth_protocol ,因为identity_uri 已经配置

c.在 [DEFAULT]部分配置,配置计算节点管理网络ip地址,my_ip 选项
  1. [DEFAULT]
  2. ...
  3. my_ip = 10.0.0.31
复制代码


(这里不要配置成控制节点管理网络ip地址)

d.在 [DEFAULT]部分,启用配置远程访问
格式:
  1. [DEFAULT]
  2. ...
  3. vnc_enabled = True
  4. vncserver_listen = 0.0.0.0
  5. vncserver_proxyclient_address = MANAGEMENT_INTERFACE_IP_ADDRESS
  6. novncproxy_base_url = http://controller:6080/vnc_auto.html
复制代码


MANAGEMENT_INTERFACE_IP_ADDRESS替换为计算节点管理网络ip地址,即为
  1. [DEFAULT]
  2. ...
  3. vnc_enabled = True
  4. vncserver_listen = 0.0.0.0
  5. vncserver_proxyclient_address = 10.0.0.31
  6. novncproxy_base_url = http://controller:6080/vnc_auto.html
复制代码


这个服务组件侦听所有IP地址,代理组件仅监听计算节点管理网络ip地址。novncproxy_base_url表示的是你可以通过浏览器远程访问计算节点产生的实例控制台【也就是我们自己启动的虚拟机】
值得注意的是:
controller必须配置hosts,如果没有配置,可以通过ip地址。

e.在 [glance]部分,配置Image 服务的host
  1. [glance]
  2. ...
  3. host = controller
复制代码

f.为排除故障,在[DEFAULT]部分,启用详细日志记录
  1. [DEFAULT]
  2. ...
  3. verbose = True
复制代码


完成安装

1.通过下面命令,测试是否支持虚拟机硬件加速
  1. egrep -c '(vmx|svm)' /proc/cpuinfo
复制代码
如果输出的不是0,那么不需要额外配置
如果输出的是0.则使用QEMU 代替KVM

编辑文件/etc/nova/nova-compute.conf,在 [libvirt]部分,修改如下
  1. [libvirt]
  2. ...
  3. virt_type = qemu
复制代码


2.重启计算服务

  1. service nova-compute restart
复制代码

3.如果存在SQLite 数据库,则删除
  1. rm -f /var/lib/nova/nova.sqlite
复制代码


核实操作

注意在控制节点执行

1.生效环境变量
  1. source admin-openrc.sh
复制代码


2.列出创建成功的组件进程

  1. nova service-list
复制代码


其中四个组件在控制节点,一个组件在计算节点
1.png


注意:
在创建实例之前,一定要查看上述服务是否正常,否则会造成虚拟机创建错误,比如实例获取不到ip地址,状态出现error等,这些进程起着非常重要的作用
如果遇到没有启动,可以执行下面命令
  1. service nova-api restart
  2. service nova-cert restart
  3. service nova-consoleauth restart
  4. service nova-scheduler restart
  5. service nova-conductor restart
  6. service nova-novncproxy restart
复制代码


3.列出镜像服务目录
  1. nova image-list
复制代码
+--------------------------------------+---------------------+--------+--------------------------------------+
| ID                                                                | Name                     | Status   | Server             |
+--------------------------------------+---------------------+--------+--------------------------------------+
| 9ec0ceec-0629-406a-9069-159a8b59ea78 | cirros-0.3.3-x86_64 | ACTIVE |                       |
+--------------------------------------+---------------------+--------+--------------------------------------+


2.png

这里多出一个,是因为后面做了镜像快照









相关内容:

openstack【juno】入门 【准备篇】零:整体介绍

openstack【juno】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)

openstack【juno】入门 【准备篇】二::NTP安装

openstack【juno】入门 【准备篇】三:mysql(MariaDB)安装

openstack【juno】入门 【准备篇】四::RabbitMQ 安装

openstack【juno】入门 【keystone篇】五::Keystone部署及介绍

openstack【juno】入门 【keystone篇】六::Keystone使用及遇到问题解决办法

openstack【juno】入门 【keystone篇】七:创建 service entity 和 API endpoint

openstack【juno】入门 【keystone篇】八:新手操作篇(验证操作篇)

openstack【juno】入门 【keystone篇】九:创建openstack客户端环境变量脚本

openstack【juno】入门 【glance 篇】十:glance初步介绍

openstack【juno】入门 【glance 篇】十一:glance安装配置

openstack【juno】入门 【glance 篇】十二:glance安装配置验证及相关操作

openstack【juno】入门 【nova 篇】十三(1):nova简单介绍

openstack【juno】入门 【nova 篇】十三(2):安装配置计算服务

openstack【juno】入门 【网络篇】十四:neutron介绍

openstack【juno】入门 【网络篇】十五:neutron安装部署(控制节点)

openstack【juno】入门 【网络篇】十六:neutron安装部署(网络节点)

openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)

openstack【juno】入门 【网络篇】十八:创建实例化网络

openstack【juno】入门 【dashboard篇】十九:添加dashboard

openstack【juno】入门 【cinder篇】二十:cinder介绍及安装配置【控制节点】

openstack【juno】入门 【cinder篇】二十一:安装配置块存储节点(cinder)

openstack【juno】入门 【swift篇】二十二:对象存储安装配置【控制节点】

openstack【juno】入门 【swift篇】二十三:安装配置swift节点

openstack【juno】入门 【swift篇】二十四:创建初始rings

openstack【juno】入门 【swift篇】二十五:验证安装(控制节点)

openstack【juno】入门 【实例篇】二十六:创建实例(neutron)

openstack【juno】入门 【总结篇】二十七:openstack排除故障及常见问题记录

openstack【juno】入门 【总结篇】二十八:keystone及网络总结





已有(51)人评论

跳转到指定楼层
jxy147258 发表于 2015-4-29 19:34:01
jxy147258 发表于 2015-4-29 19:22
我第一遍是上面的那个结果,
第二遍是这个结果
stop/waiting

哦,谢谢你了。
回复

使用道具 举报

zhenxianbo 发表于 2015-3-9 16:23:19
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

pig2 发表于 2015-11-5 17:28:22
xiaoyu 发表于 2015-11-5 17:26
服务安装失败,是什么原因呢,可以具体说一说吗,一直没找到原因,谢谢啦

先学会看日志日志位置:/var/log/对应组件
初学建议有人指导或则多找些视频看看。

回复

使用道具 举报

xiaoyu 发表于 2015-11-5 17:26:26
xiaoyu 发表于 2015-11-4 20:33
运行了nova service-list之后出现

---------------+-----------------+

服务安装失败,是什么原因呢,可以具体说一说吗,一直没找到原因,谢谢啦
回复

使用道具 举报

xiaoyu 发表于 2015-11-5 17:24:58
xiaoyu 发表于 2015-11-4 20:33
运行了nova service-list之后出现

---------------+-----------------+

请问安装失败了是什么原因呢,一直没找到在哪里出错了,能具体说一下吗,谢谢
回复

使用道具 举报

bob007 发表于 2015-11-4 20:41:15
xiaoyu 发表于 2015-11-4 20:33
运行了nova service-list之后出现

---------------+-----------------+

如果不熟悉,建议看些视频

about云1 openstack--keystone入门视频
http://www.aboutyun.com/thread-12235-1-1.html



回复

使用道具 举报

xiaoyu 发表于 2015-11-4 20:33:30
运行了nova service-list之后出现

---------------+-----------------+
| Id | Binary           | Host       | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-cert        | ubuntu     | internal | enabled | down  | 2015-11-04T02:12:04.000000 | -               |
| 2  | nova-consoleauth | ubuntu     | internal | enabled | down  | 2015-11-04T06:52:49.000000 | -               |
| 3  | nova-scheduler   | ubuntu     | internal | enabled | down  | 2015-11-04T02:12:20.000000 | -               |
| 4  | nova-conductor   | ubuntu     | internal | enabled | down  | 2015-11-04T02:12:27.000000 | -               |
| 5  | nova-cert        | controller | internal | enabled | down  | 2015-11-04T02:15:48.000000 | -               |
| 6  | nova-consoleauth | controller | internal | enabled | down  | 2015-11-04T02:15:46.000000 | -               |
| 7  | nova-scheduler   | controller | internal | enabled | down  | 2015-11-04T02:15:45.000000 | -               |
| 8  | nova-conductor   | controller | internal | enabled | down  | 2015-11-04T02:15:43.000000 | -               |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
多出现了4个host是ubuntu的service,但是缺少了compute  的service
请问有知道是什么原因的吗?
或者知道怎么删除多的host吗?
回复

使用道具 举报

zhangli0912 发表于 2015-9-9 10:07:33
请问大神,有没有整理过出现错误如何查看日志呢?比如如何查看看三层插件的日志?
回复

使用道具 举报

小娟子ava 发表于 2015-8-20 07:34:13
当我在controller上运行 service nova-api restart 时
显示nova-apistart-stop-daemon: failed to kill 4332: no such process。。。
请问是什么问题啊。。。
回复

使用道具 举报

青青家园 发表于 2015-6-20 14:49:10
嘿嘿,这次是更新了一下,就OK了。
回复

使用道具 举报

青青家园 发表于 2015-6-20 14:41:08
请问我在计算节点安装apt-get install nova-compute sysfsutils时提示:
Err http://ubuntu-cloud.archive.canonical.com/ubuntu/ trusty-updates/juno/main python-eventlet all 0.13.0-1ubuntu3.2~cloud0
  404  Not Found [IP: 91.189.92.152 80]
E: Failed to fetch http://ubuntu-cloud.archive.cano ... u3.2~cloud0_all.deb  404  Not Found [IP: 91.189.92.152 80]

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing


这次重启系统无效了,请问怎么处理呀,谢谢!!



全部信息如下:

root@comput:~# apt-get install nova-compute sysfsutils
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  acl alembic augeas-lenses bridge-utils cgroup-lite cpu-checker dnsmasq-base
  ebtables genisoimage ieee-data iproute ipxe-qemu kpartx libaio1 libasound2
  libasound2-data libasyncns0 libaugeas0 libavahi-client3 libavahi-common-data
  libavahi-common3 libbluetooth3 libboost-system1.54.0 libboost-thread1.54.0
  libbrlapi0.6 libcaca0 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfdt1
  libflac8 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgmp10
  libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore
  libllvm3.4 libmnl0 libmysqlclient18 libnetcf1 libnetfilter-conntrack3
  libnl-route-3-200 libnspr4 libnss3 libnss3-nssdb libogg0 libpciaccess0
  libpixman-1-0 libpulse0 librabbitmq1 librados2 librbd1 libsdl1.2debian
  libseccomp2 libsndfile1 libspice-server1 libsysfs2 libtxc-dxtn-s2tc0
  libusbredirparser1 libvirt-bin libvirt0 libvorbis0a libvorbisenc2
  libx11-xcb1 libx86-1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0
  libxcb-sync1 libxdamage1 libxen-4.4 libxenstore3.0 libxfixes3 libxml2-utils
  libxshmfence1 libxslt1.1 libxxf86vm1 libyajl2 libyaml-0-2 msr-tools
  mysql-common nova-common nova-compute-kvm nova-compute-libvirt open-iscsi
  pm-utils python-alembic python-amqp python-amqplib python-anyjson
  python-babel python-babel-localedata python-boto python-cinderclient
  python-cliff python-cliff-doc python-cmd2 python-crypto python-decorator
  python-dns python-dogpile.cache python-dogpile.core python-ecdsa
  python-eventlet python-formencode python-glanceclient python-greenlet
  python-httplib2 python-iso8601 python-jinja2 python-json-patch
  python-json-pointer python-jsonpatch python-jsonschema python-keystone
  python-keystoneclient python-keystonemiddleware python-kombu python-ldap
  python-ldappool python-librabbitmq python-libvirt python-lockfile
  python-lxml python-m2crypto python-mako python-markupsafe python-migrate
  python-mock python-mysqldb python-netaddr python-neutronclient python-nova
  python-oauthlib python-openid python-oslo.config python-oslo.db
  python-oslo.i18n python-oslo.messaging python-oslo.rootwrap
  python-oslo.serialization python-oslo.utils python-oslo.vmware
  python-paramiko python-passlib python-paste python-pastedeploy
  python-pastedeploy-tpl python-pastescript python-pbr python-posix-ipc
  python-prettytable python-pyasn1 python-pycadf python-pyparsing
  python-repoze.lru python-rfc3986 python-routes python-scgi python-setuptools
  python-simplejson python-sqlalchemy python-sqlalchemy-ext python-stevedore
  python-suds python-tempita python-tz python-warlock python-webob python-yaml
  qemu-keymaps qemu-system qemu-system-arm qemu-system-common qemu-system-mips
  qemu-system-misc qemu-system-ppc qemu-system-sparc qemu-system-x86
  qemu-utils seabios sharutils vbetool vlan
Suggested packages:
  python3-alembic augeas-doc wodim cdrkit-doc libasound2-plugins alsa-utils
  augeas-tools libglide3 javascript-common pulseaudio qemu-kvm qemu radvd lvm2
  guestmount multipath-tools sg3-utils cpufrequtils radeontool python-amqp-doc
  python-amqplib-doc python-crypto-dbg python-crypto-doc
  python-egenix-mxdatetime python-greenlet-doc python-greenlet-dev
  python-greenlet-dbg python-jinja2-doc python-memcache python-beanstalkc
  python-django python-kombu-doc python-pika python-pymongo python-ldap-doc
  python-lxml-dbg python-beaker python-mako-doc python-mock-doc
  mysql-server-5.1 mysql-server python-mysqldb-dbg ipython python-netaddr-docs
  python-pastewebkit libjs-mochikit libapache2-mod-wsgi libapache2-mod-python
  libapache2-mod-scgi python-pgsql python-flup python-cherrypy python-cheetah
  doc-base python-sqlalchemy-doc python-psycopg2 python-kinterbasdb
  python-pymssql python-webob-doc samba vde2 openbios-ppc openhackware
  qemu-slof sgabios kvm-ipxe-precise debootstrap bsd-mailx mailx
The following NEW packages will be installed:
  acl alembic augeas-lenses bridge-utils cgroup-lite cpu-checker dnsmasq-base
  ebtables genisoimage ieee-data iproute ipxe-qemu kpartx libaio1 libasound2
  libasound2-data libasyncns0 libaugeas0 libavahi-client3 libavahi-common-data
  libavahi-common3 libbluetooth3 libboost-system1.54.0 libboost-thread1.54.0
  libbrlapi0.6 libcaca0 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfdt1
  libflac8 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgmp10
  libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore
  libllvm3.4 libmnl0 libmysqlclient18 libnetcf1 libnetfilter-conntrack3
  libnl-route-3-200 libnspr4 libnss3 libnss3-nssdb libogg0 libpciaccess0
  libpixman-1-0 libpulse0 librabbitmq1 librados2 librbd1 libsdl1.2debian
  libseccomp2 libsndfile1 libspice-server1 libsysfs2 libtxc-dxtn-s2tc0
  libusbredirparser1 libvirt-bin libvirt0 libvorbis0a libvorbisenc2
  libx11-xcb1 libx86-1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0
  libxcb-sync1 libxdamage1 libxen-4.4 libxenstore3.0 libxfixes3 libxml2-utils
  libxshmfence1 libxslt1.1 libxxf86vm1 libyajl2 libyaml-0-2 msr-tools
  mysql-common nova-common nova-compute nova-compute-kvm nova-compute-libvirt
  open-iscsi pm-utils python-alembic python-amqp python-amqplib python-anyjson
  python-babel python-babel-localedata python-boto python-cinderclient
  python-cliff python-cliff-doc python-cmd2 python-crypto python-decorator
  python-dns python-dogpile.cache python-dogpile.core python-ecdsa
  python-eventlet python-formencode python-glanceclient python-greenlet
  python-httplib2 python-iso8601 python-jinja2 python-json-patch
  python-json-pointer python-jsonpatch python-jsonschema python-keystone
  python-keystoneclient python-keystonemiddleware python-kombu python-ldap
  python-ldappool python-librabbitmq python-libvirt python-lockfile
  python-lxml python-m2crypto python-mako python-markupsafe python-migrate
  python-mock python-mysqldb python-netaddr python-neutronclient python-nova
  python-oauthlib python-openid python-oslo.config python-oslo.db
  python-oslo.i18n python-oslo.messaging python-oslo.rootwrap
  python-oslo.serialization python-oslo.utils python-oslo.vmware
  python-paramiko python-passlib python-paste python-pastedeploy
  python-pastedeploy-tpl python-pastescript python-pbr python-posix-ipc
  python-prettytable python-pyasn1 python-pycadf python-pyparsing
  python-repoze.lru python-rfc3986 python-routes python-scgi python-setuptools
  python-simplejson python-sqlalchemy python-sqlalchemy-ext python-stevedore
  python-suds python-tempita python-tz python-warlock python-webob python-yaml
  qemu-keymaps qemu-system qemu-system-arm qemu-system-common qemu-system-mips
  qemu-system-misc qemu-system-ppc qemu-system-sparc qemu-system-x86
  qemu-utils seabios sharutils sysfsutils vbetool vlan
0 upgraded, 191 newly installed, 0 to remove and 0 not upgraded.
Need to get 202 kB/52.6 MB of archives.
After this operation, 327 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Err http://ubuntu-cloud.archive.canonical.com/ubuntu/ trusty-updates/juno/main python-eventlet all 0.13.0-1ubuntu3.2~cloud0
  404  Not Found [IP: 91.189.92.152 80]
E: Failed to fetch http://ubuntu-cloud.archive.cano ... u3.2~cloud0_all.deb  404  Not Found [IP: 91.189.92.152 80]

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing
回复

使用道具 举报

1234下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条