Nutanix の CVM のコマンドラインで、allssh というものが使われていることがあり、これは、すべての CVM にまとめて SSH でコマンド実行するもののようです。
CVM に設定コマンドを投入するときに使用されていることがあります。
今回の Nutanix CE の CVM のバージョンです。
nutanix@NTNX-a97be8ba-A-CVM:192.168.1.192:~$ cat /etc/nutanix/svm-version 4.6r28
ためしに allssh で virsh list を実行した様子です。
nutanix@NTNX-a97be8ba-A-CVM:192.168.1.192:~$ allssh virsh list Executing virsh list on the cluster ================== 192.168.1.191 ================= Id Name State ---------------------------------------------------- 2 NTNX-99f5d66a-A-CVM running Connection to 192.168.1.191 closed. ================== 192.168.1.192 ================= Id Name State ---------------------------------------------------- 2 NTNX-a97be8ba-A-CVM running Connection to 192.168.1.192 closed. ================== 192.168.1.193 ================= Id Name State ---------------------------------------------------- 2 NTNX-29660487-A-CVM running Connection to 192.168.1.193 closed.
これは allssh という実行ファイルがあるわけではなく、alias が設定された、bash のファンクションのようです。
nutanix@NTNX-a97be8ba-A-CVM:192.168.1.192:~$ which allssh alias allssh='__allssh'
ファンクションの内容です。svmips という CVM の IP アドレスを取得するコマンド(Python スクリプト)を使ったりしています。
nutanix@NTNX-a97be8ba-A-CVM:192.168.1.192:~$ declare -f __allssh __allssh () { CMDS=$@; OPTS="-t -o LogLevel=ERROR -o StrictHostKeyChecking=no"; echo "Executing $CMDS on the cluster"; for i in `svmips`; do echo "================== "$i" ================="; /usr/bin/ssh $OPTS $i "source /etc/profile;$@"; done }
プロファイル設定を /etc/profile.d/nutanix_env.sh からたどっていくと、設定は /usr/local/nutanix/profile.d/bashrc に含まれているようです。
ちなみに、他にも下記のような bash エイリアスが設定されています。
alias cs='cluster status' alias gs='genesis status'
以上。