天天看點

OpenStack概念及OpenStack的搭建openstack 安裝總結

什麼是openstack

OpenStack 是一系列開源工具(或開源項目)的組合,主要使用池化虛拟資源來建構和管理私有雲及公共雲。其中的六個項目主要負責處理核心雲計算服務,包括計算、網絡、存儲、身份和鏡像服務。還有另外十多個可選項目,使用者可把它們捆綁打包,用來建立獨特、可部署的雲架構。

雲計算模式

一、IaaS:基礎設施即服務(個人比較習慣的):使用者通過網絡擷取虛機、存儲、網絡,然後使用者根據自己的需求操作擷取的資源

二、PaaS:平台即服務:将軟體研發平台作為一種服務, 如Eclipse/Java程式設計平台,服務商提供程式設計接口/運作平台等

三、SaaS:軟體即服務 :将軟體作為一種服務通過網絡提供給使用者,如web的電子郵件、HR系統、訂單管理系統、客戶關系系統等。使用者無需購買軟體,而是向提供商租用基于web的軟體,來管理企業經營活動

OpenStack 中有哪些項目?

OpenStack 架構由大量開源項目組成。其中包含 6 個穩定可靠的核心服務,用于處理計算、網絡、存儲、身份和鏡像; 同時,還為使用者提供了十多種開發成熟度各異的可選服務。OpenStack 的 6 個核心服務主要擔綱系統的基礎架構,其餘項目則負責管理控制台、編排、裸機部署、資訊傳遞、容器及統籌管理等操作。

Keystone: 認證所有 OpenStack 服務并對其進行授權。同時,它也是所有服務的端點目錄。

Glance: 可存儲和檢索多個位置的虛拟機磁盤鏡像。

Nova:是一個完整的 OpenStack 計算資源管理和通路工具,負責處理規劃、建立和删除操作。

Neutron :能夠連接配接其他 OpenStack 服務并連接配接網絡。

Horizon:web管理界面

Swift: 是一種高度容錯的對象存儲服務

Cinder 通過自助服務 API 通路持久塊存儲。

openstack 安裝

環境準備

主機名稱 IP位址 最小資源配置
openstack 192.168.1.10 2CPU,8G記憶體
nova01 192.168.1.11 2CPU,3G記憶體
nova02 192.168.1.12 2CPU,3G記憶體
repo 192.168.1.250 2CPU,1G記憶體

上傳 RHEL7-extras.iso、RHEL7OSP-10.iso 到功能伺服器[repo]

功能伺服器安裝配置

時間源伺服器

[[email protected] ~]# yum install -y chrony
[[email protected] ~]# vim /etc/chrony.conf
# 注釋掉所有 server 開頭的行,添加
server ntp.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
local stratum 10
[[email protected] ~]# systemctl enable chronyd
[[email protected] ~]# systemctl restart chronyd
[[email protected] ~]# ss -ltun  # 檢視 123 端口是否被監聽成功
           

網絡yum源伺服器

[[email protected] ~]# yum install -y vsftpd
[[email protected] ~]# systemctl enable --now vsftpd
[[email protected] ~]# mkdir -p /var/ftp/{extras,openstack}
[[email protected] ~]# cd /var/iso
[[email protected] ~]# mount -t iso9660 -o ro,loop RHEL7-extras.iso /var/ftp/extras
[[email protected] ~]# mount -t iso9660 -o ro,loop RHEL7OSP-10.iso /var/ftp/openstack
# 在openstack上驗證
[[email protected] ~]# curl ftp://192.168.1.250/extras/
[[email protected] ~]# curl ftp://192.168.1.250/openstack/
           

openstack 實驗架構圖例

openstack系統環境安裝配置

以下操作,openstack,nova01 都需要做

[[email protected] ~]# vim /etc/selinux/config
# 修改 SELINUX=disabled
[[email protected] ~]# yum -y remove firewalld-*
[[email protected] ~]# reboot
# 重新開機後驗證
[[email protected] ~]# sestatus 
SELinux status:                 disabled
[[email protected] ~]# rpm -qa |grep -i firewalld
[[email protected] ~]# 
           

解除安裝 NetworkManager

[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# yum remove -y NetworkManager
[[email protected] ~]# systemctl enable --now network
           

網卡配置檔案注解

  • # Generated by dracut initrd # 注釋
  • DEVICE=“eth0” # 驅動名稱,與ifconfig 看到的名稱一緻
  • ONBOOT=“yes” # 開機啟動
  • NM_CONTROLLED=“no” # 不接受 NetworkManager 控制
  • TYPE=“Ethernet” # 類型
  • BOOTPROTO=“static” # 協定(dhcp|static|none)
  • IPADDR=“192.168.1.10” # IP位址
  • NETMASK=“255.255.255.0” # 子網路遮罩
  • GATEWAY=“192.168.1.254” # 預設網關

Yum安裝源配置

确認軟體包總數是 10670

[[email protected] ~]# vim /etc/yum.repos.d/openstack.repo 
[local_extras]
name=CentOS-$releasever - Extras
baseurl="ftp://192.168.1.250/extras"
enabled=1
gpgcheck=0

[local_openstack]
name=CentOS-$releasever - OpenStack
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[local_openstack_devtools]
name=CentOS-$releasever - Openstack devtools
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[[email protected] ~]# yum makecache
[[email protected] ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                    repo name                           status
CentOS-Base                CentOS-7 - Base                     9,911
local_extras               CentOS-7 - Extras                   76
local_openstack            CentOS-7 - OpenStack                680
local_openstack_devtools   CentOS-7 - Openstack devtools       3
repolist: 10,670
           

時間伺服器配置

[[email protected] ~]# vim /etc/chrony.conf
# 注釋掉所有 server 開頭的行,添加
server 192.168.1.250 iburst
[[email protected] ~]# systemctl restart chronyd
[[email protected] ~]# chronyc sources -v  # 驗證配置 ^* 代表成功
           

主機名與DNS配置

[[email protected] ~]# vim /etc/hosts
192.168.1.10    openstack
192.168.1.11    nova01
192.168.1.12    nova02
192.168.1.250   repo
# 删除所有 search 開頭的行
[[email protected] ~]# sed '/^search /d' -i /etc/resolv.conf
           

nova虛拟環境安裝

nova01 安裝

[[email protected] ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools
[[email protected] ~]# systemctl enable --now libvirtd
[[email protected] ~]# virsh version # 驗證
           

packstack工具安裝

隻需要在 openstack 上安裝即可

openstack安裝

使用應答檔案安裝,隻需要在 openstack 上安裝即可

# 建立應答檔案
[[email protected] ~]# packstack --gen-answer-file=answer.ini
# 修改應答檔案
42:   CONFIG_SWIFT_INSTALL=n                              //存儲對象元件
45:   CONFIG_CEILOMETER_INSTALL=n                         //計費子產品
49:   CONFIG_AODH_INSTALL=n                               //計費子產品
53:   CONFIG_GNOCCHI_INSTALL=n                            //計費子產品
75:   CONFIG_NTP_SERVERS=192.168.1.250                    //時間伺服器
98:   CONFIG_COMPUTE_HOSTS=192.168.1.11                   //計算節點IP
102:  CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11      //網絡節點IP
333:  CONFIG_KEYSTONE_ADMIN_PW=a                          //管理者密碼
840:  CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan          //支援協定
910:  CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex   //網橋裝置
921:  CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0         //出口網卡
1179: CONFIG_PROVISION_DEMO=n                             //示範子產品
           

做快照!!!

做快照!!!

做快照!!!

安裝過程大約 10 ~ 30 分鐘不等

web頁面登入

修改 apache 配置

[[email protected] ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 
# 在配置檔案倒數第三行添加
WSGIApplicationGroup %{GLOBAL}
[[email protected] ~]# systemctl reload httpd
           

浏覽器通路 http://192.168.1.10/

指令行登入openstack

[[email protected] ~]# openstack user list
Missing value auth-url required for auth plugin password
# 沒有登入擷取資料失敗
[[email protected] ~]# source keystonerc_admin 
[[email protected] ~(keystone_admin)]# openstack user list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 0e5367062de6478a9fe2d0456cb5fddb | nova    |
| 27191744bc6349f5b34822c083f7874e | admin   |
| 803074aab6fe49a19b983d9fbb7322be | glance  |
| cf35dd75778d4479965e2f39771956de | neutron |
| d5f4ffae68e54210a6bb29fba36acaaa | cinder  |
+----------------------------------+---------+
# 登入以後擷取資料成功
           

nova02 安裝

openstack 實驗架構圖例

openstack系統環境安裝配置

[[email protected] ~]# vim /etc/selinux/config
# 修改 SELINUX=disabled
[[email protected] ~]# yum -y remove firewalld-*
[[email protected] ~]# reboot
# 重新開機後驗證
[[email protected] ~]# sestatus 
SELinux status:                 disabled
[[email protected] ~]# rpm -qa |grep -i firewalld
[[email protected] ~]# 
           

解除安裝 NetworkManager

[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# yum remove -y NetworkManager
[[email protected] ~]# systemctl enable --now network
           

網卡配置檔案

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.12"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.254"
           

Yum安裝源配置

确認軟體包總數是 10670

[[email protected] ~]# vim /etc/yum.repos.d/openstack.repo 
[local_extras]
name=CentOS-$releasever - Extras
baseurl="ftp://192.168.1.250/extras"
enabled=1
gpgcheck=0

[local_openstack]
name=CentOS-$releasever - OpenStack
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[local_openstack_devtools]
name=CentOS-$releasever - Openstack devtools
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[[email protected] ~]# yum makecache
[[email protected] ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                    repo name                           status
CentOS-Base                CentOS-7 - Base                     9,911
local_extras               CentOS-7 - Extras                   76
local_openstack            CentOS-7 - OpenStack                680
local_openstack_devtools   CentOS-7 - Openstack devtools       3
repolist: 10,670
           

時間伺服器配置

[[email protected] ~]# vim /etc/chrony.conf
# 注釋掉所有 server 開頭的行,添加
server 192.168.1.250 iburst
[[email protected] ~]# systemctl restart chronyd
[[email protected] ~]# chronyc sources -v  # 驗證配置 ^* 代表成功
           

主機名與DNS配置

[[email protected] ~]# vim /etc/hosts
192.168.1.10    openstack
192.168.1.11    nova01
192.168.1.12    nova02
192.168.1.250   repo
# 删除所有 search 開頭的行
[[email protected] ~]# sed '/^search /d' -i /etc/resolv.conf
           

nova虛拟環境安裝

[[email protected] ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools
[[email protected] ~]# systemctl enable --now libvirtd
[[email protected] ~]# virsh version # 驗證
           

nova02安裝

在 openstack 上安裝 nova02,修改第一次安裝的配置檔案,不能重新生成!!!

[[email protected] ~]# vim answer.ini
98:   CONFIG_COMPUTE_HOSTS=192.168.1.12
102:  CONFIG_NETWORK_HOSTS=192.168.1.12
           

安裝過程大約 10 ~ 30 分鐘不等

web頁面登入

修改 apache 配置

[[email protected] ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 
# 在配置檔案倒數第三行添加
WSGIApplicationGroup %{GLOBAL}
[[email protected] ~]# systemctl reload httpd
           

浏覽器通路 http://192.168.1.10/

總結

Horizon  元件,提供web管理界面
Keystone 元件,提供集中的認證和授權
Nova     元件,計算節點建立管理雲主機
Glance   元件,管理雲主機鏡像
Swift    元件,存儲雲使用的對象存儲服務
Neutron  元件,管理雲服務的内部、外部網絡路由等
Cinder   元件,管理雲主機的存儲卷服務