sexta-feira, 13 de fevereiro de 2009

Script de mudança de configuração dos parâmetros de rede ( Servidores Sun Fire)

Importante: Antes de alterar a configuração da placa de rede para full ou half de 10 para 100 ou 1GB, verifique as configurações. No tópico; Script para verificação de configuração da placa de rede ( Modelo Sun Fire ), você poderá pegar o script para verificação da configuração da sua placa de rede.
Lembrando que terá que verificar qual a placa ( ce, qfe, hme e etc ) para realizar a mudança.
Exemplo: Caso sua placa seja: hme1 terá que retirar todas as # como exemplo abaixo:

PATH=/usr/bin:/usr/sbin

case "$1" in
'start')
echo "Implementing Solaris Network Tuning."

# hme-Interfaces
# hme0
#ndd -set /dev/hme instance 0
#ndd -set /dev/hme adv_100T4_cap 0
#ndd -set /dev/hme adv_100fdx_cap 1
#ndd -set /dev/hme adv_100hdx_cap 0
#ndd -set /dev/hme adv_10fdx_cap 0
#ndd -set /dev/hme adv_10hdx_cap 0
#ndd -set /dev/hme adv_autoneg_cap 0
# hme1
ndd -set /dev/hme instance 1
ndd -set /dev/hme adv_100T4_cap 0
ndd -set /dev/hme adv_100fdx_cap 1
ndd -set /dev/hme adv_100hdx_cap 0
ndd -set /dev/hme adv_10fdx_cap 0
ndd -set /dev/hme adv_10hdx_cap 0
ndd -set /dev/hme adv_autoneg_cap 0


Salvar com wq! e executar o script. Segue o script abaixo:

#!/sbin/sh
# /etc/rc2.d/S68net-tune /etc/init.d/net-tune
# Copyright (c) 2000 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident "@(#)net-tune 1.6.4 030416 SMI ES-PTS-NET/Lor"
#
# Edit the following example code to suit your needs.
# Depending on your changes, this script overwrites the Sun recommended default
# values (To use the default values, you do not need this script). See Product
# Documentation and SunSolve Infodocs for proper use first (e.g. Infodocs 17416,
# 23041, 41665). Most parameters must be set on both sides to have effect
# (e.g. check switch and IP partner settings).
# To install:
# 1) cp S68net-tune to /etc/rc2.d
# 2) perform edits on the sript as required
# 3) chmod 744 /etc/rc2.d/S68net-tune
# 4) chown root:sys /etc/rc2.d/S68net-tune
# 5) ln /etc/rc2.d/S68net-tune /etc/init.d/net-tune

PATH=/usr/bin:/usr/sbin

case "$1" in
'start')
echo "Implementing Solaris Network Tuning."

# hme-Interfaces
# hme0
#ndd -set /dev/hme instance 0
#ndd -set /dev/hme adv_100T4_cap 0
#ndd -set /dev/hme adv_100fdx_cap 1
#ndd -set /dev/hme adv_100hdx_cap 0
#ndd -set /dev/hme adv_10fdx_cap 0
#ndd -set /dev/hme adv_10hdx_cap 0
#ndd -set /dev/hme adv_autoneg_cap 0
# hme1
#ndd -set /dev/hme instance 1
#ndd -set /dev/hme adv_100T4_cap 0
#ndd -set /dev/hme adv_100fdx_cap 1
#ndd -set /dev/hme adv_100hdx_cap 0
#ndd -set /dev/hme adv_10fdx_cap 0
#ndd -set /dev/hme adv_10hdx_cap 0
#ndd -set /dev/hme adv_autoneg_cap 0

# eri-Interfaces
# eri0
#ndd -set /dev/eri instance 0
#ndd -set /dev/eri adv_100T4_cap 0
#ndd -set /dev/eri adv_100fdx_cap 1
#ndd -set /dev/eri adv_100hdx_cap 0
#ndd -set /dev/eri adv_10fdx_cap 0
#ndd -set /dev/eri adv_10hdx_cap 0
#ndd -set /dev/eri adv_autoneg_cap 0

# qfe-Interfaces
# qfe0
#ndd -set /dev/qfe instance 0
#ndd -set /dev/qfe adv_100T4_cap 0
#ndd -set /dev/qfe adv_100fdx_cap 1
#ndd -set /dev/qfe adv_100hdx_cap 0
#ndd -set /dev/qfe adv_10fdx_cap 0
#ndd -set /dev/qfe adv_10hdx_cap 0
#ndd -set /dev/qfe adv_autoneg_cap 0
# qfe1
#ndd -set /dev/qfe instance 1
#ndd -set /dev/qfe adv_100T4_cap 0
#ndd -set /dev/qfe adv_100fdx_cap 1
#ndd -set /dev/qfe adv_100hdx_cap 0
#ndd -set /dev/qfe adv_10fdx_cap 0
#ndd -set /dev/qfe adv_10hdx_cap 0
#ndd -set /dev/qfe adv_autoneg_cap 0

# dmfe-Interfaces (Netra X1)
# dmfe0
#ndd -set /dev/dmfe0 adv_100fdx_cap 1
#ndd -set /dev/dmfe0 adv_100hdx_cap 0
#ndd -set /dev/dmfe0 adv_10fdx_cap 0
#ndd -set /dev/dmfe0 adv_10hdx_cap 0
#ndd -set /dev/dmfe0 adv_autoneg_cap 0
# dmfe1
#ndd -set /dev/dmfe1 adv_100fdx_cap 1
#ndd -set /dev/dmfe1 adv_100hdx_cap 0
#ndd -set /dev/dmfe1 adv_10fdx_cap 0
#ndd -set /dev/dmfe1 adv_10hdx_cap 0
#ndd -set /dev/dmfe1 adv_autoneg_cap 0

