Openstack平台搭建之第三天
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)
远程登录后对系统内部进行测试:
此时,我们已经可以在远程登录我们的云主机了。
今天就到此为止,更多精彩,请继续关注!!!!