Re: Network testing tool.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/13/2016 06:46 AM, Owen Synge wrote:
Dear all,

Often issues arise with badly configured network switches, vlans, and
such like. Knowing each node routes to is a major deployment fail and
can be difficult to diagnose.

The brief looks like this:

Description:

  * Diagnose network issues quickly for ceph.
  * Identify network issues before deploying ceph.

A typical deployment will have 2 networks and potentially 3.

  * External network for client access.
  * Internal network for data replication. (Strongly recommended)
  * Administration network. (Optional)

Typically we will have salt available on all nodes, but it would be the
same for ansible or an other config management solution.

  * This will make injection of IP addresses and hosts trivial.

Before I go any further with developing a solution, does anyone know of
a pre made solution, that will avoid me writing much code, or ideally
any code.

So far I have only found tools for testing connectivity between 1 point
and another, not for testing 1:N or N:N.

We simulated 1:N and N:N throughput tests by wrapping iperf in simple shell scripts and simply executing it in parallel on every host using pdsh. These are really good tests to perform as it can show problems in the switch itself. In one instance, a customer's bonding setup was causing extreme throughput degradation, but only on certain routes, but it only showed up in 1:N and N:N situations (primarily N:N). These were just throw away scripts, but the idea works really well in practice so something a bit more substantial might work very well. Way down on the todo list is to add something like this to cbt for a pre-benchmark network test.

1:N
---

Script to launch iperf servers:
#!/bin/bash
for i in 8 9 10 11 12 13
do
  val=$((62+$i))
  pdsh -R ssh -w osd[$i] iperf -s -B 192.168.1.$val &
done

Script to launch iperf clients:
#!/bin/bash
for i in 0 1 2 3 4 5 6 7
do
  for val in 70 71 72 73 74 75
  do
pdsh -R ssh -w client[$i] iperf -c 192.168.1.$val -f m -t 60 -P 1 > /tmp/iperf_client${i}_to_${val}.out &
  done
done


N:N
---

for i in 8 9 10 11 12 13
do
  val=$((62+$i))
  pdsh -R ssh -w osd[$i] iperf -s -B 192.168.1.$val &
done

#!/bin/bash
for i in 8 9 10 11 12 13
do
  for val in 70 71 72 73 74 75
  do
pdsh -R ssh -w osd[$i] iperf -c 192.168.1.$val -P 1 -f m -t 60 -P 1 > /tmp/iperf_${i}_to_${val}.out &
  done
done
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux