vm broker csshX (macos parallel ssh) sample ‐ minio multinode multiserver cluster - allanrogerr/public GitHub Wiki

Install cssX

See https://formulae.brew.sh/formula/csshx

brew install csshx

Tweak the install

See https://stackoverflow.com/questions/64837097/cant-make-csshx-working-on-mac-os-big-sur/70283732#70283732

vi /opt/homebrew/bin/csshX

Change line

use POSIX   qw(tmpnam);

to

#use POSIX   qw(tmpnam);
use File::Temp   qw(tmpnam);

Change line

#!/usr/bin/perl

to

#!/usr/bin/perl5.30

Create child instances

Using vm-broker spinup multiple instances on the same node. Add your public key to them at the same time of creation. image

Copy

Copy script to instances: https://github.com/allanrogerr/public/blob/main/minio/supporting-scripts/multi-node.sh

chmod +x multi-node.sh
scp -P 20090 -o "ServerAliveInterval=5" -o "ServerAliveCountMax=100000" -o "StrictHostKeyChecking=off" multi-node.sh [email protected]:/home/ubuntu/multi-node.sh
scp -P 20037 -o "ServerAliveInterval=5" -o "ServerAliveCountMax=100000" -o "StrictHostKeyChecking=off" multi-node.sh [email protected]:/home/ubuntu/multi-node.sh
scp -P 20015 -o "ServerAliveInterval=5" -o "ServerAliveCountMax=100000" -o "StrictHostKeyChecking=off" multi-node.sh [email protected]:/home/ubuntu/multi-node.sh
scp -P 20064 -o "ServerAliveInterval=5" -o "ServerAliveCountMax=100000" -o "StrictHostKeyChecking=off" multi-node.sh [email protected]:/home/ubuntu/multi-node.sh

Create a csshX command.

Similar to the following, using the instances' details

csshX \
[email protected]:20090 \
[email protected]:20037 \
[email protected]:20015 \
[email protected]:20064

Run from the macos terminal

./multi-node.sh https minio-demo lab.min.dev minio-demo4.lab.min.dev,minio-demo5.lab.min.dev,minio-demo6.lab.min.dev,minio-demo7.lab.min.dev 4 4

Access the cluster at https://minio-demo4.lab.min.dev:9090/browser