# vge-Interfaces (Gigabit 1.x)
# vge0
#ndd -set /dev/vge instance 0
#ndd -set /dev/vge fdr_filter 1
#ndd -set /dev/vge link_negotiation 0
# vge1
#ndd -set /dev/vge instance 1
#ndd -set /dev/vge fdr_filter 1
#ndd -set /dev/vge link_negotiation 0

# ge-Interfaces (Gigabit 2.x and 3.x)
# example: forced 1000 Mbit/s, 802.3x Flow Control send and receive
# check if your NIC is 802.3x capable (ndd parameter pause_cap, asm_dir_cap)
# ge0
#ndd -set /dev/ge instance 0
#ndd -set /dev/ge adv_1000fdx_cap 1
#ndd -set /dev/ge adv_1000hdx_cap 0
#ndd -set /dev/ge adv_pauseTX 1
#ndd -set /dev/ge adv_pauseRX 1
#ndd -set /dev/ge adv_1000autoneg_cap 0
# ge1
#ndd -set /dev/ge instance 1
#ndd -set /dev/ge adv_1000fdx_cap 1
#ndd -set /dev/ge adv_1000hdx_cap 0
#ndd -set /dev/ge adv_pauseTX 1
#ndd -set /dev/ge adv_pauseRX 1
#ndd -set /dev/ge adv_1000autoneg_cap 0

# ce-Interfaces (GigaSwift 1.0 UTP)
# example: forced 1000 Mbit/s, 802.3x Flow Control send and receive
# ce0
#ndd -set /dev/ce instance 0
# Master values, change in forced 1000 Mbit/s back-to-back config only:
#ndd -set /dev/ce link_master 0 # one link partner 1, the other 0 (ce <=1.118) #ndd -set /dev/ce master_cfg_enable 1 # enable usage of master_cfg_value (ce >1.118)
#ndd -set /dev/ce master_cfg_value 0 # one link partner 1, the other 0 (ce >1.118)
# Speed/Mode values, set the desired to 1, all other to 0:
#ndd -set /dev/ce adv_1000fdx_cap 1
#ndd -set /dev/ce adv_1000hdx_cap 0
#ndd -set /dev/ce adv_100fdx_cap 0
#ndd -set /dev/ce adv_100hdx_cap 0
#ndd -set /dev/ce adv_10fdx_cap 0
#ndd -set /dev/ce adv_10hdx_cap 0
#ndd -set /dev/ce adv_asmpause_cap 0
#ndd -set /dev/ce adv_pause_cap 1
#ndd -set /dev/ce adv_autoneg_cap 0
# ce1
#ndd -set /dev/ce instance 1
# Master values, change in forced 1000 Mbit/s back-to-back config only:
#ndd -set /dev/ce link_master 0 # one link partner 1, the other 0 (ce <=1.118) #ndd -set /dev/ce master_cfg_enable 1 # enable usage of master_cfg_value (ce >1.118)
#ndd -set /dev/ce master_cfg_value 0 # one link partner 1, the other 0 (ce >1.118)
# Speed/Mode values, set the desired to 1, all other to 0:
#ndd -set /dev/ce adv_1000fdx_cap 1
#ndd -set /dev/ce adv_1000hdx_cap 0
#ndd -set /dev/ce adv_100fdx_cap 0
#ndd -set /dev/ce adv_100hdx_cap 0
#ndd -set /dev/ce adv_10fdx_cap 0
#ndd -set /dev/ce adv_10hdx_cap 0
#ndd -set /dev/ce adv_asmpause_cap 0
#ndd -set /dev/ce adv_pause_cap 1
#ndd -set /dev/ce adv_autoneg_cap 0

# switch MTU path discovery off
#ndd -set /dev/ip ip_path_mtu_discovery 0
# TCP/UDP buffer tunings
#ndd -set /dev/tcp tcp_xmit_hiwat 65536
#ndd -set /dev/tcp tcp_recv_hiwat 65536
#ndd -set /dev/udp udp_xmit_hiwat 65536
#ndd -set /dev/udp udp_recv_hiwat 65536
# TCP congestion window size, for Solaris <= 2.5, only
#ndd -set /dev/tcp tcp_cwnd_max 65535
# Change TCP maximum retransmission interval, for Solaris <= 7, only
#ndd -set /dev/tcp tcp_rexmit_interval_max 60000
# Change number of TCP slow start initial packets to work arround
# slow start bug in BSD stack and Windows. For Solaris <= 7, only
#ndd -set /dev/tcp tcp_slow_start_initial 2

;;

'stop')
echo "No kernel parameters changed."
;;

*)
echo "Usage: $0 {start|stop}"
;;

esac
exit 0


Caso você queira forçar essa configuração sempre na inicialização do sistema operacional, basta fazer o seguinte:
Seu script chama mud_parametro.sh e está dentro do home /export/home/script
Faça o seguinte:

1) cp mud_parametro.sh /etc/init.d/S68net-tune
2) chmod 744 /etc/rc2.d/S68net-tune
3) chown root:sys /etc/rc2.d/S68net-tune
4) ln /etc/rc2.d/S68net-tune /etc/init.d/net-tune

Pronto agora sempre que reiniciar o seu servidor ele subirá com a configuração forçada como você desejou !

Nenhum comentário: