Мітки: сисадмінство

Нала­што­ва­ний мною роу­тер (усе сер­йо­зно — VLAN'и, шей­пінг etc) на Ліну­ксі пері­о­ди­чно валив мере­жу через ски­да­н­ня мере­же­вої кар­ти. Типу, зави­са­ла вона.

Aug 8 11:38:25 atlantis kernel: [240509.881537] e1000e 0000:00:19.0 eth0: Detected Hardware Unit Hang:
Aug 8 11:38:25 atlantis kernel: [240509.881537] TDH <c3>
Aug 8 11:38:25 atlantis kernel: [240509.881537] TDT <d0>
Aug 8 11:38:25 atlantis kernel: [240509.881537] next_to_use <d0>
Aug 8 11:38:25 atlantis kernel: [240509.881537] next_to_clean <c1>
Aug 8 11:38:25 atlantis kernel: [240509.881537] buffer_info[next_to_clean]:
Aug 8 11:38:25 atlantis kernel: [240509.881537] time_stamp <10396ec44>
Aug 8 11:38:25 atlantis kernel: [240509.881537] next_to_watch <c3>
Aug 8 11:38:25 atlantis kernel: [240509.881537] jiffies <10396eed3>
Aug 8 11:38:25 atlantis kernel: [240509.881537] next_to_watch.status <0>
Aug 8 11:38:25 atlantis kernel: [240509.881537] MAC Status <40080083>
Aug 8 11:38:25 atlantis kernel: [240509.881537] PHY Status <796d>
Aug 8 11:38:25 atlantis kernel: [240509.881537] PHY 1000BASE-T Status <7800>
Aug 8 11:38:25 atlantis kernel: [240509.881537] PHY Extended Status <3000>
Aug 8 11:38:25 atlantis kernel: [240509.881537] PCI Status <10>

Драй­вер — e1000e. Так от, якщо таке тра­пля­є­ться, то ліку­є­ться воно (при­найм­ні, на ядрах 3.8) отак:

ethtool -K eth0 tso off

По-хоро­шо­му, тре­ба б наді­сла­ти багре­порт, але ріше­н­ня я ж нагу­глив з уже наді­сла­но­го багре­пор­та, а чого це не випра­ви­ли — не знаю.

Мітки: , , ,

Дове­ло­ся тут під­ня­ти кри­ти­чний до затри­мок тунель, через який пра­цю­ва­ти­ме купа наро­ду з тер­мі­наль­ним сер­ве­ром. Вияви­ло­ся, що затрим­ка паке­тів у тако­му туне­лі гуляє, як оста­н­ня дів­ка, при­чо­му, зна­че­н­ня дуже силь­но від­рі­зня­ю­ться від пін­гів зов­ні­шньої білої адре­си. Іно­ді різни­ця дохо­дить до 5 разів у гір­ший бік. Піки спо­сте­рі­га­ю­ться, коли хтось пра­цює, а якщо канал не заван­та­же­но, то зна­че­н­ня пере­бу­ва­ють у межах нор­ми. Моні­то­ринг заван­та­же­но­сті кана­лу пока­зав… 2%. Щось тут не так.

Ріше­н­ня зна­йшло­ся через гугл. У кон­фіг сер­ва­ка потрі­бно дода­ти опцію tcp-nodelay, яка каже, що паке­ти будуть від­прав­ля­ти­ся негай­но, а не з пев­ною затрим­кою для агре­га­ції. Після цьо­го пінг нор­ма­лі­зу­вав­ся. При­чо­му, він став мен­шим за пінг до білої адре­си О_о. Мабуть, це при­ко­ли мере­же­во­го сте­ка Ліну­кса й Xen'а, оскіль­ки тер­мі­наль­ний сер­вер сидить за ген­ту­шним NAT'ом.

Ком­пре­сію я також про всяк випа­док вимкнув. Кажуть, також впли­ває на пінг.

Мітки: , ,