簡介:
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