简介:
Openstack是(infrastructure as a service,基础设置即服务)IAAS架构的实现,OpenStack是一个由NASA(美国国家航空航天局)
和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。以下是参与代码提交的公司
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,
项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即
服务(IaaS)的解决方案,每个服务提供API以进行集成。
Openstack半年更新一次新版本,版本命名规则是首个字母从A-Z顺序命名的,2010/10/21 Austin版发布,到现在最新稳定版Stein版。
从G版以后国内的使用用户越来越多。
基本组件及功能如下
服务名称 | 项目名称 | 详细描述 |
identity service | Keystone | 提供账户登录安全认证 |
image servicre | Glance | 提供虚拟镜像的注册和存储管理 |
placement api | placement | 负责记录资源使用情况,早期版本集成在nova中 |
compute | Nova | 通过虚拟化技术提供虚拟机计算资源池 |
networking | Neutron | 实现了虚拟机的网络资源管理,即虚拟机网络 |
Stein版环境准备:
Stein版官方安装文档:https://docs.openstack.org/install-guide/
基础环境安装:https://docs.openstack.org/install-guide/environment.html
控制端:192.168.12.17
计算节点:192.168.12.18(使用centos7.2)
数据库:192.168.12.19
1、修改hosts文件,配置文件中的地址全部用域名,方便为后期Openstack做高可用
[root@node1 ~]#cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.12.17 openstack-vip.heng.net 192.168.12.18 openstack-node1.heng.net 192.168.12.19 openstack-mysql.heng.net
2、修改主机名,所有主机主机名不能一样,特别是计算节点
[root@controller1 ~]# hostnamectl set-hostname controller1 [root@mysql ~]# hostnamectl set-hostname mysql [root@node1 ~]# hostnamectl set-hostname node1
3、设置时间同步
[root@controller1 ~]# yum install ntpdate [root@controller1 ~]# ntpdate time1.aliyun.com [root@controller1 ~]# hwclock -w [root@controller1 ~]# crontab -e */5 * * * * /sbin/ntpdate 172.16.0.1 && hwclock -w
4、关闭防火墙,selinux和NetworkManager
[root@controller1 ~]#systemctl disable firewalld [root@controller1 ~]#systemctl disable NetworkManager [root@controller1 ~]#vim /etc/sysconfig/selinux SELINUX=disabled
5、在所有主机安装Openstack的yum源,一定要用这个源安装相关软件
yum install centos-release-openstack-stein.noarch -y
6、在所有主机安装Openstack的客户端,selinux包
yum install python-openstackclient openstack-selinux -y
7、安装数据库
7.1、在控制端安装python连接数据库的插件,在另一台主机上安装数据库
[root@controller1 ~]# yum install python2-PyMySQL [root@mysql ~]# yum install mariadb-server
7.2修改mysql的配置文件
[root@mysql ~]# vi /etc/my.cnf.d/openstack.cnf
[mysqld] bind-address = 192.168.12.19 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8
7.3、设置为开机启动,并启动
[root@mysql ~]# systemctl start mariadb [root@mysql ~]# systemctl enable mariadb
7.4、安全初始化。这个数据库比较重要一定要设置密码删除匿名账户
[root@mysql ~]# mysql_secure_installation
8、安装rabbitmq,和mysql安装在同一台服务器
yum install rabbitmq-server systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service
8.1、设置一个openstack账号 密码123
rabbitmqctl add_user openstack 123
8、2赋予 openstack 用户读写权限:
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
8.3、打开rabbitmq的web界面
rabbitmq-plugins enable rabbitmq_management
8.4、访问web界面测试
9、安装memcached
9.1、控制端安装python连接memcached插件
yum install python-memcached
9.2、在mysql服务器上安装memcached
yum install memcached
vi /etc/sysconfig/memcached
OPTIONS="-l 0.0.0.0,::1" #修改监听地址
9.3、设置为开机启动并启动
systemctl enable memcached.service systemctl start memcached.service