Nat on centos sub sarcină mare - studio de soluții deschise o-nix

Să considerăm un exemplu viu al organizării unui the puternic server de NAT la CentOS, fără a intra în detaliile echipamentului (serverul are 4 procesoare cu 4 nuclee, care este, de fapt, 16 procesoare, două plăci de rețea 10 Gbitnyh de la Intel cu SFP-module , cu 8 GB de memorie de la bord).







Deoarece neechilibrul de serviciu sub sarcină mare și trafic imens va interfera doar cu cardurile noastre, opriți-l pentru că Vom distribui cartela de rețea întrerupe modul în care avem nevoie de ea. Puteți rula manual, puteți să scriu automat.

serviciul de echilibru al serviciului
chkconfig irqbalance off

De asemenea, trebuie să dezactivați filetarea cu Hyper-Threading. Puteți face acest lucru, de exemplu, prin linia de boot grub, în ​​același timp "pentru fiabilitate" acolo și dezactivați duplicatul de echilibru:

kernel /vmlinuz-3.0.78-1.el5.elrepo ro rădăcină = / dev / VolGroup00 / LogVol00 noht noirqbalance

Iată un script care leagă numerele de întrerupere ale cardurilor de rețea de nucleele procesoarelor irq-smp- balance.sh:

O vom plasa, de exemplu, în director

și nu uitați să vă înregistrați lansarea în /etc/rc.local

pisică /etc/rc.local
#! / bin / sh
#
# Acest script va fi executat * după * toate celelalte scripturi init.
# Puteți să vă puneți propriile lucruri de inițiere aici dacă nu faceți asta
# vrei să faci chestii init full Sys V stil.








# Puteți crește MTU, nu uitați să faceți același lucru pe porturile switch: mtu jumbo 9000 (dacă infrastructura permite)
# / sbin / ifconfig eth2 mtu 9000
# / sbin / ifconfig eth3 mtu 9000

# Creșteți coada de transmisie pe cardurile de rețea Intel. Pentru legăturile de 10 gigabiti se recomandă să plasați 10000
/ sbin / ifconfig eth2 txqueuelen 10000
/ sbin / ifconfig eth3 txqueuelen 10000

# / sbin / ethtool
# Resize buffers
/ sbin / ethtool -G eth2 rx 2048
/ sbin / ethtool -G et2 tx 2048
/ sbin / ethtool -G et3 rx 2048
/ sbin / ethtool -G et3 tx 2048

# Regula pentru hashsize = nf_conntrack_max / 8
# Vezi valoarea curentă poate fi atât: sysctl net.netfilter.nf_conntrack_max
# Vizualizați cât de completă este tabela de urmărire a conexiunilor: sysctl net.netfilter.nf_conntrack_count
# Nu este recomandat pentru a pune o mare importanță nf_conntrack_max, dacă NAT-e câțiva agenți

# Noi împrăștiem întreruperea peste fluxurile cardurilor de rețea
/etc/rc.d/irq-smp-balance.sh

Acordarea nucleului unui server NAT cu încărcare mare:

Indicăm câteva module importante în fișierul de configurare iptables iptables-config:

În procesul de lansare a serverului NAT, noi nu am vrut să fie definite 10-Gbitnye modulele SFP, și am folosit un mic „patch-uri“ driverul ixgbe placă de rețea.

Astfel, dacă modulele SFP în cartelele de rețea 10-Gbit nu sunt "native" sau "marcate", atunci puteți modifica driverul Intel
ixgbe, cu excepția verificării modulului SFP (fără garanții, numai pe propriul risc!):

Pentru versiunea driverului ixgbe-3.14.5, există un fișier în sursele neambalate:

Trebuie să găsiți următoarea bucată de cod în acest fișier:

și introduceți înainte de ultima condiție dacă (status! = 0) o singură comandă returnează 0;

Distribuie în rețelele sociale:







Trimiteți-le prietenilor: