OpenStack部署stein版本的多節點雲平臺安裝操作步驟

部署stein版本的多節點雲平臺

一、openstack 概述

openstack 概述 :
OpenStack是一個NASA美國國家航空航天局和Rackspace合作研發的,以Apache許可證授權,並且是一個自由軟件和開放源代碼項目。
Open 是開放,Stack 則是堆砌之意,合起來就是將衆多的功能服務堆積起來的集合,讓人們通過Openstack 雲計算項目,能夠將諸如計算能力、存儲、網絡和軟件等資源抽象成服務,以便讓用戶可以通過互聯網遠程來享用,付費的形式也變得因需而定,調整方便,擁有極強的虛擬可擴展性,是公共和私有云的建設與管理軟件中的優秀開源項目。

二、openstack 的作用

openstack 的作用
OpenStack是一個雲平臺管理的項目,它不是一個軟件。這個項目由幾個主要的組件組合起來完成一些具體的工作。
OpenStack是一個旨在爲公共及私有云的建設與管理提供軟件的開源項目。它的社區擁有超過130家企業及1350位開發者,這些機構與個人都將OpenStack作爲基礎設施即服務(簡稱IaaS)資源的通用前端。

1、IaaS(Infrastructure as a Service),即基礎設施即服務
消費者通過Internet 可以從完善的計算機基礎設施獲得服務。這類服務稱爲基礎設施即服務。基於Internet的服務(如存儲和數據庫)是 IaaS的一部分。
比如: 在騰訊雲上買一臺雲主機(8個CPU,32G,5T硬盤雲主機等)
例: 騰訊雲: https://cloud.tencent.com/

2、PaaS是Platform-as-a-Service的縮寫,意思是開發平臺即服務。 把服務器平臺作爲一種服務提供的商業模式。
例:OpenShift是紅帽的雲開發平臺即服務(PaaS)。 OpenShift的logo如下:

OpenShift 是自由和開放源碼的雲計算平臺,它可以使開發人員能夠創建、測試和運行他們的應用程序,並且可以把它們部署到雲中。Openshift 廣泛支持多種編程語言和框架,如 Java,Ruby 和 PHP 等。另外它還提供了多種集成開發工具如 Eclipse integration,JBoss Developer Studio 和 Jenkins 等。
OpenShift 基於一個開源生態系統爲移動應用,數據庫服務等,提供支持。哪些廠商在做 PaaS 平臺?
例 2:新浪的 SAE PaaS 雲平臺,國內:http://www.sinacloud.com/sae.html

PaaS 的 4大特點:

注:Iaas 幹了硬件工程師的活 , paas 幹了運維的活

3、SaaS 是 Software-as-a-Service(軟件即服務)的簡稱。注:有 SaaS 平臺, 不需要運維,不需要開發。
實戰場景: 我要 1 天就做一個騰訊課堂的平臺。
像: http://www.edusoho.com/ 就是一個典型的 SaaS 平臺
總結:
三種雲平臺架構: IAAS ,PAAS ,SAAS 都是不同的商業模式。

按擁有者分類:
公有云(Public Cloud)、私有云(Private Cloud)、混合雲(Hybrid Cloud)按照技術廠商分類:
微軟雲計算解決方案、亞馬遜 AWS、OpenStack 等
注:國內雲平臺使用 opensctack 二次開發比較多。

4、openstack 版本命名規則
版本發佈以 A-Z 字母順序來發布,很好記。例:
2010 年 10 月 發佈‘Austin’
2011 年 2 月 發佈‘Bexar’ [地名] [美國] 貝爾;
2011 年 4 月 發佈‘Cactus’ [地名] [美國] 卡克特斯;
2011 年 7 月 發佈‘Diablo’
2012 年 4 月 發佈‘Essex’
2012 年 10 月 發佈‘Folsom’
2013 年 4 月 發佈‘Grizzly’
2013 年 10 月 發佈 Havana
2014 年 4 月 發佈‘Icehouse’

