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=32192.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