天天看點

OpenStack基礎環境 [一]OpenStack基礎環境 [一]

OpenStack基礎環境 [一]

标簽(空格分隔): openstack

時間:2016年11月22日

部落格位址:www.abcdocker.com

openstack介紹

 openstack是一個雲平台管理的項目,它不是一個軟體。也就是說我們可以使用

openstack

來管理我們一個資料中心大量資源池。它裡面包含了很多子

項目

OpenStack基礎環境 [一]OpenStack基礎環境 [一]

openstack包含三大項:

計算

網絡

存儲

  openstack主要目标是來

簡化資源

的管理和配置設定,把

計算

網絡

存儲

。三大項虛拟成

三大資源池

,例如需要計算資源我這裡可以提供,需要網絡資源這裡也可以提供以及存儲資源的需求,對外提供

api

,通過

api

進行互動

  openstack的設計基本上是按照

亞馬遜

進行設定的,我們可以将

openstack

了解為開源版本的

aws

。因為它很多地方都參考

亞馬遜

進行操作的,而且

openstack

的很多

api

跟亞馬遜是相通的。

  openstack火起來的原因首先是

apache

旗下的開源軟體,第二它是由

python

進行編寫

(因為python比較簡單,深受技術人員的喜歡)

openstack官方網站:http://www.openstack.org

openstack版本介紹

OpenStack基礎環境 [一]OpenStack基礎環境 [一]

 openstack版本是每

6

個月釋出一次,每次版本的順序按照

A-Z

進行排序。

那麼我們應該如何選擇版本呢?

  我們選擇版本的時候,除了新版本的那些功能不得不用,那我們可以選擇新的版本。其實我們可以選擇稍微落後的一個版本。上述圖不夠準确,現在已經達到N版。國内openstack是從E班開始火的。因為E版本當時是比較完善的,國内openstack最火的時候是在G版的時候。現在國内不論是傳統行業還是網際網路行業都在使用openstack

openstack架構

OpenStack基礎環境 [一]OpenStack基礎環境 [一]
服務名稱 項目名稱 描述
Dasgviard Horizon 基于Openstack API接口使用diango開發的Web管理
Compute Nova 通過虛拟化技術提供計算資源池
Networking Neutron 實作了虛拟機的網絡資源管理。
Storage (存儲)
Object Storage Swift 對象存儲,适用于“一次寫入、多次讀取”
Block Storage Cinder 塊存儲,提供存儲資源池
Share Services (共享服務)
Identify Service Keystone 認證管理
Image Service Glance 提供虛拟鏡像的注冊和存儲管理
Telemetry Ceilometer 提供監控和資料采集、計量服務
Higher-level Services (高層服務)
Orchestration Heat 自動化部署的元件
Database Service Trove 提供資料庫應用服務
OpenStack基礎環境 [一]OpenStack基礎環境 [一]

解釋:這裡面所有的服務都是圍繞着

VM

進行提供服務的,虛拟機需要什麼資源,我們就提供什麼資源

  我們可以将服務分為

兩大類

,一個是服務的

提供者

,一個是服務的

消費者

。提供者是我可以提供某個服務,消費者是我可以用到這個服務。

  openstack預設是沒有

建立

虛拟機的功能,是通過調用

KVM

來建立虛拟機還可以調用

esxi

來建立虛拟機,總之openstack沒有建立虛拟機的功能都是通過調用其他服務來進行操作。openstack就是一個架構,它可以調用其他的服務,是以openstack也就是一個

管理平台

Openstack服務介紹

**

MySQL

:為各個服務提供資料存儲

RabbitMq

:為各個服務之間通信提供認證和服務注冊

Keystone

:為各個伺服器之間通訊提供認證和服務注冊

Glance

:為虛拟機提供鏡像管理

Nova

:為虛拟機提供計算資源

Neutron

:為虛拟機提供網絡資源**

Openstack環境準備-MySQL、RabbirMQ

中文文檔:http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/

提示:這個中文文檔是直接翻譯過來的,是以會有很多不通順的地方

特别提示:環境請和我保持一緻!!!!!!!!保持一緻!保持一緻!保持一緻!

本次我們安裝Openstack M版,M版是在2016-4月釋出的

環境

[root@linux-node1 ~]# cat /etc/redhat-release 
CentOS Linux release  (Core) 
[root@linux-node1 ~]# uname -r
-.el7.x86_64
[root@linux-node1 ~]# cat /etc/hosts
   localhost localhost.localdomain localhost4 localhost4.localdomain4
::         localhost localhost.localdomain localhost6 localhost6.localdomain6
 linux-node1.abcdocker.com
 linux-node2.abcdocker.com
           

安裝時間同步

