2

we want to test the network on all Linux machines

after all machines and switches configured to MTU=9000

the reason for that is because inconsistent MTU configuration can cause huge problem

so in our hadoop cluster we have ~50 machines and also switches that configured also

what are the Linux CLI that can approve that all linux / switches configured with MTU=9000

as all know ifconfig -a , show the MTU value

but we want to test it on each machine that MTU is real working

yael
  • 12,598
  • 51
  • 169
  • 303
  • related https://unix.stackexchange.com/questions/451647/can-jumbo-frames-mtu-9000-be-set-on-vm-machines/451649#451649 and https://unix.stackexchange.com/questions/426113/how-to-know-if-my-servers-should-use-jumbo-frames-mtu – Rui F Ribeiro Sep 05 '18 at 11:04

1 Answers1

4

You can ping across your infrastructure forcing a suitable packet size and setting the DF (Don't Fragment) bit.

Relevant ping flags are -s to set the packet size and -Mdo to set the DF bit.

For example on my system (normal 1500 MTU):

$> ping 10.10.10.1 -s 9000 -Mdo
PING 10.10.10.1 (10.10.10.1) 9000(9028) bytes of data.
ping: local error: Message too long, mtu=1500

it gives an error (because my PC is not configured with Jumbo frames).

Please keep in mind that if Layer2 MTU is 9000, the ping size should be 28 bytes less, so use 8972 as packet size:

ping A.DD.RE.SS -s 8972 -Mdo
Daniele Santi
  • 4,127
  • 2
  • 29
  • 30
  • first thank you so much your answer is very clear , so what we get for example from ping $IP -s 9000 -Mdo ( consider that IP configured to MTU=9000 ) – yael Sep 05 '18 at 10:57
  • @yael simply ping will respond instead of returning an error, for example `ping 192.168.0.5` will respond `64 bytes from 192.168.0.5: icmp_seq=2 ttl=255 time=0.180 ms` – Daniele Santi Sep 05 '18 at 11:01
  • so , if MTU=9000 was configured on all machines in the cluster , include the switches / router etc ( as you know we have 50 machines ) then from each machine to every each machine we need to get --> respond 64 bytes from 192.168.0.5: icmp_seq=2 ttl=255 time=0.180 ms , am I right ? – yael Sep 05 '18 at 11:03
  • @yael Sure, please keep in mind that with an MTU of 9000 (layer2), the packet size for ping should be <=8972, so use `ping -s 8972`, you should get a response like `8972 bytes from ...`. – Daniele Santi Sep 05 '18 at 11:06
  • so lets summary , in order to complete verification of MTU=9000 we need to do ping xxx.xxx.xxx.xxx -s 8972 -Mdo , from each machine to all other machine in the cluster , so this will covered all test , am I right ? – yael Sep 05 '18 at 11:09
  • @yael yes, that's correct. Well, maybe you won't need to do the test on **all** the machines, but we don't know your network topology so it's up to you to do all the tests you deem necessary. – Daniele Santi Sep 05 '18 at 11:12
  • just note , we have all machines IP's but not the switches IP's , is it important to do also to the switches ? , or we can to ignore this check ? – yael Sep 05 '18 at 11:14
  • @yael well, the packet MUST cross the switches, so you're indirectly testing those, too. Obviously, if a packet won't get through, it MIGHT be the server or it MIGHT be the switch! It's up to you to verify every configuration. – Daniele Santi Sep 05 '18 at 11:29