Windows SERVER 2012 R2调整网卡优先级顺序的一个好方法
在WINDOWS SERVER 2012虚机上安装oracle 12C RAC时,很容易出现一个错误就是主机名无效的问题。
这个错误会导致oracle12c rac安装失败,卡在这到不了下一步。
经查oracle官网发现:
这个问题的解决方法:
ODM:
RAC on Windows: INS-40937 Encountering During 11.2.0.3 Grid Infrastructure Install (文档 ID 1479496.1)
CAUSE
Invalid binding order of network adapters on the node which returned the error.
One of the installation prerequisites for Grid Infrastructure installations on Windows platforms is
to have your 'Public' network adapter listed first in your binding order and
your 'Private' network adapter listed second in your binding order on all cluster nodes.
SOLUTION
Fix the Network Adapter Binding order so that the public network adapter is listed first and
your private network adapter is listed second as per documented installation prerequisites
这个同样适用于12C
在集群安装条件检查中,会显示这一细节的检查。(注:集群预置检查条件
runcluvfy stage -pre crsinst -n RACtest1,RACtest2 -verbose对安装环境进行校验。)
这要求两个节点必须先绑定public,然后在另外一张网卡上绑定private,并且接口度量值设置正确。
那么如果在实际部署虚机时,一次添加了2张网卡,分别设定了public和private。在安装oracle12C时,发现总把private识别在前面怎么办呢?
通常的调整方法是在网络适配器的高级设置里进行手动调整。
然而这种方法却并没有改变网卡的真正优先级顺序,我们可以用get-netipinterface验证一下
我们发现pri的ifindex id是12,而pub的ifindex id是16,pri还是优先于pub
那么如何调整呢,我们可以尝试调整网卡的跃点数,比如把pub的设为100,把pri的设置为300,就可以真正区分优先级了
这时再查优先级就变了,pri的ifindex id是14,而pub的ifindex id是12,pub优先于pri
这样就可以跳过那个主机名错误了。
备注:
ifindex:IfIndex是一个唯一识别的编号关联与物理或逻辑接口。对于多数软件, IfIndex是接口的名称。虽然相关的RFC不要求在特定的IfIndex值和他们的接口之间的通信在重新启动间维护,应用程序例如设备明细、计费和故障检测取决于此通信。
RFC1213 (MIB2)定义了最初的IfIndex如下:
"每个接口由IfIndex对象的一个唯一值识别,并且IfIndex的说明限制条件其值如下:其值排列在1和值ifNumber之间。每个接口的值一定依然是不变至少从实体的网络管理系统的一再预装下再预装"。
然而,根据最新的IETF RFC 2863 (接口组MIB), IfIndex定义更改适应允许网络接口动态新增内容或删除设备的数量增长的。在RFC 2863采用的解决方案将删除IfIndex比值,保留与其当前定义的ifNumber。
网卡接口跃点:跃点即路由。一个路由为一个跃点。传输过程中需要经过多个网络,每个被经过的网络设备点(有能力路由的)叫做一个跃点,地址就是它的ip。跃点数是经过了多少个跃点的累加器,为了防止无用的数据包在网上流散。 为路由指定所需跃点数的整数值(范围是 1 ~ 9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。跃点数能够反映跃点的数量、路径的速度、路径可靠性、路径吞吐量以及管理属性。