OpenStack基礎環境 [一]

OpenStack基礎環境 [一]node

OpenStack基礎環境 [一]

openstack
時間:2016年11月22日python

openstack介紹

 openstack是一個雲平臺管理的項目,它不是一個軟件。也就是說咱們可使用openstack來管理咱們一個數據中心大量資源池。它裏面包含了不少子項目mysql

p_w_picpath_1b25l8lci9tvktkei712s8un59.png-46.2kB

openstack包含三大項:計算 網絡 存儲
  openstack主要目標是來簡化資源的管理和分配,把計算 網絡 存儲。三大項虛擬成三大資源池,例如須要計算資源我這裏能夠提供,須要網絡資源這裏也能夠提供以及存儲資源的需求,對外提供api,經過api進行交互
  openstack的設計基本上是按照亞馬遜進行設置的,咱們能夠將openstack理解爲開源版本的aws。由於它不少地方都參考亞馬遜進行操做的,並且openstack的不少api跟亞馬遜是相通的。
  openstack火起來的緣由首先是apache旗下的開源軟件,第二它是由python進行編寫
(由於python比較簡單,深受技術人員的喜歡)linux

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

openstack版本介紹

p_w_picpath_1b25lemg8s41aji1c30vkivq2m.png-143.1kB
 openstack版本是每6個月發佈一次,每次版本的順序按照A-Z進行排序。
那麼咱們應該如何選擇版本呢?
  咱們選擇版本的時候,除了新版本的那些功能不得不用,那咱們能夠選擇新的版本。其實咱們能夠選擇稍微落後的一個版本。上述圖不夠準確,如今已經達到N版。國內openstack是從E班開始火的。由於E版本當時是比較完善的,國內openstack最火的時候是在G版的時候。如今國內不管是傳統行業仍是互聯網行業都在使用openstacksql

openstack架構

p_w_picpath_1b25lh9fd4bs1cb6q8g1v0r67f13.png-40.3kB

服務名稱 項目名稱 描述
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 提供數據庫應用服務

p_w_picpath_1b25lidia998o14cdh1mk0doo9.png-112.2kB

解釋:這裏面全部的服務都是圍繞着VM進行提供服務的,虛擬機須要什麼資源,咱們就提供什麼資源docker

  咱們能夠將服務分爲兩大類,一個是服務的提供者,一個是服務的消費者。提供者是我能夠提供某個服務,消費者是我能夠用到這個服務。
  openstack默認是沒有建立虛擬機的功能,是經過調用KVM來建立虛擬機還能夠調用esxi來建立虛擬機,總之openstack沒有建立虛擬機的功能都是經過調用其餘服務來進行操做。openstack就是一個框架,它能夠調用其餘的服務,因此openstack也就是一個管理平臺數據庫

Openstack服務介紹

MySQL:爲各個服務提供數據存儲
RabbitMq:爲各個服務之間通訊提供認證和服務註冊
Keystone:爲各個服務器之間通信提供認證和服務註冊
Glance:爲虛擬機提供鏡像管理
Nova:爲虛擬機提供計算資源
Neutron:爲虛擬機提供網絡資源
apache

Openstack環境準備-MySQL、RabbirMQ

中文文檔:http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/
提示:這個中文文檔是直接翻譯過來的,因此會有不少不通順的地方vim

特別提示:環境請和我保持一致!!!!!!!!保持一致!保持一致!保持一致!
本次咱們安裝Openstack M版,M版是在2016-4月發佈的

環境

[root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-node1 ~]# uname -r3.10.0-327.36.2.el7.x86_64[root@linux-node1 ~]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.56.11 linux-node1.abcdocker.com192.168.56.12 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節點上進行安裝,包括控制節點和計算節點
一、安裝EPEL倉庫

[root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

二、安裝Openstack倉庫

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

三、安裝Openstack客戶端

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

四、安裝openstack SELinux管理包

yum install -y openstack-selinux

若是咱們沒有進行關閉selinux openstack-selinux就會自動幫咱們設置

p_w_picpath_1b25m5tpi1pm1h6bk5l1191k32m.png-94.4kB

RabbitMq在openstack幾大用處
1.作服務之間相互通信的工具
2.信息同步(異步執行)
若是沒有RabbitMq服務之間將沒法進行通信

提示:若是是生產環境,數據庫是須要作備份的,不然數據庫一掛數據將會丟失,openstack也將沒法進行提供服務

安裝數據庫

[root@linux-node1 ~]# yum install -y mariadb mariadb-server python2-PyMySQLcentos7 默認安裝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 = 192.168.56.11   #監聽的IP地址(也能夠寫0.0.0.0)default-storage-engine = innodb  #默認存儲引擎[innodb]innodb_file_per_table       # 使用獨享表空間max_connections = 4096          #最大鏈接數是4096 (默認是1024)collation-server = utf8_general_ci  #數據庫默認校對規則character-set-server = utf8 #默認字符集

啓動數據庫

[root@linux-node1 ~]# systemctl start mariadb[root@linux-node1 ~]# systemctl enable mariadbCreated 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#它會幫咱們刪除測試數據庫等

數據庫安裝完成後咱們須要給咱們後面所要用到的服務建立用戶並進行受權

建立認證服務的數據庫並進行受權

[root@linux-node1 ~]# 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消息隊列的端口是5672

啓動消息隊列服務並將其配置爲隨系統啓動:

[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用戶讀寫權限

[root@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*".*分別表明配置、寫入、讀取

提示:若是rabbitmq沒有啓動說明主機名沒有解析

開啓rabbitmq監控插件
rabbitmq有不少插件,咱們可使用rabbitmq-plugins list查看可用插件
rabbitmq_management插件提供一個web界面,因此咱們要將它開啓

[root@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_managementrabbitmq啓動以後會監聽15672

p_w_picpath_1b25mknrh17121mn3147c2d02kv13.png-65.3kB

訪問路徑:http://ip:15672
默認Username:guest
默認Password:guest

示例圖
p_w_picpath_1b25mlkl0bc1mae1g094jfuk61g.png-20kB
提示:這裏不能使用openstack用戶進行登錄,由於咱們若是想使用openstack用戶進行登錄還須要在web頁面進行受權

如今咱們就進行rabbitmq的管理界面了
p_w_picpath_1b25mmtt24ma11bh1216jrn6o51t.png-32.9kB
rabbitmq默認有一個httpapi,咱們若是想監控 可使用http的api進行監控。裏面基本上想監控的東西都有,能夠經過腳原本獲取經過url來判斷等。
p_w_picpath_1b25mnkri15572drua0171d12lh2a.png-24.7kB

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

基礎介紹完!

相關文章
相關標籤/搜索