您的位置:首页 > 运维架构

OpenStack 最小化安装配置(七):Nova服务配置

2014-12-21 21:32 531 查看
搞定了镜像,认证服务,数据库,接下来就到了整个平台综合性的配置。就是Nova几乎跟所有组件都打交道了。Nova的IP为192.168.137.106 内部通信的IP 为192.168.1.106

首先要做的安装服务。

安装脚本如下:

apt-get update
apt-get install -y nova-api nova-cert nova-common nova-conductor nova-consoleauth nova-novncproxy nova-scheduler \
python-nova python-keystone python-glance python-mysqldb python-novaclient novnc


一般的我们的服务器需要装上ntp服务器,用来时间同步。云平台管理节点的多个服务如果时间相差很大可能会导致无法相互间访问的现象。最好要装上ntp

apt-get install -y ntp


同步时间

ntpdate 210.72.145.44


平时如果服务间无法通信应该要想到可能是时间没有同步,相差太大造成。

好了接下来又是最讨厌的修改配置文件的时间.这个过程虽然难受不过成功了之后确实很爽。

首先需要修改的配置文件/etc/nova/api-paste.ini

添加认证身份信息。

[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
auth_host = 192.168.1.104
auth_port = 35357
auth_protocol = http
admin_tenant_name = serviceTenant
admin_user = nova
admin_password = Nova_Pass
signing_dir = /tmp/keystone-signing-nova

auth_version = v2.0


接下来修改/etc/nova/nova.conf配置文件。由于要修改的太多我直接附上我的配置文件。并加上注释

[DEFAULT]
#debug=True
#基本设置
logdir = /var/log/nova
state_path = /var/lib/nova
lock_path = /var/lib/nova/tmp
verbose=True
libvirt_type = kvm
#volumes_dir = /etc/nova/volumes
#iscsi_helper = tgtadm
#connect to mysql
#设置数据库连接可以访问数据库
sql_connection = mysql://novaUser:novaPass@192.168.1.102:3306/nova
#rpc_backend = nova.openstack.common.rpc.impl_qpid
rootwrap_config = /etc/nova/rootwrap.conf
#my_ip=192.168.137.104
#instances_path=/state/partition1/openstack/instance

#Image Service
#用来管理镜像服务器
glance_api_servers=192.168.1.105:9292
image_server=nova.image.glance.GlanceImageService

#RabbitMQ
#通讯节点
compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
rabbit_host=192.168.1.103
rabbit_port=5672
rabbit_userid=guest
rabbit_password=myrabbitmqpassword
api_paste_config=/etc/nova/api-paste.ini

#NETWORK
#网络节点
dhcpbridge = /usr/bin/nova-dhcpbridge
dhcpbridge_flagfile = /etc/nova/nova.conf
force_dhcp_release = True
#libvirt_inject_partition = -1
#injected_network_template = /usr/share/nova/interfaces.template
#libvirt_nonblocking = True
#防火墙组件
firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver
#网络管理组件
network_manager = nova.network.manager.FlatDHCPManager

#网段设置
fixed_range=192.168.100.0/24
#计算节点的网桥
flat_network_bridge = br100
public_interface=eth3
#计算节点的内部网络接口
flat_interface=eth2
#网段启始ip
flat_network_dhcp_start=192.168.100.2
#
floating_range=60.12.206.32/27
network_size = 1
multi_host = true
#enabled_apis=metadata

#VNC
#设置vnc服务
novnc_enabled=true
novncproxy_base_url=http://192.168.1.106:6080/vnc_auto.html
novncproxy_port = 6080
vncserver_proxyclient_address = 192.168.137.106
vncserver_listen = 0.0.0.0

#AUTH
auth_strategy = keystone
#Must Have
#这个我试过用来认证如果没有将没法认证Keystone服务也无法启动
[keystone_authtoken]
admin_tenant_name = serviceTenant
admin_user = nova
admin_password = Nova_Pass
auth_host = 192.168.1.104
auth_port = 35357
auth_protocol = http
signing_dir = /tmp/keystone-signing-nova

#Compute
compute_driver = libvirt.LibvirtDriver


接下来进行数据库同步

nova-manage db sync


确保nova用户对/etc/nova /var/lib/nova有完全的权限

chown -R nova:nova /etc/nova
chown -R nova:nova /var/lib/nova
如果权限不对可能会有问题。

最后重启服务。为了方便我写在脚本里。

restart_nova.sh

service nova-api restart
service nova-cert restart
service nova-conductor restart
service nova-consoleauth restart
service nova-novncproxy restart
service nova-scheduler restart


测试一下功能。
nova list


这时候又会出现之前的问题。

ERROR: You must provide a username via either --os-username or env[OS_USERNAME]


导入类似的脚本export_nova.sh

export OS_TENANT_NAME=serviceTenant
export OS_USERNAME=nova
export OS_PASSWORD=Nova_Pass
export OS_AUTH_URL=http://192.168.1.104:35357/v2.0


再次运行
nova list



成功的样子就是这样。这样我们的Nova服务大功告成。接下来要配置的就是管理界面了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: