openstack--1--基礎環境搭建


Openstack介紹


 

OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發並發起的,以Apache許可證授權的自由軟件和開放源代碼項目。

Openstack包含三大項:計算 網絡 存儲 

openstack主要目標是來簡化資源的管理和分配,把計算 網絡 存儲。三大項虛擬成三大資源池,例如需要計算資源我這里可以提供,需要網絡資源這里也可以提供以及存儲資源的需求,對外提供api,通過api進行交互。
openstack的設計基本上是按照亞馬遜進行設置的,我們可以將openstack理解為開源版本的aws。因為它很多地方都參考亞馬遜進行操作的,而且openstack的很多api跟亞馬遜是相通的。

計算資源:管理cpu和內存
存儲資源:存儲數據
網絡資源:網絡資源這塊,最近比較火的就是SDN,軟件定義網絡,真正生產使用的很少。青雲的sdn做的比較好

 

命名從A開始。
E版開始,在國內開始有用了,此時功能比較簡陋,G版用的也比較多
I 版 :最后一個支持centos6和python2.6的,I版本以后的都是默認python2.7開始的了

業界使用openstack做公有雲的有:金山雲,樂視雲,京東雲,攜程,惠普雲,華為,IBM

阿里雲,青雲,騰訊雲都是自己開發的

私有雲以vmware為主

 

openstack由很多組件構成。分別扮演不同的功能

1)計算(Compute,代號為“Nova”)
根據需求提供虛擬的服務器。Rackspace和HP公司提供商業雲計算服務正是建立在Nova之上,在Mercado Libre和NASA(Nova項目的起源地)內部也是使用的Nova。

2)對象存儲(Object Storage,代號為“Swift”)
提供的對象存儲服務,允許對文件進行存儲或者檢索(但不是通過掛載文件服務器上目錄的方式來實現)。
目前已經有好幾家公司開始提供基於Swift的商業存儲服務,這些公司包括KT公司、Rackspace公司(Swift項目的發源地)和Internap公司,
而且,有很多大公司內部也使用Swift來存儲數據。

3)塊存儲(Block Storage,代號為“Cinder”)
為虛擬化的客戶機提供持久化的塊存儲服務。該組件項目的很多代碼最初是來自於Nova之中(就是the nova-volume service)。
不過請注意,這是塊存儲(或者volumes),而不是類似於*S或者CIFS文件系統,Cinder在最新的“Folsom”版本OpenStack中才加入的一個全新的項目。

4)鏡像(Image,代號為“Glance”)
提供了一個虛擬磁盤鏡像的目錄和存儲倉庫,可以提供對虛擬機鏡像的存儲和檢索

5)網絡(Network,代號為“Neutron”)
在接口設備之間提供“網絡連接即服務”的服務,
該服務允許用戶創建自己的網絡,然后添加網絡接口設備。

6)身份認證(Identity,代號為“Keystone”)
為OpenStack上的所有服務提供身份驗證和授權。它還提供了在特定OpenStack雲服務上運行的服務的一個目錄。

7)控制面板(Dashboard,代號為“Horizon”)
為OpenStack的所有服務提供一個模塊化的基於Web的用戶界面。使用這個Web圖形界面,可以完成雲計算平台上的大多數的操作,如啟動客戶機、分配IP地址、設置訪問控制權限等。

 

實驗環境准備


 

實驗環境機器准備

Vmware Workstation
虛擬機系統2個
系統版本:centos7.1.1503 x86_64
內存:4GB
網絡:兩台機器都是nat
磁盤:40GB
額外:勾選vt-x

IP地址如下。同時保證NAT之后可以ping通百度,dns和網關自行設置

 

兩台機器主機名和系統版本

注意,主機名是在openstack一經確定就不能隨意更改,所以要提前規划好

