背景:
清明節放假期間,公司有項目問題,需要緊急處理,結果物業停電,公司所有服務器都斷電了,再次上電後,好多機器的自啓沒做,只好讓同事到公司手動開啓,但是公司的openstack服務器起來後,訪問不了網頁。
問題現象:
登錄openstack,報error 500, Internal server error
經過:
之前沒有玩過openstack,更別提解決問題了,只好百度;
1、先檢查openstack 服務啓動情況
查到命令 nova-manage service list
[root@localhost ~]# nova-manage service list
Option "verbose" from group "DEFAULT" is deprecated for removal. Its value may be silently ignored in the future.
Option "notification_topics" from group "DEFAULT" is deprecated. Use option "topics" from group "oslo_messaging_notifications".
DEPRECATED: Use the nova service-* commands from python-novaclient instead or the os-services REST resource. The service subcommand will be removed in the 14.0 release.
Binary Host Zone Status State Updated_At
nova-osapi_compute 0.0.0.0 internal enabled XXX None
nova-metadata 0.0.0.0 internal enabled XXX None
nova-cert localhost.localdomain internal enabled :-) 2020-04-10 00:01:40
nova-consoleauth localhost.localdomain internal enabled :-) 2020-04-10 00:01:40
nova-scheduler localhost.localdomain internal enabled :-) 2020-04-10 00:01:40
nova-conductor localhost.localdomain internal enabled :-) 2020-04-10 00:01:39
nova-compute localhost.localdomain nova enabled :-) 2020-04-10 00:01:36
[root@localhost ~]#
根據描述state爲XXX的表示沒有啓動成功,當時也沒多少經驗,就一直在研究這兩個XXX的服務爲啥沒起來
2、檢查metadata、osapi_compute爲啥沒起來
從/usr/lib/systemd/system目錄查看openstack服務
[root@localhost ~]# ll /usr/lib/systemd/system/openstack*
-rw-r--r-- 1 root root 326 Feb 16 2016 /usr/lib/systemd/system/openstack-cinder-api.service
-rw-r--r-- 1 root root 335 Feb 16 2016 /usr/lib/systemd/system/openstack-cinder-backup.service
-rw-r--r-- 1 root root 344 Feb 16 2016 /usr/lib/systemd/system/openstack-cinder-scheduler.service
-rw-r--r-- 1 root root 335 Feb 16 2016 /usr/lib/systemd/system/openstack-cinder-volume.service
-rw-r--r-- 1 root root 248 Mar 21 2016 /usr/lib/systemd/system/openstack-glance-api.service
-rw-r--r-- 1 root root 256 Mar 21 2016 /usr/lib/systemd/system/openstack-glance-glare.service
-rw-r--r-- 1 root root 258 Mar 21 2016 /usr/lib/systemd/system/openstack-glance-registry.service
-rw-r--r-- 1 root root 254 Mar 21 2016 /usr/lib/systemd/system/openstack-glance-scrubber.service
-rw-r--r-- 1 root root 242 May 25 2016 /usr/lib/systemd/system/openstack-keystone.service
-rw-r--r-- 1 root root 571 Aug 9 2016 /usr/lib/systemd/system/openstack-losetup.service
-rw-r--r-- 1 root root 230 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-api.service
-rw-r--r-- 1 root root 232 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-cert.service
-rw-r--r-- 1 root root 302 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-compute.service
-rw-r--r-- 1 root root 242 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-conductor.service
-rw-r--r-- 1 root root 251 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-consoleauth.service
-rw-r--r-- 1 root root 244 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-console.service
-rw-r--r-- 1 root root 248 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-metadata-api.service
-rw-r--r-- 1 root root 304 Jun 18 2016 /usr/lib/systemd/system/openstack-nova-novncproxy.service
-rw-r--r-- 1 root root 248 Jun 18 2016 /usr/lib/systemd/system/openstack-nova-os-compute-api.service
-rw-r--r-- 1 root root 242 Jun 17 2016 /usr/lib/systemd/system/openstack-nova-scheduler.service
-rw-r--r-- 1 root root 216 Jun 18 2016 /usr/lib/systemd/system/openstack-nova-xvpvncproxy.service
找到對應的openstack-nova-metadata-api和openstack-nova-os-compute-api服務,然後瘋狂的重啓這倆服務 ,雖然最後證明跟他倆沒關係
重啓metadata-api時,提示端口被佔用,又是該端口,又是改配置,沒招了,換個思路,從源頭查找,開始去找日誌
3、檢查openstack-dashboard的服務
根據百度【openstack登錄error 500, Internal server error】,都是讓設置openstack-dashboard.conf
WSGIApplicationGroup %{GLOBAL}
但是都沒用;
後來看到有說到權限問題
各種方法沒用的情況,只能試一試,
chown apache:apache /usr/share/openstack-dashboard
bingo!
奇蹟發生了,500錯誤神奇的消失了,取而代之的期待已久的登錄界面!
淚奔啊!
兩天啊!
終於解決了!!!
通過這次的問題發現到解決,說起來不是啥大問題,但是對於一個不熟悉openstack的來說,找個日誌在哪裏都要百度一下,思路都混亂了,沒有去找到一個解決辦法。
解決問題,重要的是思路