OpenStack多节点部署(五)——Nova

OpenStack多节点部署(一)——服务器选型

OpenStack多节点部署(二)——操作系统安装

OpenStack多节点部署(三)——网络配置

OpenStack多节点部署(四)——KeyStone

OpenStack多节点部署(五)——Nova

OpenStack多节点部署(六)——glance


这章将为大家介绍OpenStack最重要的核心组件,虚拟机管理组件Nova的安装部署。虽然是最重要的组件,但是因为包装的非常完整,所以如果前面的网络配置和KeyStone部署都正确完成的话,Nova组件的安装是非常简单的。

首先安装Nova组件

sudo apt-get install nova-api nova-cert nova-compute nova-compute-kvm nova-doc nova-network nova-objectstore nova-scheduler nova-volume rabbitmq-server novnc nova-consoleauth

2013-02-21 修改

OpenStack服务器节点迁移(修改IP)后引发的nova-compute不启动 由于这篇文章提到的遇到服务器搬迁外网地址需要修改等问题,导致nova不能启动,这里在nova.conf中增加--iscsi_ip_address=192.168.3.1,这样系统创建的volume都会指向内网IP,避免类似的错误。

修改节点的/etc/nova/nova.conf配置文件

--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--allow_admin_api=true
--use_deprecated_auth=false
--auth_strategy=keystone
--scheduler_driver=nova.scheduler.simple.SimpleScheduler
--s3_host=192.168.3.1
--ec2_host=192.168.3.1
--rabbit_host=192.168.3.1
--cc_host=192.168.3.1
--nova_url=http://192.168.3.1:8774/v1.1/
--routing_source_ip=192.168.3.1
--glance_api_servers=192.168.3.1:9292
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.4
--iscsi_ip_address=192.168.3.1
--sql_connection=mysql://novadbadmin:[email protected]/nova
--ec2_url=http://192.168.3.1:8773/services/Cloud
--keystone_ec2_url=http://192.168.3.1:5000/v2.0/ec2tokens
--api_paste_config=/etc/nova/api-paste.ini
--libvirt_type=kvm
--libvirt_use_virtio_for_bridges=true
--start_guests_on_host_boot=true
--resume_guests_state_on_host_boot=true
# VNC specific configuration
--novnc_enabled=true
--novncproxy_base_url=http://10.2.15.3:6080/vnc_auto.html
--vncserver_proxyclient_address=10.2.15.3
--vncserver_listen=10.2.15.3
# network specific settings
--network_manager=nova.network.manager.FlatDHCPManager
--public_interface=eth0
--flat_interface=eth1
--flat_network_bridge=br100
--fixed_range=192.168.4.1/27
--floating_range=10.2.15.254/25
--network_size=32
--flat_network_dhcp_start=192.168.4.33
--flat_injected=False
--force_dhcp_release
--iscsi_helper=tgtadm
--connection_type=libvirt
--root_helper=sudo nova-rootwrap
--verbose

配置文件中需要注意的是各服务访问的IP地址,OpenStack多节点部署(三)——网络配置中介绍过,我的控制节点有两个IP,一个是OpenStack系统内网IP 192.168.3.1,另一个是公司内部可访问Internet的IP 10.2.15.3。这里推荐将服务IP写成内网IP 192.168.3.1,这样如果控制节点搬迁,或者公司10网段IP变更,那么我们的配置文件可以不动。

但是要注意的是

--novncproxy_base_url=http://10.2.15.3:6080/vnc_auto.html
--vncserver_proxyclient_address=10.2.15.3

这两个VNC参数的IP要为公司内部网络10网段的IP,因为这个必须是从服务器系统外围能访问的IP。

配置文件参数详解可参见bk-compute-adminguide-essex.pdf

之后为Nova-volume服务创建独立的逻辑卷

sudo pvcreate /dev/sda6

这里将/dev/sda6为你之前格式化为LVM的分区

创建名为nova-volumes的卷组

sudo vgcreate nova-volumes /dev/sda6
修改配置文件权限
sudo chown -R nova:nova /etc/nova
sudo chmod 644 /etc/nova/nova.conf
修改/etc/nova/api-paste.ini,填写nova服务在keystone注册的用户名密码
sed -i '/admin_tenant_name/ s/%SERVICE_TENANT_NAME%/service/' /etc/nova/api-paste.ini
sed -i '/admin_user/ s/%SERVICE_USER%/nova/' /etc/nova/api-paste.ini
sed -i '/admin_password/ s/%SERVICE_PASSWORD%/nova/' /etc/nova/api-paste.ini
同步数据库

sudo nova-manage db sync
创建虚拟机所在的Fixed_ip的ip地址段

sudo nova-manage network create private --fixed_range_v4=192.168.4.32/27 --num_networks=1 --bridge=br100 --bridge_interface=eth1 --network_size=32
192.168.4.32/27表示IP段从32开始,并且子网掩码为前27位为1

写入环境变量

export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL="http://192.168.3.1:5000/v2.0/"
最后重启各服务

sudo restart libvirt-bin; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart nova-consoleauth;

再增加计算节点只需要安装nova-compute

sudo apt-get install nova-compute
修改计算节点的配置文件

--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/run/lock/nova
--allow_admin_api=true
--use_deprecated_auth=false
--auth_strategy=keystone
--scheduler_driver=nova.scheduler.simple.SimpleScheduler
--s3_host=192.168.3.1
--ec2_host=192.168.3.1
--rabbit_host=192.168.3.1
--cc_host=192.168.3.1
--nova_url=http://192.168.3.1:8774/v1.1/
--routing_source_ip=192.168.3.1
--glance_api_servers=192.168.3.1:9292
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.4
--sql_connection=mysql://novadbadmin:[email protected]/nova
--ec2_url=http://192.168.3.1:8773/services/Cloud
--keystone_ec2_url=http://192.168.3.1:5000/v2.0/ec2tokens
--api_paste_config=/etc/nova/api-paste.ini
--libvirt_type=kvm
--libvirt_use_virtio_for_bridges=true
--start_guests_on_host_boot=true
--resume_guests_state_on_host_boot=true
# vnc specific configuration
--novnc_enabled=true
--novncproxy_base_url=http://10.2.15.3:6080/vnc_auto.html
--vncserver_proxyclient_address=10.2.15.4
--vncserver_listen=10.2.15.4
# network specific settings
--network_manager=nova.network.manager.FlatDHCPManager
--public_interface=eth0
--flat_interface=eth1
--flat_network_bridge=br100
--fixed_range=192.168.4.1/27
--floating_range=10.2.15.4/27
--network_size=32
--flat_network_dhcp_start=192.168.4.33
--flat_injected=False
--force_dhcp_release
--iscsi_helper=tgtadm
--connection_type=libvirt
--root_helper=sudo nova-rootwrap
--verbose
各计算节点间配置文件的不同点只有
--novncproxy_base_url=http://10.2.15.3:6080/vnc_auto.html
--vncserver_proxyclient_address=10.2.15.4

其IP为计算节点的IP

最后,查看是否各服务安装成功,各计算节点是否正常

sudo nova-manage service list


你可能感兴趣的:(openstack,nova)