Openstack平台搭建之第三天
Author :xxbAndy
If you have any question ,please contact me by weichuangxxb@sina.cn or 371990778(qq)
注意:主控节点为server10.example.com; 新增nova节点为desktop10.example.com
在实验环境中已经对各个主机做了DNS解析
1.管理neutron节点服务,为nova-compute节点进行配置网络服务
[root@server10 ~]# source /root/keystonrc_admin
[root@server10 ~(keystone_admin)]# vim /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
tenant_network_type = vlan tenant类型
network_vlan_ranges = physnet1:1:100 vlan地址池
bridge_mappings = physnet1:br-eth1 桥接口创建相应的接口:
[root@server10 ~(keystone_admin)]#ovs-vsctl add-br br-eth1
[root@server10 ~(keystone_admin)]#ovs-vsctl add-port br-eth1 eth1
[root@server10 ~(keystone_admin)]#ovs-vsctl show重启所有neutron启动相关的服务(condrestart),并进行日志查看(因为在搭建过程中任何一处的小错误将会影响整个平台搭建)
[root@server10 ~(keystone_admin)]#for i in /etc/init.d/neutron-*;do $i condrestart;done
[root@server10 ~(keystone_admin)]#grep ERROR /var/log/neutron/openvswitch-agent.log查看本机启动服务:
[root@server10 ~(keystone_admin)]#nova-manage servece list 只显示当前一个主机的节点enable(因为我们是all in one,即所有服务在一台主机上部署的)
2.添加nova节点,并且配置相同的nova-compute服务
新增一台主机,内存硬盘可以根据自己的实际需求进行扩展(nova-compute节点主要是运行云主机以及相关服务的,所以你就想着看多少比较适合你的环境了。因为是在试验环境下,我们将宿主机资源共享给nova-compute)
不过值得注意的是,我们需要将nova-compute节点的IP设置为静态。
nova-compute新增节点配置:
#yum update -y ;reboot
#yum install openstack-nova-compute -y 由于在server10.example.com主机上我们已经正确配置过nova-compute以及neutron,因此,在新增的nova节点上,我们将完全拷贝配置文件,最后进行适当的微调。
[root@server10 nova(keystone_admin)]# scp /etc/nova/nova.conf 192.168.0.10:/etc/nova/
[root@desktop10 nova]# vim /etc/nova/nova.conf
my_ip=192.168.0.10
vncserver_listen=192.168.0.10
vncserver_proxyclient_address=192.168.0.10
libvirt_type=kvm (记住,因为是在加的真机使用KVM,虚拟机用qemu)
必须注意与mysql的链接啊
connection=mysql://nova:westos@192.168.0.110/nova 使用nova用户westos密码登录nova库(默认拷贝过来是链接localhost的) [root@desktop10 nova]# /etc/init.d/openstack-nova-compute start
[root@desktop10 nova]# /etc/init.d/libvirtd start
注意:其实在环境中应该启动libvirtd服务哦!
[root@desktop10 nova]# chkconfig openstack-nova-compute on
[root@desktop10 nova]# chkconfig libvirtd on
[root@desktop10 nova]# nova-manage service list
Binary Host Zone Status State Updated_At
nova-conductor server10.example.com internal enabled :-) 2014-08-03 03:42:26
nova-compute server10.example.com nova enabled :-) 2014-08-03 03:42:26
nova-consoleauth server10.example.com internal enabled :-) 2014-08-03 03:42:25
nova-scheduler server10.example.com internal enabled :-) 2014-08-03 03:42:25
nova-compute desktop10.example.com nova enabled :-) 2014-08-03 03:42:31由输出我们可知:新增了一个nova-compute节点,desktop10.example.com
同时为了便于我们区分之后的云主机是在哪个节点启动的,我们将server10的nova-compute先disable。
[root@desktop10 nova]# nova-manage service disable --host server10.example.com --service nova-compute
此时,整个环境中将只有一个nova-compute节点,也就是说最终的云主机是在desktop10主机上启动消耗的是desktop10的硬件资源。
3.为nova-compute节点配置neutron网络服务
[root@desktop10 nova]# yum install openstack-neutron-openvswitch -y
[root@desktop10 neutron]# scp 192.168.0.110:/etc/neutron/neutron.conf /etc/neutron/[root@desktop10 neutron]# scp 192.168.0.110:/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini /etc/neutron/plugins/openvswitch/
[root@desktop10 neutron]# /etc/init.d/openvswitch start
[root@desktop10 neutron]# chkconfig openvswitch on[root@desktop10 neutron]# ovs-vsctl add-br br-int 创建一个虚拟桥接口br-int
[root@desktop10 neutron]# ovs-vsctl add-br br-eth1
[root@desktop10 neutron]# ovs-vsctl add-port br-eth1 br101 本机br101桥接到br-eth1上[root@desktop10 neutron]# /etc/init.d/neutron-openvswitch-agent start
Starting neutron-openvswitch-agent: [ OK ]
[root@desktop10 neutron]# chkconfig neutron-openvswitch-agent on
[root@desktop10 neutron]# chkconfig neutron-ovs-cleanup on
[root@desktop10 neutron]# tail -f /var/log/neutron/openvswitch-agent.log[root@desktop10 neutron]# ovs-vsctl show
0d1feaba-56ce-4696-9d16-0a993cff5923
Bridge br-int
Port "int-br-eth1"
Interface "int-br-eth1"
Port br-int
Interface br-int
type: internal
Bridge "br-eth1"
Port "br-eth1"
Interface "br-eth1"
type: internal
Port "br101"
Interface "br101"
Port "phy-br-eth1"
Interface "phy-br-eth1"
ovs_version: "1.11.0"
查看到上述输出基本就是正确了。
4.需要注意的是,在新增nova节点时需要安装一个依赖包,以进行和主控节点(server10)进行通信,具体步骤如下:
[root@desktop10 neutron]# yum install -y openstack-neutron-ml2.noarch
[root@desktop10 nova]# vim /etc/nova/nova.conf
novncproxy_base_url=http://192.168.0.110:6080/vnc_auto.html
glance_host=192.168.0.110 让nova-compute在创建云主机时可以找到glance文件
rpc_backend=nova.openstack.common.rpc.impl_qpid 让nova-compute和主控端进行通信[root@desktop10 nova]# /etc/init.d/openstack-nova-compute restart
[root@desktop10 nova]# chkconfig openstack-nova-compute on
接下来需要配置的已经配置完毕。
现在使用admin用户登录https://server10.example.com/dashboard 进行创建相关的项目以及用户服务。
1.创建项目
2.创建用户(admin身份和成员身份) 身份所指的是用户的角色,即决定用户的权限
用admin身份的那个用户接下来操作
3.上传镜像 在glance服务中我们已经上传了small.img和web.img了
4.创建网络:针对某个项目创建网络(外网) 进行创建网络,内部网络和外部网络通信
点net1创建子网内网172.24.X.0(不需用网关) 172网段在真实主机上模拟的是一个公网地址
不用DHCP,子网详情
创建网络:内网网络 内网192.168.32.0网段其实就是之前桥接的br101接口
点net2创建内网192.168.32.0
查看一下网络拓扑图 会发现我们真正的创建了两个网络(172网络和192网络)
5.添加路由
创建route选择网关。(查看拓扑) 添加路由信息,分别将两个网络连接起来,实现内外网通信
增加路由接口,将两个网段链接
6.创建安全组,并且设置规则 自定义访问规则,相当于简单的防火墙策略
创建密钥对,并且下载 用于客户机对云主机的远程登录验证所用的
分配浮动ip(公网IP) 给172公网分配一个浮动IP,以进行客户通信
7.创建云主机类型(也就是主机的配置) 自己定义所需要主机的相关配置
云磁盘
8.启动云主机 开始启动云主机,进行相应的信息选择(主机名。。。)
管理员密码,就是访问云主机的管理员密码,但是默认不能使用,安全组的选择
选择私有网络(查看网络拓扑)
点击更多进行绑定浮动IP(以便用于客户对云主机进行直接登录访问)
启动云主机:
发现其实云主机已经启动起来了,默认获取的IP为192.168.32.2
[root@desktop10 nova]# virsh list 使用virsh命令查看
Id Name State
----------------------------------------------------
1 server10 running server10为KVM的虚拟机
2 instance-00000003 running 这个为Openstack的云主机
模拟公网IP登录测试: 使用之前创建秘钥对进行远程登录云主机(172.24.10.4是当时分配的公网IP)
远程登录后对系统内部进行测试:
此时,我们已经可以在远程登录我们的云主机了。