计算节点扩展部署文档
—— by冯冰艳
1. 配置网络
如果使用单网卡,则按照如下方式配置:(/etc/sysconfig/network-scrips/ifcfg-eth0)。
DEVICE="eth0"
BOOTPROTO=none
IPV6INIT="no"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ada0e94b-90a8-4f58-8969-5a4a49b4a44e"
HWADDR=00:0C:29:D2:9F:81
IPADDR=192.168.137.128
PREFIX=24
GATEWAY=192.168.137.2
DNS1=192.168.137.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0"
LAST_CONNECT=1399991520
注:如果是单网卡,需要将对应的网卡接口设置为“混合模式”,命令如下:
[root @compute1~] # ip link set eth0 promisc on
如果是上网卡,则按照如下方式配置(其中em2是内网接口-fixed_ip,em4是外网接口-floating_ip):
DEVICE="em2"
BOOTPROTO=yes
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ada0e94b-90a8-4f58-8969-5a4a49b4a44e"
HWADDR=00:0C:29:D2:9F:81
IPADDR=10.10.10.253
NETMASK=255.255.255.0
DEVICE="em4"
BOOTPROTO=static
IPV6INIT="no"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ada0e94b-90a8-4f58-8969-5a4a49b4a44e"
HWADDR=B8:0C:29:D2:9F:81
IPADDR=192.168.1.44
PREFIX=24
GATEWAY=192.168.1.254
DNS1=192.168.1.41
DNS2=192.168.1.254
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System em4"
LAST_CONNECT=1399991520
2. 设置selinux和iptables服务
(1) 打开/etc/selinux/config文件,设置 “selinux = disabled”。
(2) 进入终端执行如下命令
[root @compute1~] # service iptables stop
[root @compute1~] # chkconfig iptables on
(3) 重启服务器
[root @compute1~] # reboot
3. 添加对应的yum源(以openstack – Havana为例)
[root@compute1~]#wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@compute1~]#rpm -vih epel-release-6-8.noarch.rpm
[root@compute1~]#wget http://repos.fedorapeople.org/repos/openstack/openstack-havana/rdo-release-havana-7.noarch.rpm
[root@compute1 ~]#rpm -vih rdo-release-havana-7.noarch.rpm
4. 修改各个节点的host集群。
可以先通过命令 # hostname获取各个节点的主机名。
打开文件/etc/hosts,将所有相关节点添加至该文件中:
192.168.1.44 controller.inc
192.168.1.43 compute1.inc
5. 安装网桥依赖组件。
6. 安装ntp服务
(1) # yuminstall ntp -y
(2) 将控制节点/etc/ntp.conf下的内容复制到计算节点的/etc/my.cfn,保证控制节点和计算节点的时间同步。
(3) 启动ntpd服务:[root @compute1 ~] # service ntpd start
(4) 设置开机启动:[root @compute1 ~] # chkconfig ntpd on
7. 安装mysql和qpid客户端
[root @compute1 ~]# yum install -y MySQL-python mysql-libs mysql
[root @compute1 ~] # yum install -y qpid-cpp-client memcached
8. 安装配置nova服务。
(1) [root @compute1 ~]# yuminstall openstack-nova-compute openstack-nova-network openstack-nova-api python-novaclient
(2) 修改配置文件:/etc/nova/nova.conf
将控制节点下/etc/nova/nova.conf中的内容复制到计算节点/etc/nova/nova.conf下,并修改:
my_ip=192.168.1.43 #本机IP
vncserver_listen=192.168.1.43 #本机IP
vncserver_proxyclient_address=192.168.1.43 #本机IP
metadata_ip=192.168.1.43 #本机IP
(3) 编辑文件:/etc/nova/api-paste.ini,如下:
admin_tenant_name=services
admin_user=nova
admin_password=123456
auth_port=35357
auth_protocol=http
auth_host=192.168.1.44
其中,auth_host(控制节点IP) 和 admin_password 随实际情况变化。
(4) 启动nova服务。
[root @compute1 ~] # service libvirtd start
[root @compute1 ~] # chkconfig livirtd on
[root @compute1 ~] # service openstack-nova-api start
[root @compute1 ~] # chkconfig openstack-nova-api on
[root @compute1 ~] # service openstack-nova-computestart
[root @compute1 ~] # chkconfig openstack-nova-computeon
[root @compute1 ~] #service openstack-nova-network start
[root @compute1 ~] # chkconfig openstack-nova-network on
启动nova-netwok遇到的错误:
OSError: [Errno 13] Permission denied: '/var/lock/nova'
解决方法:[root @compute1 ~] # chown nova:nova -R /var/lock/,并重新启动nova-network。
9. 编辑文件/etc/profile
在文件末尾添加如下内容:
export OS_SERVICE_TOKEN=f0e315eddcc9494aae53f59a012fbe98
export OS_SERVICE_ENDPOINT=http://192.168.1.44:35357/v2.0
或者添加内容如下:
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://192.168.1.44:5000/v2.0
注:上图中ip(192.168.1.44)为控制节点的ip,各个参数的值随控制节点的不同而变化。
添加完成后,执行如下命令:
[root @compute1 ~] # source /etc/profile
10. 开放控制节点glance、数据库等的端口。
在控制节点执行如下命令:
[root @controller ~] #/sbin/iptables -I INPUT -p tcp--dport 8011 -j ACCEPT #开启8011端口
[root @controller ~] #/etc/rc.d/init.d/iptables save #保存配置
查看端口是否已经开放
[root @controller ~] #/etc/init.d/iptablesstatus
11. 测试nova服务
[root @compute1 ~] # nova-manage service list
如果输出结果中均为笑脸,则表示成功
12. 在计算节点上创建虚拟机
[root @compute1 ~] # glance index 或 # nova image-list
[root @compute1 ~] # nova net-list
[root @compute1 ~] # nova secgroup-list
[root @compute1 ~] # nova flavor-list
[root @compute1 ~] # nova keypair-list
根据以上内容,创建虚拟机,命令如下:
[root@compute1 ~]# nova boot test-1 --key_name test--flavor m1.tiny --image cf1704dd-66f6-497d-a207-63ec991a253b --security-groupsdefault--availability-zone nova:compute1
其中,参数-- availability-zone nova:compute1是指定当前虚拟机实例的创建节点,否则(无指定此参数)虚拟机实例将由nova-scheduler进行调度,分配到当前最优状态下的节点上,并且虚拟机将创建到哪一个节点,与进行创建的节点位置无关。
目前只能以这种方式指定节点创建虚拟机,dashboard无此功能。
在控制节点的dashboard下可以看到该虚拟机。