这是本人初学搭建openStack的配置步骤,比较适合新手参考,高手可帮忙矫正此文,不甚感激。
实验环境说明:使用的虚拟机软件是VirtualBox_5
虚拟机操作系统镜像为MirantisOpenStack-5.1.iso
(如果需要以上文件,可留言与本人联系)
1 openstack和fuel简介
本实验使用fuel在虚拟环境下搭建openstack平台,以下是对fuel和openstack的简单介绍。
1.1 openstack简介
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。
OpenStack是一个开源的云计算管理平台项目,由nova等几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。
1.2 fuel简介
Fuel是一个开源的部署和管理openstack的工具,它提供了一个直观的图形用户部署和管理界面,专注于openstack的部署、测试和第三方选件。其功能含盖自动的PXE方式的操作系统安装,DHCP服务,Orchestration服务和puppet配置管理相关服务等。
使用Fuel部署openstack有以下优势:
(1) 节点的自动发现和预校验;
(2) 配置简单、快速;
(3) 支持多种操作系统和发行版,支持HA部署;
(4) 对外提供API对环境进行管理和配置,例如动态添加计算/存储节点;
(5) 自带健康检查工具;
(6) 支持Neutron,例如GRE和namespace都做进来了,子网能配置具体使用哪个物理网卡等。
2 安装虚拟机
由于本实验是在虚拟环境下搭建openstack,所以需要先将虚拟环境搭建好。以下是搭建虚拟环境前的准备以及搭建过程。
2.1 安装前准备
2.1.1 安装虚拟机软件
安装虚拟机,首先需要有相应的虚拟机软件。目前比较常用的虚拟机软件有VMware Workstation和VirtualBox,这里选用VirtualBox,VirtualBox的安装过程这里不详述。
2.1.2 下载openstack镜像文件
本实验使用Mirantis公司发行的openstack的镜像文件,具体版本为5.1。
2.1.3 网卡配置
新建虚拟机之前,需要现在“全局设定”里添加并正确配置网卡,具体过程如下:
(1) 进入“全局设定”面板
(2) 切换到“网络”选项卡
(3) 添加网卡
依次添加三块host-only模式网卡,IP设置如图:
网卡#2:
到此网卡配置完毕。接下来开始安装虚拟机。
2.2 安装master节点
2.2.1 新建虚拟机
(1) 新建虚拟机,并在对话框中填入名称,选择操作系统类型以及版本。
选择硬盘文件类型:
选择分配方式:
选择硬盘大小:
到此新建完毕。接下里开始对虚拟机进行配置。
2.2.2 配置虚拟机
在虚拟机上右键进入“设置”面板即可对虚拟机进行配置。
(1) 常规配置
这里主要修改备份位置,尽量不要将备份放在C盘。
(2) 系统配置
这里可以修改内存大小,已经处理器核数目。建议master节点内存大于等于2G,处理器核数可以为1,如果物理机配置较高,也可以选择2核。
(3) 配置存储
这一步比较重要,在这里选择已经下载好的MirantisOpenStack-5.1.iso镜像文件。
(4) 网络配置
这一步也很重要,依次对网卡1、网卡2、网卡3进行配置,参数具体选择如下图:
网卡1:
网卡2:
2.2.3 安装过程
启动虚拟机,以下虚拟机安装过程的部分截图,整个安装过程是全自动的,直到出现登录提示,安装过程结束。
到此master节点安装结束。接下来安装controller节点。
2.3 安装controller节点
Controller节点的安装步骤master节点的安装步骤基本相同,以下只对不同之处进行叙述。不同之处有:
(1) 在配置阶段,在“系统“ 选项卡中取消选中“启动顺序”中的“软驱”。
(2) 不用配置“存储”,即不用选择镜像文件。
(3) 在开始启动时,弹出如下对话框要求选择启动盘,点击“取消”。
(4) 之后的安装过程为全自动,只需耐心等待。
2.4 安装compute节点
compute节点的安装过程与controller的安装过程完全相同,所以参照2.3节进行安装。
3 部署openstack
安装完成后,根据master登录界面提示的网址,进入fuel控制台。
3.1 新建openstack环境
(1) 新建openstack
(5) 选择网络
(6) 接下来的后端存储以及附加服务按默认就可以。
3.2 增加节点
增加节点时,给相应节点分配角色。给命名为controller的主机分配controller角色,给命名为compute的主机分配compute的角色。分辨controller主机和compute主机主要是根据主机的第一块网卡的MAC地址。
(1) 增加controller节点
(2) 增加compute节点
3.3 网络配置
3.3.1 各个网络简介
首先我们对各个网络的用途进行简单介绍:
(1) PXE(部署网络):这是部署网络,也就是在节点开机的时候设置的网络启动,首先获取到IP地址的那个网卡的网络,这个网卡一旦获取IP从此网卡启动,则不能像其他网络一样手动改变,并且不能绑定,所以一般独立出来,生产环境下不建议跟其他网络混用。为了区分,一般使用网卡的第一个网口或者最后一个网口启动,且不能存在DHCP,否则网络验证的时候会报错,但是仍然可以强制部署。
(2) Storage(存储网络):存储网络,顾名思义也就是专门给存储使用的私网。一般使用Ceph当做NOVA、Cinder和Glance的统一存储,简单、共享。那此时这个存储网络就是相当于Ceph的Cluster Network,用于数据第二、三副本的同步和内部rebalance。在存储节点多、读取IO高的情况下,这个网络的流量是很大的。
(3) Public(公网):这里包含两个网络,Public网络和Floating IP网络。初次部署这两个网络必须在同一个网段,部署完成后可以手动添加额外的Floating IP网段,此时注意和交换机互联的端口需要设置成Trunk了。Public主要是用于外部访问,一是外部用户管理物理机需要通过Public网络访问,先到controller节点,然后跳转到计算节点,当然也可以手动给计算和存储节点配置Public IP。二是网络节点是在controller节点上面的,也就是常说的neutron L3,如果虚机分配了Floating IP需要访问外部网络,例如公司或者互联网,或者外部网络通过Floating IP访问虚拟机。Floating IP需要到网络节点,也就是控制节点的neutron l3从DNAT出去。
(4) Private(私网):这个网络主要是用于内部通信,比如云主机对外访问要先到controller节点,如果Public只在controller节点,此时需要通过Private网络。部署的时候可以看到它默认有30个VLAN,也就是VLAN ID 1000-1030。OpenStack可以有很多租户,每个租户都可以有自己的网络,这里主要使用VLAN做隔离,也就是每一个子网都使用一个VLAN来做隔离,保证不同租户之间的网络隔离和不冲突。这30个vlan可以建立30个子网,可以根据实际的需求来变动。这个Private也是需要上行端口,也就是与交换机互联的端口是Trunk。
(5) MGMT(管理网络):这个管理网的用处可就大了,一是OpenStack内部各个组件之间的通信都是通过Management,也就是API之间、Keystone认证、监控都是通过该网络。二是充当Ceph的Public网络,这个Public网络和之前的Public网络是不同的。所说的Public网络,是相对于Ceph来说的。之前说过Storage网络是Ceph的Cluster Network,用于内部数据的同步和rebalance,外部流量写入则通过MGMT网络。虚机的数据写入是通过外部网络,然后这个流量通过MGMT网络写到Ceph集群,那么这个数据就是Ceph的主副本,所以这个网络流量也是很大的。由于是外部写入和访问,相对于Ceph集群来讲,也就可以称为是Public Network了。
3.3.2 节点的网络配置
(1)对controller节点进行网络配置。选中该节点,点击“网络配置”.
将各个网络如下图分布在三块网卡上:
(2) 对compute节点进行网络配置。选中该节点,点击“网络配置”。
将各个网络如下图分布在三块网卡上:
到此网络配置完毕。接下来对已配置好的网络进行验证是否畅通。
3.3 验证网络
进入“网络”面板,在页面底部点击“验证网络”:
等待片刻,查看验证结果。如果如下如验证成功,即可进行接下来的部署,否则最好先解决网络连通问题再进行部署。
3.4 部署变更
点击下图中的“部署变更”,即开始部署openstack环境:
安装centos
部署过程需要较长时间,最后如下图提示部署成功即表示openstack平台已经部署成功:
4 启动云主机
根据部署成功时的提示,登录http://172.16.0.2,进入openstack仪表盘,开始创建云主机。
4.1 启动云主机
点击下图中的“启动云主机”,进入云主机启动对话框:
对云主机相关参数进行配置。这里除了需要填写“详情”选项卡中的相关信息,还需要在“网络”选项卡中选择“net04”网络。
4.2 访问云主机
上述云主机一般只能通过VNC来访问,访问速度不太理想,所以希望通过XShell等工具进行访问。为了能够通过XShell等工具进行访问,需要为云主机绑定浮动IP和添加相应的网络规则。
4.2.1 绑定浮动IP
通过“更多”下拉选项,进入“管理浮动IP的关联”对话框:
为云主机分配一个浮动IP,点击“关联”即可关联成功:
4.2.2 添加管理规则
首先进入“访问&安全”页面:
点击“管理规则”,进入“管理安全组规则”页面,点击“添加规则”,进入“添加规则”对话框,这里需要分别添加“ALL ICMP”规则和“SSH”规则:
添加“ALL ICMP”规则:
添加“SSH”规则:
到这里。云主机创建成功,并且可以通过XShell等工具来访问和使用。
5 实验总结
通过本次试验,让我体验到了,相较于手动搭建openstack,使用fuel来搭建opesntack环境的方便快捷,也让我对openstack云平台有了初步的认识,对创建云主机以及云主机的使用有了初步的了解。在实验过程中,遇到了很多问题,问题的顺利解决得益于老师、同学以及热心网友和大量优秀的博客的帮助,真的非常感谢他们。