配置批量安装

如果是单机安装请跳过本章节。批量安装请参考以下操作进行相关配置及测试待安装设备连通性。

  1. 将完成下载操作后的ascend-deployer整个目录上传到一台Linux服务器的用户家目录(如“$HOME”)下。如果是直接在Linux服务器上使用ascend-deployer的下载功能,请忽略此步骤。
  2. 在ascend-deployer所在服务器上配置待安装的其他设备的ip地址、用户名。

    进入ascend-deployer目录,编辑inventory_file文件,新增待安装设备的ip地址、用户名,添加完成后执行:wq保存退出。格式参考如下:

    [ascend]
    localhost ansible_connection='local'
    ip_address_1 ansible_ssh_user='root' # root用户
    ip_address_2 ansible_ssh_user='root' # root用户
    ip_address_3 ansible_ssh_user='username' # 非root用户

    inventory文件中会配置远程设备的用户名,支持root和非root用户(非root用户仅支持安装表1所示的软件)。如果想使用非root用户安装表1所示的软件,需要将inventory文件中的ansible_ssh_user配置成root用户安装完sys_pkg(系统组件)等后,再将inventory文件中的ansible_ssh_user配置成非root用户安装表1所示的软件。

  3. 密钥认证设置。

    1. 在管理服务器(ascend-deployer所在服务器)上执行以下命令生成SSH Key。
      为安全起见,请在执行以下命令前将当前umask值改为0077,执行完后再恢复原umask值。
      ssh-keygen -t rsa -b 3072

      在提示“Enter file in which to save the key”时直接回车选择默认选项即可。为了安全起见,建议在提示“Enter passphrase”时输入密钥密码(符合密码复杂度要求)。

      以上为示例,请注意ssh密钥和密钥密码在使用和保管过程中的风险,特别是密钥未加密时的风险,用户应按照所在组织的安全策略进行相关配置,如口令复杂度要求、安全配置(协议、加密套件、密钥长度、是否允许使用ssh-keygen等)。

    2. 执行以下命令将管理服务器的公钥拷贝到其他待安装设备上。
      ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<ip>

      其中<user><ip>需替换为上一步骤在inventory_file文件中配置的用户名和ip。

    3. 验证管理服务器是否可以正常登录其他待安装设备。
      ssh <user>@<ip>

      其中<user><ip>需替换为上一步骤在inventory_file文件中配置的用户名和ip。

  4. 设置ssh代理管理ssh密钥,避免在ascend-deployer工具批量安装过程中输入密钥密码。设置ssh代理命令如下:

    1. 开启ssh-agent的bash进程。
      ssh-agent bash
    2. 向ssh-agent添加私钥。
      ssh-add ~/.ssh/id_rsa

      执行如上命令会提示“Enter passphrase for /root/.ssh/id_rsa:”,此时需要输入1中设置的密钥密码。

    后续批量安装过程结束后,请执行exit退出ssh-agent的bash进程,避免安全风险。

  5. 进入ascend-deployer目录,执行./install.sh --check测试待安装设备连通性。

    确保所有设备都能正常连接,若存在设备连接失败情况,请检查该设备的网络连接和sshd服务是否开启。