[root@linux-node1 ~]# hostname --fqdn
linux-node1.nmap.com
[root@linux-node1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 
[root@linux-node1 ~]# 

[root@linux-node2 ~]# hostname --fqdn
linux-node2.nmap.com
[root@linux-node2 ~]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 
[root@linux-node2 ~]# 

 

保證兩台機器可以訪問公網

[root@linux-node1 ~]# ping www.baidu.com -c 2
PING www.a.shifen.com (115.239.211.112) 56(84) bytes of data.
64 bytes from 115.239.211.112: icmp_seq=1 ttl=128 time=5.40 ms
64 bytes from 115.239.211.112: icmp_seq=2 ttl=128 time=35.9 ms

--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 5.408/20.697/35.986/15.289 ms
[root@linux-node1 ~]# 


[root@linux-node2 ~]# ping www.baidu.com -c 2
PING www.a.shifen.com (115.239.210.27) 56(84) bytes of data.
64 bytes from 115.239.210.27: icmp_seq=1 ttl=128 time=5.02 ms
64 bytes from 115.239.210.27: icmp_seq=2 ttl=128 time=3.03 ms

--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 3.034/4.031/5.029/0.999 ms

  

 兩台機器配置好主機名解析

[root@linux-node1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.11 linux-node1 linux-node1.nmap.com
192.168.56.12 linux-node2 linux-node2.nmap.com
[root@linux-node1 ~]# 

控制節點和計算節點同步時間,這里去同步阿里雲的時間服務器,很多時候,時間不一致無法創建虛擬機

[root@linux-node2 ~]# ntpdate time1.aliyun.com

  

當然也可以設置控制節點為時間服務器,讓計算節點來同步

[root@linux-node2 ~]# yum install chrony -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Package chrony-2.1.1-4.el7.centos.x86_64 already installed and latest version
Nothing to do
[root@linux-node2 ~]# 

控制節點修改配置文件,允許的客戶端范圍

[root@linux-node1 ~]# vim /etc/chrony.conf 
[root@linux-node1 ~]# grep allow /etc/chrony.conf 
allow 192.168/16
[root@linux-node1 ~]# 

啟動時間服務,並設置開機啟動

[root@linux-node1 ~]# systemctl enable chronyd.service
[root@linux-node1 ~]# systemctl start chronyd.service
[root@linux-node1 ~]# systemctl status chronyd.service

設置時區,檢查時間

[root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai
[root@linux-node1 ~]# timedatectl  status
      Local time: Wed 2017-02-15 22:46:00 CST
  Universal time: Wed 2017-02-15 14:46:00 UTC
        RTC time: Wed 2017-02-15 14:46:00
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
[root@linux-node1 ~]# date
Wed Feb 15 22:46:10 CST 2017
[root@linux-node1 ~]# 

 

 

基礎軟件包安裝


 

基礎軟件包需要在所有的OpenStack節點上進行安裝,包括控制節點和計算節點。

1.安裝EPEL倉庫

[root@linux-node1 ~]# rpm -ivh  http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
Retrieving http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
warning: /var/tmp/rpm-tmp.yt2iBS: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:epel-release-7-9                 ################################# [100%]
[root@linux-node1 ~]# cd /etc/yum.repos.d/
[root@linux-node1 yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  epel.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Vault.repo    epel-testing.repo

2.安裝OpenStack倉庫,這里安裝的是M版本的。

root@linux-node1 yum.repos.d]# yum install -y centos-release-openstack-mitaka
Loaded plugins: fastestmirror
epel/x86_64/metalink                                                | 6.1 kB  00:00:00     
epel                                                                | 4.3 kB  00:00:00     
(1/3): epel/x86_64/group_gz                                         | 170 kB  00:00:00     
(2/3): epel/x86_64/updateinfo                                       | 735 kB  00:00:01     
(3/3): epel/x86_64/primary_db                                       | 4.5 MB  00:00:36     
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Installed:
  centos-release-openstack-mitaka.noarch 0:1-5.el7                                         

Dependency Installed:
  centos-release-ceph-hammer.noarch 0:1.0-5.el7.centos                                     
  centos-release-qemu-ev.noarch 0:1.0-1.el7                                                
  centos-release-storage-common.noarch 0:1-2.el7.centos                                    
  centos-release-virt-common.noarch 0:1-1.el7.centos                                       

Complete!
[root@linux-node1 yum.repos.d]# ls
CentOS-Base.repo         CentOS-fasttrack.repo         CentOS-Vault.repo
CentOS-Ceph-Hammer.repo  CentOS-OpenStack-mitaka.repo  epel.repo
CentOS-CR.repo           CentOS-QEMU-EV.repo           epel-testing.repo
CentOS-Debuginfo.repo    CentOS-Sources.repo
[root@linux-node1 yum.repos.d]# 

3.安裝OpenStack客戶端  

[root@linux-node1 ~]# yum install -y python-openstackclient
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirror.premi.st
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Package python-openstackclient-2.3.0-1.el7.noarch already installed and latest version
Nothing to do
[root@linux-node1 ~]# 

4.安裝openstack SELinux管理包
生產中,我們盡量關閉selinux,如果不關閉selinux,這個服務會幫我們把openstack的selinux配置好

[root@linux-node1 ~]# yum install -y openstack-selinux
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirror.premi.st
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Package openstack-selinux-0.7.13-2.el7.noarch already installed and latest version
Nothing to do
[root@linux-node1 ~]# 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM