更新时间:2024-04-30 GMT+08:00
分享

NPU Snt9B裸金属服务器多机批量执行命令

场景描述

在使用NPU Snt9B裸金属服务器进行多机训练/推理作业时,往往需要将多机的环境配置的完全一致。如果逐台登录主机,逐台使用环境配置脚本来配置,虽然可以完成任务,但是效率低下。为了提高效率,本文介绍如何在单节点通过脚本方式实现多台主机批量执行命令。

操作步骤

  1. 选择信任节点并生成密钥。可以将多机中的一台作为信任节点,通过如下命令生成ssh的rsa密钥:

    ssh-keygen -t rsa

    执行后,会在/.ssh目录生成ssh的公钥和私钥。

  2. 配置信任节点对其他多机的免密登录

    配置该信任节点免密登录到所有主机。首先创建主机列表文件hostlist,将所有主机的vpc ip写在文件中。本文以两台华为云Snt9B裸金属服务器为例,将server1作为信任节点,它们的vpc ip分别为:

    • 172.16.0.73 server1
    • 172.16.0.186 server2

    执行如下命令将vpc ip写入到hostlist:

    $ vim hostlist
    172.16.0.73
    172.16.0.186

    在与信任节点hostlist文件相同的目录下,编写免密登录脚本,本文将其命名为config-ssh.sh:

    #!/bin/sh
    
    hosts=`sed -n '/^[^#]/p' hostlist`
    for host in $hosts
            do
                    echo ""
                    echo HOST $host
                    scp .ssh/id_rsa.pub $host:~/
                    ssh $host 'cat id_rsa.pub >> .ssh/authorized_keys'
            done

    给予权限并执行该脚本:

    chmod u+x config-ssh.sh
    ./config-ssh.sh

    在执行时,会需要在信任节点输入其他节点的ssh密码,来将信任节点的rsa公钥发给其他节点,并写入authorized_keys文件。如下图,需要输入server1和server2的密码。

    图1 执行config-ssh.sh

    这样就使得信任节点可以免密登录到所有主机了。

  3. 在信任节点实现多机批量处理。在信任节点创建批量执行脚本,本文将其命名为doCommand.sh:

    #!/bin/sh
    
    doCommand()
    {
        hosts=`sed -n '/^[^#]/p' hostlist`
        for host in $hosts
            do
                echo ""
                echo HOST $host
                scp "$@" $host:~/
                ssh $host sh ./"$@"
            done
        return 0
    }
    
        if [ $# -lt 1 ]
        then
                echo "$0 cmd"
                exit
        fi
        doCommand "$@"
        echo "return from doCommand"

    该脚本执行时需要一个参数,即需要被多机批量执行的脚本。本文创建了runnn.sh脚本,具体内容如下:

    #!/bin/sh
    
    echo "hello world!!!"

    给予权限并执行doCommand.sh:

    chmod u+x doCommand.sh
    
    ./doCommand.sh "runnn.sh"

    该命令的含义为:在hostlist文件中的每台机器分别执行runnn.sh脚本。效果如下:

    图2 执行doCommand.sh

    可以将环境配置的脚本放在信任节点上,并将其作为doCommand.sh执行时的参数。

    ./doCommand.sh "环境配置脚本"

    这样就实现了在单机上,对多机批量执行环境配置脚本了。

分享:

    相关文档

    相关产品