https://releases.openstack.org/

查看最新版本 openstack
yum 源:https://repos.fedorapeople.org/repos/openstack/

三、penstack 各組件關係

3.1openstack 核心組成主要有:
核心組件

Keystone(身份認證)、Nova(計算)、Neutron(網絡)、Glance(鏡像存儲)、Cinder(塊存儲)、Swift(對象存儲)
  Horizon(web UI 界面)、Ceilometer(計量)、Heat(部署編排)、Trove(數據庫)

下面詳細說明:
身份認證(Keystone):統一的授權、認證管理。所有組件都依賴於 Keystone 提供 3A(Account,
Authentication, Authorization)服務。
例 1: 3A 認證
1、認證(Authentication),驗證用戶的身份與可使用的網絡服務;
2、授權(Authorization):依據認證結果開放網絡服務給用戶;
3、計帳(Accounting):記錄用戶對各種網絡服務的用量,並提供給計費系統。整個系統在網絡管理與安全問題中十分有效。
比如:寬帶收費就是 3A 認證的典型例子:輸入帳號密碼(認證)-》開 100M 帶寬(授權)-》在營業廳(計帳)

計算管理(Nova):Nova 是 OpenStack 雲中的計算組織控制器。Nova 自身並沒有提供任何虛擬化能力,相反它使用 libvirt API 來與被支持的虛擬技術 Hypervisors 交互。如:kvm、Xen、VMware等虛擬化技術。
Neutron(網絡):實現虛擬機的網絡資源管理如網絡連接、ip 管理、公網映射
鏡像管理(Glance): 主要存儲和管理系統鏡像。 cento 鏡像
塊存儲(Cinder):爲虛擬機提供存儲空間。 比如硬盤,分區,目前支持LVM、ip-san、fc-san等。
對象存儲(Swift):OpenStack Swift 開源項目提供了彈性可伸縮、高可用的分佈式對象存儲服務,適合存儲大規模非結構化數據。通過key/value的方式實現對文件的存儲,現在的雲盤就是這樣的,和MFS,HDFS類似
注:如果客戶需要一個1000T的存儲空間,使用Cinder就不行,效率太低。這時就用Swift。
界面(Horizon):安裝好後,openstack 的 web 界面控制檯 DashBoard
Ceilometer(計量):Ceilometer 是 OpenStack 中的一個子項目,它像一個漏斗一樣,能把OpenStack 內部發生的幾乎所有的事件都收集起來,然後爲計費和監控以及其它服務提供數據支撐。
Ceilometer [sɪ'lɒmɪtə] 雲冪測量儀

Heat(部署編排):是一個編排引擎,它可以基於文本文件形式的模板啓動多個複合雲應用程序(這些文件可以被視爲代碼)。簡單來說,Heat 爲 OpenStack 用戶提供了一種自動創建雲組件(如網絡、實例、存儲設備等)的方法。
[hɪt]
Trove(數據庫):爲關係型數據庫和非關係型數據庫引擎提供可擴展的和可靠的雲數據庫服務,並繼續改進其功能齊全、可擴展的開源框架。
Trove [trəʊv] 寶庫

Openstack的網絡模式有5種
Local模式:一般測試時使用,只需一臺物理機即可。
GRE模式:隧道模式, VLAN數量沒有限制,性能有點問題。
Vlan模式:vlan數量有4096的限制
VXlan模式:vlan數量沒有限制,性能比GRE好。
Flat模式:管理員創建,租戶直接到外網的一種網絡模式,不需要NAT。

擴展:VXLAN 概述
VXLAN 是由思科與 VMware 提出的。

LAN 局域網
VLAN 虛擬局域網
VXLAN 虛擬擴展局域網
VXLAN (Virtual Extensible LAN,虛擬擴展局域網) 它是一種在 UDP 中封裝 MAC 的簡單機制,可以創建跨多個物理 IP 子網的虛擬 2 層子網
比如:通過 vxlan 技術,可以讓我們在不同一個局域網中,劃分新的虛擬局域網。(有點像 vpn 隧道,但是比 VPN 效率高,VPN 使用 tcp,vxlan 採用 UDP,速度快)

爲什麼我們需要這種新技術?
現在不只一種標準可以在 IP 中封裝 MAC(包括 EtherIP 和 GRE 通道橋接),但是它們都無法做到
VLAN 邏輯標記,因此您只能使用最多 4096 個不同的 VLAN。即使可以使用這些標準來分隔邏輯網,您也必須(在負載中)深入分析 MAC 頭信息,以查找出虛擬分片 ID。而 VXLAN 通過一個 24 位分片 ID,在一個數據中心內它能部署百萬個虛擬網。
而且,VXLAN 數據包格式很容易在硬件中實現,所以它以後也許可以更緊密地與物理網絡設備集成。

何時需要 VXLAN?
在需要大量邏輯網時,才應該考慮使用 VXLAN。如果只有少量邏輯網,那麼就還是應該使用經過時間考驗的技術,如 VLAN。 你的邏輯網不超過 4096 個,都用 VLAN。

VXLAN硬件產品:H3C S6800數據中心以太網匯聚交換機

H3C S6800系列交換機支持VXLAN (Virtual Extensible LAN,虛擬擴展局域網), VXLAN通過將虛擬機發出的數據包封裝在UDP中,並使用物理網絡的IP/MAC作爲outer-header封裝後在物理IP網上傳輸,到達目的地後由隧道終結點解封並將數據發送給目標虛擬機,解決了地理分散的數據中心之間遠距離虛擬機遷移問題。

VLAN 與 VXLAN 之間有何區別:VXLAN 顯然更具可擴展性(4,096 個 VLAN 網 vs 1600 萬個VXLAN 網)

openstack 項目相關資源獲取

http://www.openstack.org 
https://github.com/openstack 
http://docs.openstack.org/ 
http://www.openstack.cn	openstack 中文

四、OpenStack 部署

4.1 部署方法

主要有以下 6 種:

1.社區手冊
http://docs.openstack.org
2.RDO https://www.rdoproject.org(http://openstack.redhat.com)
3.RedHat Enterprise Linux OpenStack Platform   (E210 考試)
http://www.redhat.com/en/technologies/linux-platforms/openstack-platform
4.Mirantis(Fuel) https://www.mirantis.com
5.高級定製 Puppet、Chef
6.kolla 基於 docker+ansible 安裝 openstack ,把 openstack 每個組件做成 docker 實例

4.2 準備 openstack 多節點實驗環境

新創建 3 臺虛擬機,分別作爲 controller 節點,compute 節點,其中 controller(控制節點)2 張網卡並添加一塊硬盤,compute(計算節點)、1 張網卡。
操作系統爲必須是 centos7.6 ,可以最小化安裝,因爲這裏提供的離線包是基於 centos7.6 做的。
centos7.5 或 7.4 系統沒有辦法使用我提供的離線包的。

注:controller 節點也作爲安裝節點,配置雙網卡添加硬盤
image

4.3 實驗拓撲圖:

image

4.3.1、master1 再添加 1 個網卡:一個僅主機一個橋接,新加一塊磁盤 40G或100G(看自己的需要),作爲 cinder 的 lvm 後端存儲用

2、準備 node1、node2 計算節點只用一個網卡,僅主機模式。內存使用 2G

開啓 3 臺虛擬機的“虛擬化 VT”功能
注:如果是在虛擬機裏裝 openstack,希望 VMware 虛擬機中可以啓動 KVM 虛擬機,那麼你需要開啓“虛擬化 Intel VT”功能。因爲默認 Nova 計算結點使用 KVM 技術提供雲主機。

4.4 部署

4.4.1 集羣網絡環境初始化

一、配置網卡

1、控制節點,注意 eth1 內網網卡不要設置網關。

[root@master1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth1"
DEVICE="eth1"
ONBOOT="yes"

IPADDR=172.16.0.10
NETMASK=255.255.0.0
#GATEWAY=172.16.0.1

注:eth1的默認網關刪除
配置 eth0 的NAT網絡的 IP,網段和網關根據你自己所在網絡環境中的情況,進行修改

[root@master1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
#UUID="e8f55d4d-4aab-47fb-9a12-c39f683b2f33"
DEVICE="eth0"
ONBOOT="yes"

IPADDR=192.168.7.10
NETMASK=255.255.255.0
GATEWAY=192.168.7.2
DNS1=114.114.114.114
[root@master1 ~]# systemctl restart network

2、計算節點 node1

[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth1"
#UUID="e8f55d4d-4aab-47fb-9a12-c39f683b2f33"
DEVICE="eth1"
ONBOOT="yes"

IPADDR=172.16.0.20
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
DNS1=114.114.114.114
[root@node1 ~]# systemctl restart network

3、計算節點 node2

[root@node2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth1"
DEVICE="eth1"
ONBOOT="yes"
IPADDR=172.16.0.30
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
二、配置主機名

配置 Hostname

[root@master1 ~]# hostnamectl set-hostname master1
[root@node1 ~]# hostnamectl set-hostname node1
[root@node2 ~]# hostnamectl set-hostname node2
三、配置/etc/hosts
[root@master1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.10 master1 
172.16.0.10 master1 
172.16.0.20 node1
172.16.0.30 node2

拷貝到其他主機

[root@master1 ~]# scp /etc/hosts node1:/etc/
[root@master1 ~]# scp /etc/hosts node2:/etc/

注:hosts 文件中的短主機名,給 rabbitmq 使用的。 rabbitmq 服務會使用短主機域名

四、配置免密登錄
[root@master1 ~]# ssh-keygen
[root@master1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
[root@master1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
五、配置本地 yum 源

上傳 openstack 離線包到控制節點

[root@master1 ~]#  tar xf openstack-stein.tar.gz -C /usr/local/src/ 
[root@master1 ~]# scp -r openstack node1:/usr/local/src/
[root@master1 ~]# scp -r openstack node2:/usr/local/src/

下面配置本地 yum 源(要在所有節點上操作)移除本地 yum 源

[root@master1 ~]# cd /etc/yum.repos.d/  && mkdir bak
[root@master1 ~]# mv * bak/

創建 openstack 離線 yum 源

[root@master1 yum.repos.d]#  cat openstack-stein.repo 
[openstack-stein-packages]
name= stein 
baseurl=file:///usr/local/src/openstack 
gpgcheck=0
enable=1

拷貝至集羣中所有的主機

[root@master1 ~]# scp openstack-stein.repo node1:/etc/yum.repos.d/
[root@master1 ~]# scp openstack-stein.repo node2:/etc/yum.repos.d/

配置本地系統光盤鏡像源(所有節點操作)

[root@master1 ~]#  mount /dev/cdrom /mnt/ 
[root@node1 ~]#    mount /dev/cdrom /mnt/ 
[root@node2 ~]#    mount /dev/cdrom /mnt/

創建本地 centos 源

[root@master1 yum.repos.d]# cat centos7.repo 
[centos7]
name=centos7 
baseurl=file:///mnt 
enable=1 
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

拷貝至集羣中所有的主機

[root@master1 yum.repos.d]# scp centos7.repo node1:/etc/yum.repos.d/
[root@master1 yum.repos.d]# scp centos7.repo node2:/etc/yum.repos.d/

生成 yum 緩存(所有節點操作)

[root@master1 yum.repos.d]#  yum clean all	&&	yum makecache
[root@node1 yum.repos.d]#  yum clean all	&&	yum makecache
[root@node2 yum.repos.d]#  yum clean all	&&	yum makecache
六、使用 openstack-packstack 自動化安裝 openstack

1、安裝 openstack-packstack

[root@master1 ~ ]# yum -y install openstack-packstack
生成應答文件,自動化安裝程序將按照應答文件中的配置進行安裝,所以我們需要將應答文件設置爲我們預期的配置。
[root@master1 ~ ]# packstack --gen-answer-file=openstack.txt
告警信息忽略即可。沒有影響。

image
注:對於參數 CONFIG_NEUTRON_L2_AGENT,NEUTRON 二級代理: 您已經選擇了 OVN 中子後端。請注意,此後端不支持 LBaaS、VPNaaS 或 FWaaS 服務。Geneve 將用作租戶網絡的封裝方法

2、配置應答文件擴展:

sed 查找替換時,不加/c ,把查找到的內容,替換成我們指定的內容。加/c,能把 sed 查找到的一行,全部替換成我們指定的 TEXT

修改所有服務的密碼(生產環境勿用 123456)

[root@master1 ~]# sed -i -r 's/(.+_PW)=.+/\1=123456/' openstack.txt
替換配置文件中的控制節點 ip 爲內網地址,默認是 eth0 橋接地址。 
[root@master1 ~]#  sed -i -r 's/172.16.0.10/192.168.0.10/g' openstack.txt
設置計算節點爲 20 和 30
[root@master1 ~]# sed -i '/^CONFIG_COMPUTE_HOSTS=/cCONFIG_COMPUTE_HOSTS=172.16.0.20,172.16.0.30' openstack.txt
SWIFT 是 OpenStack 的對象存儲組件,默認是 Y,在生產環境中一般是不裝,所以關閉。 
[root@master1 ~]# sed -i '/^CONFIG_SWIFT_INSTALL=/cCONFIG_SWIFT_INSTALL=n' openstack.txt

取消下載 demo 鏡像,該鏡像由國外站點下載,速度非常慢,而且會導致安裝失敗。
[root@master1 ~]#  sed -i '/^CONFIG_PROVISION_DEMO=/cCONFIG_PROVISION_DEMO=n' openstack.txt

3、修改 openstack 集羣網絡配置
OpenvSwitch 是開源 Apache 2.0 的高質量多層次虛擬交換機軟件,在某一個虛擬化的環境中,
vSwitch 的主要功能:傳遞 VM 之間的流量、實現 VM 和外界網絡通信。最初的虛擬機之間的隔離使用了 Nova-network,底層採用的是 Linux Bridge 技術,虛擬機網絡的組建和配置非常不靈活而且配置無法模塊化,擴展非常困難,對於運維來說對錯誤定位也有一定的難度,OpenvSwitch 就是爲了解決以上問題而出現的,支持 QoS、鏡像功能和 netflow 功能等。OpenvSwitch 支持 vlan、vxlan 和 gre 等多種隔離方式,同時支持 OpenFlow 協議,在後續的 SDN 技術可以對其管理。
3.1 設置二層網絡架構可選項爲'linuxbridge', 'openvswitch', 'ovn',但是 openvswitch 目前是主流方式我們選擇該配置

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_L2_AGENT=/cCONFIG_NEUTRON_L2_AGENT=openvswitch' openstack.txt
注:  將 CONFIG_NEUTRON_L2_AGENT=ovn 改爲
CONFIG_NEUTRON_L2_AGENT=openvswitch 
這樣就解決了上面執行: packstack--gen-answer-file=openstack.txt	報的警告:

注:對於參數 CONFIG_NEUTRON_L2_AGENT,NEUTRON 二級代理: 您已經選擇了 OVN 中子後端。請注意,此後端不支持 LBaaS、VPNaaS 或 FWaaS 服務。將 OVN 改爲 openvswitch 就可以解決這些問題了。openvswitch 支持這些網絡技術。

3.2 設置網絡類型驅動的支持類型,openvswitch 支持的類型非常多(flat,vlan,vxlan,geneve)

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_TYPE_DRIVERS=/cCONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vlan,vxlan,geneve' openstack.txt 
設置租戶網絡類型爲 vxlan 
[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=/cCONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan' openstack.txt

3.3 設置 flat 二層網絡名稱,該名稱可以自定義,但是後面多個配置需要使用該名稱,所以保持默認即可。否則需要手動修改後續所有配置項。

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_FLAT_NETWORKS=/cCONFIG_NEUTRON_ML2_FLAT_NETWORKS=datacenter' openstack.txt
將 flat 二層網絡和 br-ex 網卡關聯。
[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=/cCONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=datacenter:br-ex' openstack.txt

3.4 配置網卡橋接,將 br-ex 網卡橋接到 eth0 網卡上。這樣集羣中的主機就可以上網。

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_OVS_BRIDGE_IFACES=/cCONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0' openstack.txt

3.5 分配 vlan 標記範圍,默認值很小所以手動設置一下 1000-2000 這樣就夠用了。

[root@master1 ~]# sed -i '/^CONFIG_NEUTRON_ML2_VLAN_RANGES=/cCONFIG_NEUTRON_ML2_VLAN_RANGES=datacenter:1000:2000' openstack.txt
關閉創建卷,我們手工創建即可。 
[root@master1 ~]#  sed -i '/^CONFIG_CINDER_VOLUMES_CREATE=/cCONFIG_CINDER_VOLUMES_CREATE=n' openstack.txt

image
3.6 創建 vg 卷
先lsblk查看一下數據盤是否加載出來,如果沒有加載可以使用以下命令掃描磁盤host0,1,2,3可以都掃描一下

echo "- - -" > /sys/class/scsi_host/host0/scan
[root@master1 ~]# vgcreate cinder-volumes /dev/sdb
注: 因爲 openstack.txt 中默認的 vg 卷組的名字是 cinder-volumes,所以保持一樣
如果沒有vgcreate命令則執行yum install -y lvm2 安裝一下
[root@master1 ~]# grep cinder-volumes openstack.txt #查看卷組 
CONFIG_CINDER_VOLUME_NAME=cinder-volumes

image

七、開始安裝openstack

[root@master1 ~]# packstack --answer-file=openstack.txt
查看部署過程(大約持續 20 分鐘)
[root@master1 ~]# tail -f /var/log/messages

報錯,缺少leatherman_curl.so,從打印信息看,應該是leatherman rpm包版本問題

# yum list | grep leatherman
leatherman.x86_64                         1.10.0-1.el7                 @epel
leatherman-devel.x86_64                   1.10.0-1.el7                 epel


從打印信息看,應該是leatherman rpm包版本問題
查看當前系統內安裝的版本

# yum list | grep leatherman
leatherman.x86_64                         1.10.0-1.el7                 @epel
leatherman-devel.x86_64                   1.10.0-1.el7                 epel

而facter需要1.3.0

# facter -p
facter: error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory

所以需要降低版本

yum downgrade leatherman -y 

3個節點安裝完後再次執行安裝...

[openstack-packages]
name= stein 
baseurl=http://mirrors.163.com/centos/7/cloud/x86_64/openstack-stein/ 
gpgcheck=0
enable=1


這裏又開始報錯了,缺少swift相關的安裝包,這裏配置一下OpenStack的源,編輯完後可以執行yum makecache生成一下緩存後
再次執行packstack --answer-file=openstack.txt 安裝

看到這個提示表示安裝完成,可以使用下面的url進行訪問OpenStack的Dashboard頁面

5、修改 openstack web 界面配置
任務完成後會提示訪問地址,但是這個地址是內網地址,我們需要修改一下 httpd 偵聽在 ens38 橋接網卡上,方便你使用物理機上的瀏覽器來訪問 openstack web 界面

[root@master1 ~]# vim   /etc/httpd/conf.d/15-horizon_vhost.conf
改:
31	ServerAlias 192.168.88.63
爲:
31	ServerAlias 192.168.1.63 
[root@master1 ~]# systemctl restart httpd

4.5 Web頁面訪問OpenStack

訪問地址:http://192.168.7.10/dashboard
用戶名:admin
密碼:123456

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章