centos – 如何通过重启来持久化ethtool设置

前端之家收集整理的这篇文章主要介绍了centos – 如何通过重启来持久化ethtool设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在CentOS5服务器上关闭tcp分段卸载.使用ethtool命令是ethtool -K eth0 tso off但是,此设置仅在此会话中保留.如何通过重新启动使其持续存在?
从这 webpage

您可以在/etc/rc.local(或您的发行版等效)中输入ethtool命令,其中命令在当前运行级别完成后运行,但这并不理想.网络服务可能在运行级别期间启动,而ethtool命令往往会中断网络流量.最好是将作为接口应用的命令引出.

CentOS中的网络服务有能力执行此操作.脚本/ etc / sysconfig / network-scripts / ifup-post检查是否存在/ sbin / ifup-local,如果存在,则使用接口名称作为参数运行它(例如:/ sbin / ifup-local eth0 )

我们可以使用touch / sbin / ifup-local创建这个文件,使其可执行,使用chmod x / sbin / ifup-local将其SELinux上下文设置为chcon –reference / sbin / ifup / sbin / ifup-local,然后在编辑.

将相同设置应用于所有接口的简单脚本就是这样的

#!/bin/bash
if [ -n "$1" ]; then
/sbin/ethtool -G $1 rx 4096 tx 4096
/sbin/ethtool -K $1 tso on gso on
fi

请记住,这将尝试将设置应用于所有接口,甚至是环回.

如果我们有不同的接口,我们想要应用不同的设置,或者想要跳过环回,我们可以做一个case语句

#!/bin/bash
case "$1" in
eth0)
/sbin/ethtool -G $1 rx 16384 tx 16384
/sbin/ethtool -K $1 gso on gro on
;;
eth1)
/sbin/ethtool -G $1 rx 64 tx 64
/sbin/ethtool -K $1 tso on gso on
/sbin/ip link set $1 txqueuelen 0
;;
esac
exit 0

现在,ethtool设置在接口启动时应用于接口,所有可能的网络通信中断都会在接口启动时完成,您的服务器可以继续使用完整的网络功能启动.

原文链接:https://www.f2er.com/centos/374007.html

猜你在找的CentOS相关文章