分享

openstack【juno】入门 【nova 篇】十四:nova部署

本帖最后由 pig2 于 2015-2-4 15:16 编辑
问题导读
1.nova部署在几个节点上?
2.如何部署配置多个计算节点?
3.openstack安装包,是否每个节点都需要安装?






接上篇openstack【juno】入门 【nova 篇】十三:nova简单介绍


控制节点安装

安装准备

在安装之前,先创建数据库,认证,api endpoints
创建数据库

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


b.创建数据库

  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';
复制代码


认证

  1. source admin-openrc.sh
复制代码
1.png


创建nova用户

a.创建nova user
  1. keystone user-create --name nova --pass NOVA_PASS
复制代码

1.png

b.给nova user添加admin 角色
  1. keystone user-role-add --user nova --tenant service --role admin
复制代码

没有任何输出


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

2.png


创建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
复制代码

3.png


安装配置nova组件


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.修改配置文件
  1. [database]
  2. ...
  3. connection = mysql://nova:NOVA_DBPASS@controller/nova
复制代码
发现没有[database],直接添加上面内容


b.配置RabbitMQ
  1. [DEFAULT]
  2. ...
  3. rpc_backend = rabbit
  4. rabbit_host = controller
  5. rabbit_password = RABBIT_PASS
复制代码
注意:与前面安装rabbit_password密码保持一致

