CentOS7進行OpenStack(queens)最小化部署實驗出現的問題與解決過程


注:此文為《OpenStack(queens)最小化搭建記錄——控制與計算共兩個節點》的補充

1.chrony時間同步服務搭建的時候,出現計算節點無法與控制節點同步。(controller節點)

  問題原因:控制節點防火牆開啟,關閉防火牆即可解決。

2.啟用OpenStack-queens儲存庫時,因為源節點在外網,訪問速度過慢或常出錯。(controller&compute節點)

  解決方法:修改/etc/yum.repos.d/CentOS-OpenStack-queens.repo,把第一項baseurl進行更改

 1 [root@controller yum.repos.d]# vim /etc/yum.repos.d/CentOS-OpenStack-queens.repo 
 2 
 3 # CentOS-OpenStack-queens.repo
 4 #
 5 # Please see http://wiki.centos.org/SpecialInterestGroup/Cloud for more
 6 # information
 7 
 8 [centos-openstack-queens]
 9 name=CentOS-7 - OpenStack queens
10 #baseurl=http://mirror.centos.org/centos/7/cloud/$basearch/openstack-queens/
11 baseurl=http://mirrors.163.com/centos/7.5.1804/cloud/x86_64/openstack-queens/    ===>修改項
12 gpgcheck=1
13 enabled=1
View Code

3.控制節點的mariadb數據庫無法從計算節點連接(好像不需要)(controller節點)

  問題原因:控制節點防火牆開啟,關閉防火牆即可解決。

4.配置keystone時出現的一些錯誤:(controller節點)

  錯誤信息1:ERROR keystone OperationalError: (pymysql.err.OperationalError) (1044, u"Access denied for user 'keystone'@'controller' to database 'keystone/'") (Background on this error at: http://sqlalche.me/e/e3q8)

  問題原因:在配置keystone是修改的/etc/keystone/keystone.conf文件中的connection選項最后多了一個“/”,使得keystone填充認證服務數據庫時候登錄出錯,因為數據庫變成了"keystone/"。

  解決方法1:一開始沒注意到是數據庫名稱出錯的時候以為是用controller登錄失敗,一試果然不能用-h controller 登錄,因為給數據庫的keystone用戶賦權限的時候只有localhost和%兩個,所以再增加一個controller解決hosts名為controller的登錄問題(其實這里有一個疑問,就是hosts中localhost的ip是127.0.0.1,controller的ip是10.132.226.103但是這個應該也屬於%的范圍吧,為什么會登錄失敗有待考究,可能是自己打錯了)

  解決方法2:那就是重新修改/etc/keystone/keystone.conf文件去掉最后那個“/”。

  錯誤信息2:ERROR keystone.common.wsgi OperationalError: (pymysql.err.OperationalError) (1044, u"Access denied for user 'keystone'@'controller' to database 'keystone/'") (Background on this error at: http://sqlalche.me/e/e3q8)

  問題原因:在最開始修改keystone.conf配置文件的時候執行了初始化Fernet密鑰存儲庫的兩個命名,在去掉"/"后再次執行這兩個命令,通過日志可以發現因為之前初始化過了所以系統檢測到有密鑰存在就aborting終止了,所以密鑰還是原來那個存在錯誤數據庫的密鑰。

  解決方法:刪除/etc/keystone/credential-keys,和/etc/keystone/fernet-keys文件夾中的文件,再一次初始化密鑰存儲庫即可。

1 [root@controller credential-keys]# rm -rf *
2 [root@controller keystone]# cd fernet-keys/
3 [root@controller fernet-keys]# ls
4 0  1
5 [root@controller fernet-keys]# rm -rf *
6 [root@controller fernet-keys]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
7 [root@controller fernet-keys]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
View Code

5.在計算節點安裝 openstack-nova-compute時報錯(compute1節點)

  錯誤信息:Error: Package: 1:openstack-nova-compute-17.0.5-1.el7.noarch (centos-openstack-queens)         Requires: qemu-kvm-rhev >= 2.9.0

   問題原因:因為之前安裝centos-openstack-queens的時候由這個包和其他依賴包產生幾個源,但是由於源的地址是在國外,再進行安裝其他軟件是會出錯就刪除了由安裝centos-openstack-queens時及其依賴包產生的一些源文件。其中就有包含一個CentOS-QENU-EV.repo的源文件,是由安裝centos-release-qemu-ev-1.0-3.el7.centos.noarch包產生的。

  解決方法:重新安裝一遍這個包,從網易的163源上找到了這個包復制其連接進行安裝

[root@compute1 yum.repos.d]# rpm -ivh http://mirrors.163.com/centos/7.5.1804/extras/x86_64/Packages/centos-release-qemu-ev-1.0-3.el7.centos.noarch.rpm --replacepkgs

# --replacepkgs是重新安裝某個軟件,否則因為之前已安裝過會報錯
View Code

  參考鏈接:https://blog.csdn.net/GT_Stone/article/details/80629559

6.執行確認數據庫中有計算主機命令時出錯(controller節點)openstack compute service list --service nova-compute

  錯誤信息:The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-a2d287c7-2fad-4111-9720-8e6fe6ff87be)

  錯誤原因與解決方法:控制節點修改/etc/nova/nova.conf配置文件中[keystone_authtoken]配置出錯(使用了中文的冒號),重新配置

[keystone_authtoken]

auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova123

 7.在執行sysctl命令將net.bridge.bridge-nf-call-iptables和net.bridge.bridge-nf-call-ip6tables值設為1時出錯

  錯誤信息:sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory  sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables:1: No such file or directory

  錯誤原因:應該是未加載加載bridge模塊,加載br_netfilter模塊

  解決方法:安裝bridge-util軟件,加載bridge模塊,加載br_netfilter模塊

[root@controller net]# yum install -y bridge-utils.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Package bridge-utils-1.5-9.el7.x86_64 already installed and latest version
Nothing to do   ===>模塊已安裝,未加載
[root@controller net]# modprobe bridge
[root@controller net]# modprobe br_netfilter
View Code

 8.登錄Horizon的時候出現錯誤(賬號密碼正確)

  錯誤信息:通過/var/log/httpd/error_log查看發現有這么一個錯誤:RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.

  錯誤原因:memcached.service服務沒有起來

  解決方法:修改/etc/sysconfig/memcached文件,刪除OPTION選項那一行

  參考鏈接:https://blog.csdn.net/a610616898/article/details/67652202  http://www.voidcn.com/article/p-klezqidk-bph.html

 
       


免責聲明!

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



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