OpenStack实践
作者:Baihuogou DevOps Team
我们在公司内部部署OpenStack主要是内部管理虚拟机的需要。公司内部之前使用virt-manager来管理内部虚拟机,但是缺点有二:
1. 无法集中管理多台宿主机。
2. 虽然提供图形界面,但是是桌面软件形式,需要安装软件。
所以现在需要一个新的管理软件来解决这些问题,满足两个特性:
1. 能够集中管理多台宿主机。
2. 不需要安装软件就能访问管理界面,比如访问Web页面。
符合这两个特性的比较知名的有CloudStack,OpenNebula,OpenStack,对比CloudStack,OpenNebula,OpenStack的社区更活跃,文档更齐全,支持厂商更多,所以我们最终选择了OpenStack来搭建内部私有云。
OpenStack是一个NASA和Rackspace合作研发的云计算软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目。
最初是OpenStack的官方Debian文档一步步搭建,但是卡在安装配置MySQL导致后面无法正常启动,排查了一会儿仍无法解决问题。后面发现了一个图形化安装OpenStack的解决方案,Mirantis OpenStack。 先安装Mirantis OpenStack操作系统,启动后会提示进入网页,在网页上就可以看到可用节点,配置OpenStack各个组件节点,配置网络并验证网络联通性,配置好之后全自动安装。
图1. Mirantis界面
图2. Mirantis 设置
我们正在把以前的服务向OpenStack平台迁移,已经有20多个虚拟机,包括推荐系统使用的Hadoop集群。
图3. OpenStack 概况
图4. OpenStack 虚拟机管理器
图5. OpenStack 实例
图6. OpenStack镜像
需要注意:
1. 如果需要重启OpenStack 计算节点,需要手动停止所有实例(Instance),否则会出现Horizon显示的状态与实例实际状态不一致的问题。只能用`nova reset-state`命令来重置。
2. 一般来说,新开一个实例会应用OpenStack默认的安全策略,即只开放22端口。需要新建安全组,打开需要的端口,然后把实例加入这个安全组。
现在我们的OpenStack系统能基本运行,但是还有很多东西需要研究。后续将投入精力研究镜像制作,高可用等方面。