OpenStack是一个由NASA和Rackspace合作发起的开源云操作系统,它是一个可以控制整个数据中心的计算、存储、网络等资源的管理平台。OpenStack支持几乎所有类型的云环境,目标是提供实施简单、可大规模扩展、标准统一的云计算管理平台。
OpenStack系统由一些可以独立安装和配置的关键服务组成。这些服务根据需求者的需要组合起来一起工作,其中包括计算,身份认证,镜像,对象存储,仪表盘,块存储,网络,测量,部署和数据库服务等。OpenStack通过这些互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务都提供了相应的API集成起来很方便。
主要服务
OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面。核心的OpenStack服务有以下一些:
计算(Compute):Nova。OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑。
身份服务(Identity Service):Keystone。为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。
镜像服务(Image Service):Glance。是一套虚拟机镜像发现、注册、检索系统。
对象存储(Object Storage):Swift。提供一种分布式、持续虚拟对象存储,具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。
仪表盘 (Dashboard):Horizon。是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。
网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。
块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务。
部署编排 (Orchestration):Heat。提供了一种通过模板定义的协同部署方式,实现云基础设施软件运行环境(计算、存储和网络资源)的自动化部署。
数据库服务(Database Service):Trove。为用户在OpenStack的环境提供可扩展和可靠的关系和非关系数据库引擎服务。
安装
安装OpenStack相对来说比较费劲,涉及到内容很多。我们还是通过github上的一个脚本来安装,以Ubuntu 14.04 LTS为例,使用OpenShit脚本,网上还有很多脚本可用比如Devstack、Fuel、OneStack、Stackops,有兴趣的可以搜搜。
先来更新一下ubuntu。
1
2
3sudo apt-get update
sudo apt-get upgrade
sudo reboot通过git来获取一下OpenShit,最好用root权限来试。
1 | su root |
修改配置文件setting.conf,将配置文件中的IP地址设置为本机的,这个是必须的。用户名密码根据自己的情况设定,不做修改也可以,系统运行会使用这个配置文件中的密码。
1
sudo vi setting.conf
安装配置生效,需要的时间比较长,耐心等等。
1
2echo y | ./openshit.sh --all install #安装过程中需要选yes都用echo直接选着yes了。
./openshit.sh --all config #根据配置文件修改配置。
查看安装结果。
1
2source admin-env.sh
nova service-list打开浏览器,输入http://10.0.2.15/horizon(注意修改为本机IP或者直接用localhost),可以看到浏览器界面:
附录-Openshit命令
可以通过./openshit.sh等命令来对openstack各个组件进行操作。
- 安装或卸载所有组件
./openshit.sh –all install/uninstall
- 安装或卸载cinder[块存储]
./openshit.sh cinder install/uninstall
- 安装或卸载 [图形界面管理]
./openshit.sh dashboard install/uninstall
- 安装或卸载 [镜像管理]
./openshit.sh glance install/uninstall
- 安装或卸载 [身份认证]
./openshit.sh keystone install/uninstall
- 安装或卸载 [数据库]
./openshit.sh mysql install/uninstall
- 安装或卸载 [网络服务]
./openshit.sh neutron install/uninstall
- 安装或卸载 [计算]
./openshit.sh nova install/uninstall
- 安装或卸载 [nova-network]
./openshit.sh nova-network linstall/uninstall
- 安装或卸载 [消息队列]
./openshit.sh rabbitmq install/uninstall
- 配置命令
./openshit.sh –all config
- 清除
./openshit.sh –all clean