OpenStack基礎(chǔ)環(huán)境 [一]
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供嘉峪關(guān)網(wǎng)站建設(shè)、嘉峪關(guān)做網(wǎng)站、嘉峪關(guān)網(wǎng)站設(shè)計(jì)、嘉峪關(guān)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、嘉峪關(guān)企業(yè)網(wǎng)站模板建站服務(wù),十余年嘉峪關(guān)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
openstack
時(shí)間:2016年11月22日
openstack是一個(gè)云平臺(tái)管理的項(xiàng)目,它不是一個(gè)軟件。也就是說我們可以使用openstack
來管理我們一個(gè)數(shù)據(jù)中心大量資源池。它里面包含了很多子項(xiàng)目
openstack包含三大項(xiàng):計(jì)算
網(wǎng)絡(luò)
存儲(chǔ)
openstack主要目標(biāo)是來簡化資源
的管理和分配,把計(jì)算
網(wǎng)絡(luò)
存儲(chǔ)
。三大項(xiàng)虛擬成三大資源池
,例如需要計(jì)算資源我這里可以提供,需要網(wǎng)絡(luò)資源這里也可以提供以及存儲(chǔ)資源的需求,對外提供api
,通過api
進(jìn)行交互
openstack的設(shè)計(jì)基本上是按照亞馬遜
進(jìn)行設(shè)置的,我們可以將openstack
理解為開源版本的aws
。因?yàn)樗芏嗟胤蕉紖⒖?code>亞馬遜進(jìn)行操作的,而且openstack
的很多api
跟亞馬遜是相通的。
openstack火起來的原因首先是apache
旗下的開源軟件,第二它是由python
進(jìn)行編寫
(因?yàn)閜ython比較簡單,深受技術(shù)人員的喜歡)
openstack官方網(wǎng)站:http://www.openstack.org
openstack版本是每6
個(gè)月發(fā)布一次,每次版本的順序按照A-Z
進(jìn)行排序。
那么我們應(yīng)該如何選擇版本呢?
我們選擇版本的時(shí)候,除了新版本的那些功能不得不用,那我們可以選擇新的版本。其實(shí)我們可以選擇稍微落后的一個(gè)版本。上述圖不夠準(zhǔn)確,現(xiàn)在已經(jīng)達(dá)到N版。國內(nèi)openstack是從E班開始火的。因?yàn)镋版本當(dāng)時(shí)是比較完善的,國內(nèi)openstack最火的時(shí)候是在G版的時(shí)候?,F(xiàn)在國內(nèi)不論是傳統(tǒng)行業(yè)還是互聯(lián)網(wǎng)行業(yè)都在使用openstack
服務(wù)名稱 | 項(xiàng)目名稱 | 描述 |
---|---|---|
Dasgviard | Horizon | 基于Openstack API接口使用diango開發(fā)的Web管理 |
Compute | Nova | 通過虛擬化技術(shù)提供計(jì)算資源池 |
Networking | Neutron | 實(shí)現(xiàn)了虛擬機(jī)的網(wǎng)絡(luò)資源管理。 |
Storage (存儲(chǔ)) | ||
Object Storage | Swift | 對象存儲(chǔ),適用于“一次寫入、多次讀取” |
Block Storage | Cinder | 塊存儲(chǔ),提供存儲(chǔ)資源池 |
Share | Services (共享服務(wù)) | |
Identify Service | Keystone | 認(rèn)證管理 |
Image Service | Glance | 提供虛擬鏡像的注冊和存儲(chǔ)管理 |
Telemetry | Ceilometer | 提供監(jiān)控和數(shù)據(jù)采集、計(jì)量服務(wù) |
Higher-level Services (高層服務(wù)) | ||
Orchestration | Heat | 自動(dòng)化部署的組件 |
Database Service | Trove | 提供數(shù)據(jù)庫應(yīng)用服務(wù) |
解釋:這里面所有的服務(wù)都是圍繞著VM
進(jìn)行提供服務(wù)的,虛擬機(jī)需要什么資源,我們就提供什么資源
我們可以將服務(wù)分為兩大類
,一個(gè)是服務(wù)的提供者
,一個(gè)是服務(wù)的消費(fèi)者
。提供者是我可以提供某個(gè)服務(wù),消費(fèi)者是我可以用到這個(gè)服務(wù)。
openstack默認(rèn)是沒有創(chuàng)建
虛擬機(jī)的功能,是通過調(diào)用KVM
來創(chuàng)建虛擬機(jī)還可以調(diào)用esxi
來創(chuàng)建虛擬機(jī),總之openstack沒有創(chuàng)建虛擬機(jī)的功能都是通過調(diào)用其他服務(wù)來進(jìn)行操作。openstack就是一個(gè)框架,它可以調(diào)用其他的服務(wù),所以openstack也就是一個(gè)管理平臺(tái)
MySQL
:為各個(gè)服務(wù)提供數(shù)據(jù)存儲(chǔ) RabbitMq
:為各個(gè)服務(wù)之間通信提供認(rèn)證和服務(wù)注冊 Keystone
:為各個(gè)服務(wù)器之間通訊提供認(rèn)證和服務(wù)注冊 Glance
:為虛擬機(jī)提供鏡像管理 Nova
:為虛擬機(jī)提供計(jì)算資源 Neutron
:為虛擬機(jī)提供網(wǎng)絡(luò)資源
中文文檔:http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/
提示:這個(gè)中文文檔是直接翻譯過來的,所以會(huì)有很多不通順的地方
特別提示:環(huán)境請和我保持一致!?。。。。。?!保持一致!保持一致!保持一致!
本次我們安裝Openstack M版,M版是在2016-4月發(fā)布的
環(huán)境
[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
安裝時(shí)間同步
[root@linux-node1 ~]# yum install ntpdate -y[root@linux-node1 ~]# ntpdate time1.aliyun.com[root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai #設(shè)置時(shí)區(qū)另一種設(shè)置時(shí)區(qū)方法[root@linux-node1 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
提示:生產(chǎn)環(huán)境中必須保證openstack節(jié)點(diǎn)時(shí)間同步,如果時(shí)間不同步是無法創(chuàng)建虛擬機(jī)的
基礎(chǔ)軟件包需要在所有的Openstack
節(jié)點(diǎn)上進(jìn)行安裝,包括控制
節(jié)點(diǎn)和計(jì)算
節(jié)點(diǎn)
1、安裝EPEL倉庫
[root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
2、安裝Openstack倉庫
[root@linux-node1 ~]# yum install -y centos-release-openstack-mitaka#安裝完成后會(huì)在/etc/yum.repos.d/下生成CentOS-OpenStack-mitaka.repo
3、安裝Openstack客戶端
[root@linux-node1 ~]# yum install -y python-openstackclient提示:會(huì)把openstack常用的客戶端都進(jìn)行安裝
4、安裝openstack SELinux管理包
yum install -y openstack-selinux
如果我們沒有進(jìn)行關(guān)閉selinux
openstack-selinux
就會(huì)自動(dòng)幫我們設(shè)置
RabbitMq在openstack幾大用處
1.做服務(wù)之間相互通訊的工具
2.信息同步(異步執(zhí)行)
如果沒有RabbitMq
服務(wù)之間將無法進(jìn)行通訊
提示:如果是生產(chǎn)環(huán)境,數(shù)據(jù)庫是需要做備份的,否則數(shù)據(jù)庫一掛數(shù)據(jù)將會(huì)丟失,openstack也將無法進(jìn)行提供服務(wù)
[root@linux-node1 ~]# yum install -y mariadb mariadb-server python2-PyMySQLcentos7 默認(rèn)安裝mysql 會(huì)在/etc/my.cnf里面includedir /etc/my.cnf.d/ 所以我們需要將配置文件放在這個(gè)目錄下就可以生效[root@linux-node1 ~]# cd /etc/my.cnf.d/[root@linux-node1 my.cnf.d]# vim openstack.cnf[mysqld]bind-address = 192.168.56.11 #監(jiān)聽的IP地址(也可以寫0.0.0.0)default-storage-engine = innodb #默認(rèn)存儲(chǔ)引擎[innodb]innodb_file_per_table # 使用獨(dú)享表空間max_connections = 4096 #最大連接數(shù)是4096 (默認(rèn)是1024)collation-server = utf8_general_ci #數(shù)據(jù)庫默認(rèn)校對規(guī)則character-set-server = utf8 #默認(rèn)字符集
[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.
啟動(dòng)后我們需要進(jìn)行檢查
為了保證數(shù)據(jù)庫服務(wù)的安全性,運(yùn)行mysql_secure_installation
腳本。特別需要說明的是,為數(shù)據(jù)庫的root用戶設(shè)置一個(gè)適當(dāng)?shù)拿艽a。
[root@linux-node1 ~]# mysql_secure_installation#它會(huì)幫我們刪除測試數(shù)據(jù)庫等
數(shù)據(jù)庫安裝完成后我們需要給我們后面所要用到的服務(wù)創(chuàng)建用戶并進(jìn)行授權(quán)
創(chuàng)建認(rèn)證服務(wù)的數(shù)據(jù)庫并進(jìn)行授權(quán)
[root@linux-node1 ~]# mysql -uroot -p123456創(chuàng)建keystone數(shù)據(jù)庫create database keystone;grant all on keystone.* to 'keystone'@'localhost' identified by 'keystone';grant all on keystone.* to 'keystone'@'%' identified by 'keystone';
創(chuàng)建鏡像數(shù)據(jù)庫并進(jìn)行授權(quán)
創(chuàng)建glance數(shù)據(jù)庫create database glance;grant all on glance.* to 'glance'@'%' identified by 'glance';grant all on glance.* to 'glance'@'localhost' identified by 'glance';
創(chuàng)建虛擬化數(shù)據(jù)庫并進(jìn)行授權(quán)
創(chuàng)建nova數(shù)據(jù)庫create database nova;grant all on nova.* to 'nova'@'localhost' identified by 'nova';grant all on nova.* to 'nova'@'%' identified by 'nova';
因?yàn)镹ova有2個(gè)項(xiàng)目,所以我們要?jiǎng)?chuàng)建2個(gè)數(shù)據(jù)庫
創(chuàng)建nova-api數(shù)據(jù)庫
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是新版本才有
創(chuàng)建網(wǎng)絡(luò)資源管理數(shù)據(jù)庫
create database neutron;grant all on neutron.* to 'neutron'@'%' identified by 'neutron';grant all on neutron.* to 'neutron'@'localhost' identified by 'neutron';
刷新
flush privileges;
安裝消息隊(duì)列rabbitmq
[root@linux-node1 ~]# yum install rabbitmq-server -y消息隊(duì)列的端口是5672
啟動(dòng)消息隊(duì)列服務(wù)并將其配置為隨系統(tǒng)啟動(dòng):
[root@linux-node1 ~]# systemctl enable rabbitmq-server.service[root@linux-node1 ~]# systemctl start rabbitmq-server.service
因?yàn)槲覀円粫?huì)要使用openstack
,所以我們在rabbitmq
上創(chuàng)建一個(gè)openstack
用戶
[root@linux-node1 ~]# rabbitmqctl add_user openstack openstack[root@linux-node1 ~]# rabbitmqctl add_user用戶 密碼
給openstack
用戶讀寫權(quán)限
[root@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*".*分別代表配置、寫入、讀取
提示:如果rabbitmq沒有啟動(dòng)說明主機(jī)名沒有解析
開啟rabbitmq監(jiān)控插件rabbitmq
有很多插件,我們可以使用rabbitmq-plugins list
查看可用插件 rabbitmq_management
插件提供一個(gè)web界面,所以我們要將它開啟
[root@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_managementrabbitmq啟動(dòng)之后會(huì)監(jiān)聽15672
訪問路徑:http://ip:15672
默認(rèn)Username:guest
默認(rèn)Password:guest
示例圖
提示:這里不能使用openstack
用戶進(jìn)行登陸,因?yàn)槲覀內(nèi)绻胧褂胦penstack用戶進(jìn)行登陸還需要在web
頁面進(jìn)行授權(quán)
現(xiàn)在我們就進(jìn)行rabbitmq
的管理界面了
rabbitmq默認(rèn)有一個(gè)http
的api
,我們?nèi)绻氡O(jiān)控 可以使用http的api進(jìn)行監(jiān)控。里面基本上想監(jiān)控的東西都有,可以通過腳本來獲取通過url
來判斷等。
zabbix相關(guān)文章:http://www.abcdocker.com/zabbix
基礎(chǔ)介紹完!