Linux修改网络支持巨型帧,RAC私网使用巨型帧 Solaris虚拟化环境修改MTU

背景介绍:

需求: 部署3节点oracle RAC时, 要求4网口中,公网网口使用2个并用 ipmp 绑定, 私网网口使用 HAIP 并支持巨型帧 (Jumbo Frame)

主机: 3节点主机均为 SUN T3 Server 中 ldom 中的zones。 简单介绍两个概念:zone虚拟化技术中宿主机叫 global zone,ldom虚拟化技术中宿主机叫 primary。 本例中RAC节点是SUN T3 server 中 Ldom 的一个zone,即虚拟机中的虚拟机,

版本: Solaris 11, Oracle RAC 11gr2

关键字: solaris11, Jumbo frame, MTU zones, ldom

修改MTU=9000 即支持Jumbo Frame的步骤:

在Solaris 11非虚拟环境中,如果修改系统MTU值,主要步骤:

1. 查看当前MTU取值范围,当前为60-9216证明系统已经支持Jumbo Frame。 如果发现范围的上限为1500,可以继续步骤2修改

点击(此处)折叠或打开

root@deepalley:~# dladm show-linkprop -p mtu

LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE

net1 mtu rw 1500 1500 1500 60-9216

net3 mtu rw 1500 1500 1500 60-9216

net0 mtu rw 1500 1500 1500 60-9216

net2 mtu rw 1500 1500 1500 60-9216

root@deepalley:~# dladm set-linkprop -t -p mtu=9000 net2

root@deepalley:~# dladm show-linkprop -p mtu

LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE

net1 mtu rw 1500 1500 1500 60-9216

net3 mtu rw 1500 1500 1500 60-9216

net0 mtu rw 1500 1500 1500 60-9216

net2 mtu rw 9000 9000 1500 60-9216

2. 确定网卡类型:

点击(此处)折叠或打开

root@deepalley:~# dladm show-phys

LINK MEDIA STATE SPEED DUPLEX DEVICE

net1 Ethernet unknown 1000 full igb1

net3 Ethernet unknown 1000 full igb3

net0 Ethernet up      1000 full igb0

net2 Ethernet unknown 1000 full igb2

3. 查看/修改驱动配置信息:

vi /kernel/drv/igb.conf 修改 default_mtu (本例中网卡类型为igb,所以用igb.conf,如果为其它类型,请在同目录下寻找对应配置文件),这个配置文件中也有为具体某个网口设置属性的选项,描述很详细,这里不详细展开,我们直接修改default_mtu 项

点击(此处)折叠或打开

...

# -------------------- Jumbo Frame --------------------

# default_mtu

# The size of the default MTU (payload without the ethernet header)

# Allowed values: 1500 - 9216

# Default value: 1500

#

# default_mtu = 9216;   修改此项

...

...

4. 重启系统,使用 dladm set-linkprop -t -p mtu=9000 igb[n] 修改生效

在 solaris11虚拟环境更改步骤:

思路是如果想让虚拟机支持巨型帧,那么宿主机必须支持该特性。按照上述步骤直接在虚拟机中修改会报错:

点击(此处)折叠或打开

root@deepalley:~# dladm set-linkprop -t -p mtu=9000 net2

dladm: warning: cannot set link property 'mtu' on 'net2': link busy

我们从顶层的宿主机一层一层向下修改:

终极宿主机层: Primary

1. 如果dladm show-linkprop -p mtu 显示 Jumbo Frame未开启, 按照上面非虚拟化修改方法步骤1修改:

2. 修改它的虚拟机的网卡配置信息 ldm 命令:

这个Primary有三个guest,ld1是我们AC节点1的宿主机

点击(此处)折叠或打开

root@Primary:~# ldm list

NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME

primary active -n-cv- UART 200 23G 0.1% 0.1% 4d 2h 11m

ld1 active -n---- 5001 18 32G 0.2% 0.1% 1h 19m

ld2 active -n---- 5002 28 56G 1.9% 1.5% 3d 6h 51m

ld3 active -n---- 5003 10 16G 7.4% 5.7% 7h 31m

3. 查看网口信息

点击(此处)折叠或打开

root@Primary:~# ldm list -o physio ld1

NAME

ld1

IO

DEVICE PSEUDONYM OPTIONS

pci@500/pci@1/pci@0/pci@5/network@0,80 /SYS/MB/NET2/IOVNET.PF0.VF0

pci@500/pci@1/pci@0/pci@5/network@0,81 /SYS/MB/NET2/IOVNET.PF1.VF0

pci@400/pci@1/pci@0/pci@4/network@0,80 /SYS/MB/NET0/IOVNET.PF0.VF0

pci@400/pci@1/pci@0/pci@4/network@0,81 /SYS/MB/NET0/IOVNET.PF1.VF0

4. 设置网口mtu值

点击(此处)折叠或打开

root@Primary:~# ldm set-io mtu=9216 /SYS/MB/NET2/IOVNET.PF0.VF0

root@Primary:~# ldm set-io mtu=9216 /SYS/MB/NET2/IOVNET.PF1.VF0

(NOTE: 这个网口是怎么对应呢,如何知道/SYS/MB/NET2/IOVNET.PF0.VF0 和 /SYS/MB/NET2/IOVNET.PF1.VF0 就是我们想要修改的两个私网网口呢,这个信息是通过 /etc/path_to_inst 文件得来的, 可以通过 cat /etc/path_to_inst | grep igb 得到 上面命令的DEVICE信息,然后就对应上了。)

5. 最后重启这个ldom guest,当然最底层的我们的rac节点也跟着重启

点击(此处)折叠或打开

root@Primary:~# ldm stop ld1

root@Primary:~# ldm start ld1

在最终节点上查看结果:

点击(此处)折叠或打开

root@zone1:~# dladm show-linkprop -p mtu

LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE

z1net0 mtu rw 1500 1500 1500 60-1500

z1net1 mtu rw 1500 1500 1500 60-1500

z1net2 mtu rw 9000 9000 1500 60-9000

z1net3 mtu rw 9000 9000 1500 60-9000

搞定!

小结: 在虚拟机中配置不通,问题就出在宿主机。配置一个小小的MTU 巨型帧特性,涉及 solaris zone虚拟化管理, ldom虚拟话管理, 驱动配置文件等的相关知识点,收获不小。最后期待Jumbo Frame 在RAC 11g 中会带来什么样的表现。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值