9月 202017
 

遇到过的问题:

  1. 配置文件贴错位置了
  2. 网络配置中漏掉了compute节点相关配置
  3. compute 节点qemu-kvm 版本低了一点
  4. mysql连接数被用完
    1. 配置了max_connections 也不管用,因为ulimit给限制了,修改ulimit后就可以了

解决思路:

  1. 根据id查日志 /var/log/

疑问:

  1. 创建机器的时候为什么指定的是网络的id,而不是子网的id?
  2. 在myservice network中,多个子网的情况下,因为无法指定子网id,如何确定机器是要放在哪个子网的?
    1. 可以明确指定ip地址来主动选择子网
  3. vxlan 端口号曾经是8472,后来修改为了4789,但是linux内核还在使用8472

其他:

  1. 路由器总是在控制节点上面的吗?
  2. 对于myservice网络,跨网段总是要求网关的,网关的压力势必会比较大,如何解决?
    1. provider 网络不存在该问题

原理:

  1. 浮动IP
    1. 浮动IP体现为路由器的网关接口的子接口
    2. provider网络默认是snat为true的,所以myservice网络默认是可以访问公网的,需要的话,可以将snat设置为false
    3. 浮动IP和绑定的vm之间的关系通过iptables规则实现,默认添加snat和dnat;需要的话:
      1. 可以只设置snat,则只允许出而不允许入;
      2. 也可以只设置dnat,只允许入不允许出
      3. 还可以让多个vm共享一个出口IP
    4. 这些都可以ip netns到相关路由器的名字空间中查看,注意:
      1. ip netns是通过/var/run/netns 中发现ns的,并非所有的netns都必须在这里注册的(docker 创建的netns就不放在这里)
      2. lsns 可以发现所有的ns,lsns是从/proc/$pid 中扫出来的
  2. 路由器
    1. 进入路由器所在网络名字空间中就可以查看路由器相关信息
 Posted by at 下午 6:33