[root@linux-node1 ~]# yum install ntpdate -y
[root@linux-node1 ~]# ntpdate time1.aliyun.com
[root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai  #設定時區
另一種設定時區方法
[root@linux-node1 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
           

提示: 生産環境中必須保證openstack節點時間同步,如果時間不同步是無法建立虛拟機的

openstack基礎軟體包安裝

基礎軟體包需要在所有的

Openstack

節點上進行安裝,包括

控制

節點和

計算

節點

1、安裝EPEL倉庫

2、安裝Openstack倉庫

[root@linux-node1 ~]# yum install -y centos-release-openstack-mitaka
#安裝完成後會在/etc/yum.repos.d/下生成CentOS-OpenStack-mitaka.repo
           

3、安裝Openstack用戶端

[root@linux-node1 ~]#  yum install -y python-openstackclient
提示:會把openstack常用的用戶端都進行安裝
           

4、安裝openstack SELinux管理包

如果我們沒有進行關閉

selinux

openstack-selinux

就會自動幫我們設定

OpenStack基礎環境 [一]OpenStack基礎環境 [一]

RabbitMq在openstack幾大用處

1.做服務之間互相通訊的工具

2.資訊同步(異步執行)

如果沒有

RabbitMq

服務之間将無法進行

通訊

提示:如果是生産環境,資料庫是需要做備份的,否則資料庫一挂資料将會丢失,openstack也将無法進行提供服務

安裝資料庫

[root@linux-node1 ~]# yum install -y mariadb mariadb-server python2-PyMySQL
centos7 預設安裝mysql 會在/etc/my.cnf裡面includedir /etc/my.cnf.d/ 是以我們需要将配置檔案放在這個目錄下就可以生效
[root@linux-node1 ~]# cd /etc/my.cnf.d/
[root@linux-node1 my.cnf.d]# vim openstack.cnf

[mysqld]
bind-address = .   #監聽的IP位址(也可以寫0.0.0.0)
default-storage-engine = innodb  #預設存儲引擎[innodb]
innodb_file_per_table       # 使用獨享表空間
max_connections =           #最大連接配接數是4096 (預設是1024)
collation-server = utf8_general_ci  #資料庫預設校對規則
character-set-server = utf8 #預設字元集
           

啟動資料庫

[root@linux-node1 ~]# systemctl start mariadb
[root@linux-node1 ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
           

啟動後我們需要進行檢查

為了保證資料庫服務的安全性,運作

mysql_secure_installation

腳本。特别需要說明的是,為資料庫的root使用者設定一個适當的密碼。

[root@linux-node1 ~]# mysql_secure_installation
#它會幫我們删除測試資料庫等
           

資料庫安裝完成後我們需要給我們後面所要用到的服務建立使用者并進行授權

建立認證服務的資料庫并進行授權

[[email protected] ~]# mysql -uroot -p123456
建立keystone資料庫
create database keystone;
grant all on keystone.* to 'keystone'@'localhost' identified by 'keystone';
grant all on keystone.* to 'keystone'@'%' identified by 'keystone';    
           

建立鏡像資料庫并進行授權

建立glance資料庫
create database glance;
grant all on glance.* to 'glance'@'%' identified by 'glance';
grant all on glance.* to 'glance'@'localhost' identified by 'glance';
           

建立虛拟化資料庫并進行授權

建立nova資料庫
create database nova;
grant all on nova.* to 'nova'@'localhost' identified by 'nova';
grant all on nova.* to 'nova'@'%' identified by 'nova';
           

因為Nova有2個項目,是以我們要建立2個資料庫

建立nova-api資料庫

create database nova_api;
rant all on nova_api.* to 'nova_api'@'localhost' identified by 'nova_api';
grant all on nova_api.* to 'nova_api'@'%' identified by 'nova_api';
           

提示:nova_api是新版本才有

建立網絡資源管理資料庫

create database neutron;
grant all on neutron.* to 'neutron'@'%' identified by 'neutron';
grant all on neutron.* to 'neutron'@'localhost' identified by 'neutron';
           

重新整理

flush privileges;
           

安裝消息隊列

rabbitmq

[root@linux-node1 ~]# yum install rabbitmq-server -y
消息隊列的端口是
           

啟動消息隊列服務并将其配置為随系統啟動:

[root@linux-node1 ~]# systemctl enable rabbitmq-server.service
[root@linux-node1 ~]# systemctl start rabbitmq-server.service
           

因為我們一會要使用

openstack

,是以我們在

rabbitmq

上建立一個

openstack

使用者

[root@linux-node1 ~]# rabbitmqctl add_user openstack openstack
[root@linux-node1 ~]# rabbitmqctl add_user使用者 密碼
           

openstack

使用者讀寫權限

[[email protected] ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
.*分别代表配置、寫入、讀取
           

提示:如果rabbitmq沒有啟動說明主機名沒有解析

開啟rabbitmq監控插件

rabbitmq

有很多插件,我們可以使用

rabbitmq-plugins list

檢視可用插件

rabbitmq_management

插件提供一個web界面,是以我們要将它開啟

[root@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_management
rabbitmq啟動之後會監聽
           
OpenStack基礎環境 [一]OpenStack基礎環境 [一]

**通路路徑:http://ip:15672

預設Username:guest

預設Password:guest**

示例圖

OpenStack基礎環境 [一]OpenStack基礎環境 [一]

提示:這裡不能使用

openstack

使用者進行登陸,因為我們如果想使用openstack使用者進行登陸還需要在

web

頁面進行授權

現在我們就進行

rabbitmq

的管理界面了

OpenStack基礎環境 [一]OpenStack基礎環境 [一]

rabbitmq預設有一個

http

api

,我們如果想監控 可以使用http的api進行監控。裡面基本上想監控的東西都有,可以通過腳本來擷取通過

url

來判斷等。

OpenStack基礎環境 [一]OpenStack基礎環境 [一]

zabbix相關文章:http://www.abcdocker.com/zabbix

基礎介紹完!

繼續閱讀