在裸金属解决方案上为 Oracle RAC 配置巨型帧

概览

为了防止数据包在 RAC 环境中从一个节点转移到另一个节点时发生碎片化,Oracle 建议您配置巨型帧(MTU 大小为 9000)。本文档介绍如何在用于 Oracle RAC 的裸金属解决方案服务器上创建巨型帧 (MTU 9000)。

注意事项

  1. 应在安装 Oracle RAC 之前先完成配置。

  2. 配置必须在集群的所有节点中一致。

  3. 合作伙伴互连尚不支持巨型帧。(Google Cloud -> 裸金属解决方案通信无法使用巨型帧)。

  4. 只有裸金属解决方案到裸金属解决方案的通信才能使用巨型帧。

配置步骤。

  1. 通过运行以下命令确定网络接口和互连的 mtu 大小:

    ip link show | grep mtu
    

    示例输出:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    2: enp55s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    3: enp55s0f2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    4: enp55s0f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    5: enp17s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    6: enp17s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000
    7: enp173s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    8: enp173s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000
    9: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    10: bond1.117@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    11: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    12: bond0.118@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    13: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    14: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
    
  2. 在所有节点上以根用户身份修改接口配置文件并添加 MTU=9000。该文件可在 /etc/sysconfig/network-scripts/ifcfg-interface_name 找到

    示例输出:

    BONDING_OPTS="lacp_rate=1 miimon=100 mode=802.3ad xmit_hash_policy=1"
    TYPE=Bond
    BONDING_MASTER=yes
    PROXY_METHOD=none
    BROWSER_ONLY=no
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=bond1
    UUID=0e7da685-64bf-44f3-812f-9846d747a801
    DEVICE=bond1
    ONBOOT=yes
    AUTOCONNECT_SLAVES=yes
    MTU=9000
    
  3. 重启网络服务以使更改生效。

    service network restart
    
  4. 使用 ping 测试 MTU configuration

     ping -c 2 -M do -s 8972 svr001-priv
     PING svr001-priv (172.16.1.10) 8972(9000) bytes of data.
     8980 bytes from svr001-priv (172.16.1.10): icmp_seq=1 ttl=64 time=0.153 ms
     8980 bytes from svr001-priv (172.16.1.10): icmp_seq=2 ttl=64 time=0.151 ms
    
    --- svr001-priv ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 0.151/0.152/0.153/0.001 ms