前面都讲的是控制节点的安装,如果把控制节点当作领导的话,那么干活的就是计算节点,所以我们看到控制节点安装了很多组件,计算节点安装的组件就不是很多了。
部署对象:计算节点(192.168.3.181) Computer
一:基础安装
1、安装鼠标驱动(可选项)
sudo apt-get install gpm
2、安装远程连接服务
sudo apt-get install openssh-server
虽然在安装操作系统已经选择了ssh组件,但是建议覆盖安装一下。
3、更改python默认的字符集为utf8
sudo vi /usr/lib/python2.7/sitecustomize.py
添加如下内容
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
4、安装NTP服务包
sudo apt-get install ntp
编辑ntp.conf文件
sudo vi /etc/ntp.conf
更新如下内容
# Use Ubuntu's ntp server as a fallback.
server ntp.ubuntu.com
server 127.127.1.0
fudge 127.127.1.0 stratum 10
5、在/etc/hosts文件,添加IP与机器名的对应
sm@controller:~$ more /etc/hosts
127.0.0.1 localhost
192.168.3.180 computer
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
二、安装MySQL客户端
1) 安装数据库客户端
sudo apt-get install python-mysqldb
三、安装包
1、安装如下包
sudo apt-get install python-software-properties -y
2、如果在联网环境下,需要执行下载OpenStack的组件
#安装juno版本
sudo add-apt-repository cloud-archive:juno -y
#安装icehouse版本
sudo add-apt-repository cloud-archive:icehouse -y
但是好像目前在默认链接下载不了相关的icehouse版本,而且如果你使用ubuntu14.04版本,系统还会提示icehouse不支持ubuntu的 trusty,只支持ubuntu12.04的precise版本。所以如果你已经有源文件,无需执行这个操作,这也是我这个初学者在这块浪费了好长时间。
例如,我直接执行相关操作,会提示如下错误
sm@controller:~$ sudo add-apt-repository cloud-archive:icehouse
sudo: unable to resolve host controller
Ubuntu Cloud Archive for OpenStack Icehouse
More info: https://wiki.ubuntu.com/ServerTeam/CloudArchive
Press [ENTER] to continue or ctrl-c to cancel adding it
cloud-archive for Icehouse only supported on precise
如果执行了2步骤,建议重启一下相关的服务器。
四、在控制节点安装Nova
1. 安装计算节点软件包
sudo apt-get install nova-compute-kvm python-guestfs
2. 设置权限
1)运行命令*********************该命令无法正确实施
sudo dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)
2)创建文件/etc/kernel/postinst.d/statoverride
[ sudo vi /etc/kernel/postinst.d/statoverride ]
包含如下内容:
#!/bin/sh
version="$1"ssh
# passing the kernel version is required
[ -z "${version}" ] && exit 0
dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-${version}
3)使之可执行
sudo chmod +x /etc/kernel/postinst.d/statoverride
3. 编辑/etc/nova/nova.conf文件,设置数据库、消息服务及IP相关参数,
[ sudo vi /etc/nova/nova.conf ]
更新设置如下:
#-----------nova config1---------------------------------------
[database]
connection = mysql://novadbadmin:nova4smtest@192.168.3.180/nova
[DEFAULT]
rpc_backend = rabbit
rabbit_host = 192.168.3.180
rabbit_userid = guest
rabbit_password = mq4smtest
rabbit_port = 5672
# 按实际的计算节点IP地址填写
my_ip = 192.168.3.181
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 192.168.3.181
vnc_enabled = True
novncproxy_base_url = http://192.168.3.180:6080/vnc_auto.html
auth_strategy = keystone
glance_host = 192.168.3.180
[keystone_authtoken]
auth_uri = http://192.168.3.180:5000
auth_host = 192.168.3.180
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = nova4smtest
查看一下最终的nova.conf的信息
sm@computer:~$ sudo more /etc/nova/nova.conf
[sudo] password for sm:
[DEFAULT]
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
force_dhcp_release=True
iscsi_helper=tgtadm
libvirt_use_virtio_for_bridges=True
connection_type=libvirt
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
verbose=True
ec2_private_dns_show_ip=True
api_paste_config=/etc/nova/api-paste.ini
volumes_path=/var/lib/nova/volumes
enabled_apis=ec2,osapi_compute,metadata
rpc_backend = rabbit
rabbit_host = 192.168.3.180
rabbit_userid = guest
rabbit_password = mq4smtest
rabbit_port = 5672
my_ip = 192.168.3.181
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 192.168.3.181
vnc_enabled = True
novncproxy_base_url = http://192.168.3.180:6080/vnc_auto.html
auth_strategy = keystone
glance_host = 192.168.3.180
[keystone_authtoken]
auth_uri = http://192.168.3.180:5000
auth_host = 192.168.3.180
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = nova4smtest
[database]
connection = mysql://novadbadmin:nova4smtest@192.168.3.180/nova
4. 检查是否支持硬件加速
egrep -c '(vmx|svm)' /proc/cpuinfo
sm@computer:~$ egrep -c '(vmx|svm)' /proc/cpuinfo
0
如果返回0,则表明不支持硬件加速,需要编辑/etc/nova/nova-compute.conf,
[ sudo vi /etc/nova/nova-compute.conf ]
包含以下内容:
[libvirt]
virt_type = qemu
sm@computer:~$ sudo more /etc/nova/nova-compute.conf
[DEFAULT]
compute_driver=libvirt.LibvirtDriver
[libvirt]
virt_type=qemu
5. 删除SQLite数据库
sudo rm /var/lib/nova/nova.sqlite
6. 重启服务
sudo service nova-compute restart
sm@computer:~$ sudo service nova-compute restart
nova-compute stop/waiting
nova-compute start/running, process 27390
如何确定计算节点的nova安装没有问题呢?
我们需要在控制节点执行我们以前执行过的命令,如果看到新添加的计算节点的笑脸图标就确认没有问题
sm@controller:~$ sudo nova-manage service list
Binary Host Zone Status State Updated_At
nova-cert controller internal enabled :-) 2015-04-11 06:40:13
nova-scheduler controller internal enabled :-) 2015-04-11 06:40:14
nova-consoleauth controller internal enabled :-) 2015-04-11 06:40:14
nova-conductor controller internal enabled :-) 2015-04-11 06:40:14
nova-compute computer nova enabled :-) 2015-04-11 06:40:15