OpenStackで仮想マシンがIPアドレスを取得できない解決方法

8033 ワード

システム環境:
centos6.5+icehouseマルチノード導入
問題の説明:
テストミラーcirrosを使用すると、仮想マシンインスタンスは正常に起動できますが、IPプールからIPアドレスを取得できません.つまり、DHCP機能は使用できません.
 
1.まず、ノードの各サービス、およびagentが正常に起動しているかどうかを確認します.
shell> nova-manage service list
Binary Host Zone Status State Updated_At nova
-consoleauth controller internal enabled :-) 2014-11-18 09:23:48 nova-cert controller internal enabled :-) 2014-11-18 09:23:49 nova-conductor controller internal enabled :-) 2014-11-18 09:23:51 nova-scheduler controller internal enabled :-) 2014-11-18 09:23:49 nova-compute network nova enabled XXX 2014-11-13 02:56:41 nova-compute computer nova enabled :-) 2014-11-18 09:23:45

 
2.チェックagent
shell> neutron agent-list
+--------------------------------------+--------------------+------------+-------+----------------+ | id | agent_type | host | alive | admin_state_up | +--------------------------------------+--------------------+------------+-------+----------------+ | 22f6a13a-55a1-4474-a836-62fa9803fe71 | Metadata agent | controller | :-) | True | | bb982be7-1e32-4660-9c7a-d538ed4212a0 | Open vSwitch agent | network | :-) | True | | d96fa846-ff1a-44d0-8e46-2388a2b62a3a | Metadata agent | network | :-) | True | | e2fccee2-1e2e-4e15-b58e-d672da7007cc | L3 agent | network | :-) | True | | e9dd9400-9d2f-4f91-b60e-fa2704cb35b3 | DHCP agent | network | :-) | True | | fd110565-cbf6-4c6b-9984-4c6e2108fc9f | Open vSwitch agent | computer | :-) | True | +--------------------------------------+--------------------+------------+-------+----------------+

注意:aliveはXXXがサービスが正常でないことを説明することを見て、1種の可能性の原因は各ノードの時間が同期しないのです
 
3.上記の2つのサービスはすべて正常で、インスタンスはまだIPアドレスに割り当てられていないので、dhcp-agentログを見てみましょう.
shell> tail -f dhcp-agent.log

2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent raise RuntimeError(m)

2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent RuntimeError: 

2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Command: ['ip', '-o', 'netns', 'list']

2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Exit code: 255

2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Stdout: ''

2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Stderr: 'Object "netns" is unknown, try "ip help".
' 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent 2014-11-18 11:11:47.833 1959 INFO neutron.agent.dhcp_agent [-] Synchronizing state complete # :Stderr: 'Object "netns" is unknown

 
4.解決方法:
ネットワークノードにyumがiprouteパッケージをインストールする
shell> yum install iproute