事象内容
コンピュートノードで 以下 コマンドを実行しても、Compute サービスが起動しない。
systemctl start libvirtd.service openstack-nova-compute.service
コントローラーノードの message ログでは、ポート番号 5672 のTCP 通信がファイアウォール( firewalld )で遮断されているメッセージが出力されている。
[root@controller ~]# tail -F /var/log/messages Oct 21 12:42:15 controller kernel: FINAL_REJECT: IN=eth0 OUT= MAC=52:54:00:2c:50:0f:52:54:00:4c:1f:05:08:00 SRC=192.168.24.114 DST=192.168.24.111 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=5117 DF PROTO=TCP SPT=52562 DPT=5672 WINDOW=29200 RES=0x00 SYN URGP=0 Oct 21 12:42:27 controller kernel: FINAL_REJECT: IN=eth0 OUT= MAC=52:54:00:2c:50:0f:52:54:00:4c:1f:05:08:00 SRC=192.168.24.114 DST=192.168.24.111 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=1311 DF PROTO=TCP SPT=52564 DPT=5672 WINDOW=29200 RES=0x00 SYN URGP=0
解決方法
firewalld で必要な通信が遮断されていることが原因であるため、コントローラーノードの firewalld で ポート番号 5672 の TCP 通信を許可する。
firewalld で、現在許可されているポート番号を確認する。
[root@controller ~]# firewall-cmd --list-port --zone=public --permanent 5000/tcp [root@controller ~]#
firewalld で、TCP 5672 ポート番号を許可する。
[root@controller ~]# firewall-cmd --add-port=5672/tcp --zone=public --permanent success [root@controller ~]#
firewalld で、TCP 5672 ポート番号が許可されていることを確認する。
[root@controller ~]# firewall-cmd --list-port --zone=public --permanent 5000/tcp 5672/tcp [root@controller ~]#
firewalld をリロードし、設定を反映する。
[root@controller ~]# firewall-cmd --reload success [root@controller ~]#