遇到过的问题:
- 配置文件贴错位置了
- 网络配置中漏掉了compute节点相关配置
- compute 节点qemu-kvm 版本低了一点
- mysql连接数被用完
- 配置了max_connections 也不管用,因为ulimit给限制了,修改ulimit后就可以了
解决思路:
- 根据id查日志 /var/log/
疑问:
- 创建机器的时候为什么指定的是网络的id,而不是子网的id?
- 在myservice network中,多个子网的情况下,因为无法指定子网id,如何确定机器是要放在哪个子网的?
- 可以明确指定ip地址来主动选择子网
- vxlan 端口号曾经是8472,后来修改为了4789,但是linux内核还在使用8472
其他:
- 路由器总是在控制节点上面的吗?
- 对于myservice网络,跨网段总是要求网关的,网关的压力势必会比较大,如何解决?
- provider 网络不存在该问题
原理:
- 浮动IP
- 浮动IP体现为路由器的网关接口的子接口
- provider网络默认是snat为true的,所以myservice网络默认是可以访问公网的,需要的话,可以将snat设置为false
- 浮动IP和绑定的vm之间的关系通过iptables规则实现,默认添加snat和dnat;需要的话:
- 可以只设置snat,则只允许出而不允许入;
- 也可以只设置dnat,只允许入不允许出
- 还可以让多个vm共享一个出口IP
- 这些都可以ip netns到相关路由器的名字空间中查看,注意:
- ip netns是通过/var/run/netns 中发现ns的,并非所有的netns都必须在这里注册的(docker 创建的netns就不放在这里)
- lsns 可以发现所有的ns,lsns是从/proc/$pid 中扫出来的
- 路由器
- 进入路由器所在网络名字空间中就可以查看路由器相关信息