How to add iperf3 to a Swarm probe build
The Swarm probe build is the same kernel and fsimage used to run Swarm storage nodes on but without the storage part.
It is a very useful tool when troubleshooting driver issues, or other hardware issues as it includes SSH access.
The support team uses this tool to troubleshoot and a client is provided a download link to use on their CSN or other PXE server.
Unlike a usual swarm upgrade image it exists in a zip format and the zip contains both the fsimage and kernel for the version of Swarm it is built for.
Swarm images load into memory so the base OS is not editable once started. Navigating to ‘/etc/’ and making lasting changes on a config file are not possible. It is not possible to add packages to the probe build using tools like yum or apt or even dpkg / rpm.
This article shows how to drop a precompiled binary in with the associated library.
Setup
Install probe-build
This example probe build is for version 12 and the CSN has the IP 10.0.1.26.
scp castor-12.0.0-x86_64-probe.zip root@10.0.1.26:/root/
Transfer over using WinSCP or FTP or another tool altogether but this is the easiest method when running on a linux/unix client.
There is no need to unzip the file when it is transferred over; move it to /root/
[root@swarmservicenode ~]# ll
total 234776
-rw-r--r-- 1 root root 118058980 Feb 22 10:06 caringo-castor-12.0.0-1-x86_64(1).rpm
-rw-r--r--. 1 root root 71 Aug 20 2018 caringo_csn_backup.disabled
-rw-r--r-- 1 root root 122143502 Feb 22 10:10 castor-12.0.0-x86_64-probe.zip
drwxr-xr-x 4 root root 4096 Dec 10 05:22 dist
-rw-r--r-- 1 root root 184320 Feb 22 10:58 iperf.tar
-rw-r--r-- 1 root root 966 May 31 2019 metrics.cfg
drwxr-xr-x. 2 root root 4096 Dec 10 05:19 Platform-8.3.2
On this example CSN the support tools are installed.
Use a handy script there to add the probe build.
cd dist
[root@swarmservicenode ~]# cd dist/
You have new mail in /var/spool/mail/root
[root@swarmservicenode dist]# ls
add-bashrcforcustomers.sh csn-check-backups.sh indexerConfig171.sh platform-send-health-reports.sh
bashrcforcustomers csn-create-nodeconfigs.sh indexerConfig233.sh platform-update-mibs.sh
CARINGO-CASTOR-MIB.txt csn-install-from-zip.sh indexer-enumerator.sh proxy-set-fw-nat.sh