每个租户对应着一个router,每个L3 Agent运行在一个network namespace中,而namespace命名为qrouter-$router-uuid,Agent主要负责router,dhcp,nat等管理工作
$ neutron router-list +--------------------------------------+---------+-----------------------------------------------------------------------------+ | id | name | external_gateway_info | +--------------------------------------+---------+-----------------------------------------------------------------------------+ | 41f2f732-3574-48fb-923f-7fa3b9dc6f0c | router1 | {"network_id": "8956472f-0245-4447-bafe-374287d49156", "enable_snat": true} | +--------------------------------------+---------+-----------------------------------------------------------------------------+
namespace为qrouter-41f2f732-3574-48fb-923f-7fa3b9dc6f0c,那么就可以查看namespace的相关信息
$ sudo ip netns exec qrouter-41f2f732-3574-48fb-923f-7fa3b9dc6f0c ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 18: qr-e242edbc-aa: mtu 1500 qdisc noqueue state UNKNOWN group default link/ether fa:16:3e:b0:3b:9c brd ff:ff:ff:ff:ff:ff inet 10.0.0.1/24 brd 10.0.0.255 scope global qr-e242edbc-aa valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:feb0:3b9c/64 scope link valid_lft forever preferred_lft forever 19: qg-119953bc-6f: mtu 1500 qdisc noqueue state UNKNOWN group default link/ether fa:16:3e:bf:4f:c3 brd ff:ff:ff:ff:ff:ff inet 172.24.4.226/28 brd 172.24.4.239 scope global qg-119953bc-6f valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:febf:4fc3/64 scope link valid_lft forever preferred_lft forever
这里interface的地址都是连接router的subnet的gateway地址,比如查询下
lihui@lihui-devstack:~$ neutron port-list | grep 172.24.4.226 | 119953bc-6f9f-4616-9401-aa6f2bbce805 | | fa:16:3e:bf:4f:c3 | {"subnet_id": "37a98a23-8025-48fc-a606-8bc1406843a6", "ip_address": "172.24.4.226"} | lihui@lihui-devstack:~$ neutron port-show 119953bc-6f9f-4616-9401-aa6f2bbce805 +-----------------------+-------------------------------------------------------------------------------------+ | Field | Value | +-----------------------+-------------------------------------------------------------------------------------+ | admin_state_up | True | | allowed_address_pairs | | | binding:capabilities | {"port_filter": false} | | binding:host_id | lihui-devstack | | binding:profile | {} | | binding:vif_type | binding_failed | | device_id | 41f2f732-3574-48fb-923f-7fa3b9dc6f0c | | device_owner | network:router_gateway | | extra_dhcp_opts | | | fixed_ips | {"subnet_id": "37a98a23-8025-48fc-a606-8bc1406843a6", "ip_address": "172.24.4.226"} | | id | 119953bc-6f9f-4616-9401-aa6f2bbce805 | | mac_address | fa:16:3e:bf:4f:c3 | | name | | | network_id | 8956472f-0245-4447-bafe-374287d49156 | | port_security_enabled | | | security_groups | | | status | ACTIVE | | support_azs | | | tenant_id | | +-----------------------+-------------------------------------------------------------------------------------+
比如有哪个子网出了问题,就可以监听gateway来判断哪部分出了问题,当然,先得查询网关在哪个物理节点上
~$ neutron l3-agent-list-hosting-router 41f2f732-3574-48fb-923f-7fa3b9dc6f0c +--------------------------------------+-------------------+----------------+-------+ | id | host | admin_state_up | alive | +--------------------------------------+-------------------+----------------+-------+ | e6a321fa-06a4-4851-bc21-1310187f785f | lihui-devstack | True | xxx | +--------------------------------------+-------------------+----------------+-------+
好吧,我自己L3都挂了,还好是个小demo机器~!