c.在 [DEFAULT] and [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
复制代码


发现没有[keystone_authtoken],直接添加。

d.配置controller节点ip

  1. [DEFAULT]
  2. ...
  3. my_ip = 10.0.0.11
复制代码



e.在控制节点管理网络ip地址, [DEFAULT] 部分,配置 VNC proxy
  1. vncserver_listen = 10.0.0.11
  2. vncserver_proxyclient_address = 10.0.0.11
复制代码



f.配置  [glance] 部分

  1. [glance]
  2. ...
  3. host = controller
复制代码
发现没有,直接添加了

g.可选, 帮助排除问题

  1. [DEFAULT]
  2. ...
  3. verbose = True
复制代码



同步nova数据库:
  1. su -s /bin/sh -c "nova-manage db sync" nova
复制代码
记得使用root用户。

重启 Compute services:

  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
复制代码


Ubuntu 包 默认创建 SQLite database.可以移除
  1. rm -f /var/lib/nova/nova.sqlite
复制代码


贴出整个配置:
  1. [DEFAULT]
  2. dhcpbridge_flagfile=/etc/nova/nova.conf
  3. dhcpbridge=/usr/bin/nova-dhcpbridge
  4. logdir=/var/log/nova
  5. state_path=/var/lib/nova
  6. lock_path=/var/lock/nova
  7. force_dhcp_release=True
  8. libvirt_use_virtio_for_bridges=True
  9. verbose=True
  10. ec2_private_dns_show_ip=True
  11. api_paste_config=/etc/nova/api-paste.ini
  12. enabled_apis=ec2,osapi_compute,metadata
  13. rpc_backend = rabbit
  14. rabbit_host = controller
  15. rabbit_password = RABBIT_PASS
  16. auth_strategy = keystone
  17. my_ip = 10.0.0.11
  18. vncserver_listen = 10.0.0.11
  19. vncserver_proxyclient_address = 10.0.0.11
  20. verbose = True
  21. [database]
  22. connection = mysql://nova:NOVA_DBPASS@controller/nova
  23. [keystone_authtoken]
  24. auth_uri = http://controller:5000/v2.0
  25. identity_uri = http://controller:35357
  26. admin_tenant_name = service
  27. admin_user = nova
  28. admin_password = NOVA_PASS
复制代码







计算节点安装


本节介绍如何在计算节点上安装、配置计算服务(nova),这个服务支持多种hypervisors部署实例或则VMs。为了简单起见,使用 QEMU KVM hypervisor 。
说明:这一部分按照说明一步步配置第一个计算节点,如果你想配置额外的计算节点,与第一个计算节点一样,无论是网络,还是ntp,及openstack包

(特别是openstack包

  1. apt-get install ubuntu-cloud-keyring
复制代码

  1. echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \
  2. "trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list
复制代码

  1. apt-get update && apt-get dist-upgrade
复制代码







如果使用nova network,其它节点也是使用这种网络模式,另外其它节点,需要唯一的独立ip。

安装配置  Compute hypervisor 组件

下载 并安装
  1. apt-get install nova-compute sysfsutils
复制代码

修改配置文件
  1. sudo nano  /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
复制代码

c.在默认部分配置ip

  1. [DEFAULT]
  2. ...
  3. my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
复制代码

此为在计算节点的网络管理ip地址,这里ip填写,替换如下
  1. [DEFAULT]
  2. ...
  3. my_ip = 10.0.0.31
复制代码

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
复制代码

上面进行替换为管理网络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地址,url表示本地可以通过浏览器访问远程计算节点上的实例
MANAGEMENT_INTERFACE_IP_ADDRESS是计算节点上的管理网络ip地址,这里为 10.0.0.31

注意:

通过浏览器远程访问,如果不能解析controller,你必须替换控制节点(controller)管理网络ip地址

e.在glance部分,配置Image Service所在节点
  1. [glance]
  2. ...
  3. host = controller
复制代码


f.可选,主要帮助排除问题
  1. [DEFAULT]
  2. ...
  3. verbose = True
复制代码


配置,配置文件如下
  1. [DEFAULT]
  2. dhcpbridge_flagfile=/etc/nova/nova.conf
  3. dhcpbridge=/usr/bin/nova-dhcpbridge
  4. logdir=/var/log/nova
  5. state_path=/var/lib/nova
  6. lock_path=/var/lock/nova
  7. force_dhcp_release=True
  8. libvirt_use_virtio_for_bridges=True
  9. verbose=True
  10. ec2_private_dns_show_ip=True
  11. api_paste_config=/etc/nova/api-paste.ini
  12. enabled_apis=ec2,osapi_compute,metadata
  13. rpc_backend = rabbit
  14. rabbit_host = controller
  15. rabbit_password = RABBIT_PASS
  16. auth_strategy = keystone
  17. my_ip = 10.0.0.31
  18. vnc_enabled = True
  19. vncserver_listen = 0.0.0.0
  20. vncserver_proxyclient_address =  10.0.0.31
  21. novncproxy_base_url = http://controller:6080/vnc_auto.html
  22. verbose = True
  23. [keystone_authtoken]
  24. auth_uri = http://controller:5000/v2.0
  25. identity_uri = http://controller:35357
  26. admin_tenant_name = service
  27. admin_user = nova
  28. admin_password = NOVA_PASS
  29. [glance]
  30. host = controller
复制代码


1.png




完成安装

1.确定你得计算节点,是否支持虚拟机硬件加速

  1. egrep -c '(vmx|svm)' /proc/cpuinfo
复制代码

如果该命令返回一个值的一个或更多,你的计算节点支持硬件加速,通常不需要额外的配置。

如果该命令返回一个值为零,你的计算节点不支持硬件加速,您必须配置libvirt使用QEMU代替KVM。

a.在  /etc/nova/nova-compute.conf 文件编辑 [libvirt] 部分

  1. [libvirt]
  2. ...
  3. virt_type = qemu
复制代码
2.png



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. +----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
  2. | Id | Binary           | Host       | Zone     | Status  | State | Updated_at                 | Disabled Reason |
  3. +----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
  4. | 1  | nova-cert        | controller | internal | enabled | up    | 2015-02-04T07:03:03.000000 | -               |
  5. | 2  | nova-consoleauth | controller | internal | enabled | up    | 2015-02-04T07:03:03.000000 | -               |
  6. | 3  | nova-scheduler   | controller | internal | enabled | up    | 2015-02-04T07:03:00.000000 | -               |
  7. | 4  | nova-conductor   | controller | internal | enabled | up    | 2015-02-04T07:03:03.000000 | -               |
  8. | 5  | nova-compute     | compute    | nova     | enabled | up    | 2015-02-04T07:03:03.000000 | -               |
  9. +----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
复制代码
1.png

注意:
四个进程指向控制节点,一个在计算节点

3.查看img服务列表

  1. nova image-list
复制代码

2.png








已有(3)人评论

跳转到指定楼层
louislau318 发表于 2015-2-5 10:54:36
回复

使用道具 举报

猪八 发表于 2015-2-5 23:19:11
回复

使用道具 举报

pig2 发表于 2015-2-5 23:26:55
猪八 发表于 2015-2-5 23:19
问题导读中的3个问题貌似都没有说啊


这个在文中都体现了:

1.nova部署在几个节点上?
nova本文安装在了控制节点和计算节点。
2.如何部署配置多个计算节点?
如果部署多个计算节点,配置都是差不多的,也有所不同,比如ip地址需要修改。
3.openstack安装包,是否每个节点都需要安装?

对于安装openstack的节点,都需要安装openstack包,否则组件即使安装成功了,也会出错


回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条