今天在客户的私有云系统上遇到反馈的一个问题:有几台绑定了FIP的虚拟机,是不能通过FIP来访问?当时觉得很奇怪,亲自创建了几台虚拟机,绑定了FIP!我新创建的虚拟机都是可以访问公网,而且也可以通过FIP访问虚拟机的!而且我发现,除了反馈的那几台虚拟机不能通过FIP访问,其他绑定了FIP的虚拟机是可以访问的!!!
通过自己的创建测试,基本上有一些头绪了:
1. 应该不会是安全组规则的问题。所有虚拟机都是应用的默认安全组规则,不能够一部分有问题!
2. 应该是IP或者路由规则有冲突。大家都知道,openstack在namespace里面是通过iptables实现路由的,检测一个IP和路由规则就一目了然了。通过下列命令:
$ip netns exec [fip-namespace] ip r | grep [error_fip]
发现有两条关于error_fip(用来指代不能访问的FIP)的路由,然后进行路由删除操作,之后虚拟机正常工作,排错完成!