Skip to main content
Element Software
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用SSH访问存储节点以进行基本故障排除

贡献者

从Element 12.5开始、您可以使用存储节点上的sfreadonly系统帐户进行基本故障排除。您还可以为NetApp支持启用并打开远程支持通道访问、以执行高级故障排除。

通过sfreadonly系统帐户,可以运行基本的Linux系统和网络故障排除命令,包括 ping

警告 除非NetApp支持部门建议、否则不支持对此系统进行任何更改、从而使您的支持合同失效、并可能导致数据不稳定或无法访问。
开始之前
  • 写入权限:验证您是否具有对当前工作目录的写入权限。

  • (可选)生成您自己的密钥对:从Windows 10、MacOS或Linux分发版运行 ssh-keygen。这是一次性操作、用于创建用户密钥对、可重复用于将来的故障排除会话。您可能希望使用与员工帐户关联的证书、此证书在此模式下也适用。

  • 在管理节点上启用SSH功能:要在管理模式下启用远程访问功能,请参见"本主题"。对于管理服务 2.18 及更高版本,默认情况下,管理节点上的远程访问功能处于禁用状态。

  • 在存储集群上启用SSH功能:要在存储集群节点上启用远程访问功能,请参见"本主题"

  • 防火墙配置:如果管理节点位于代理服务器之后、则sshd.config文件需要以下TCP端口:

    TCP 端口 说明 连接方向

    443

    API 调用 /HTTPS ,用于通过打开的支持通道向 Web UI 转发反向端口

    管理节点到存储节点

    22

    SSH 登录访问

    管理节点到存储节点或从存储节点到管理节点

对集群节点进行故障排除

您可以使用sfreadonly系统帐户执行基本故障排除:

步骤
  1. 使用您在安装管理节点虚拟机时选择的帐户登录凭据通过SSH连接到管理节点。

  2. 在管理节点上,转至 /sf/bin

  3. 查找适用于您的系统的脚本:

    • SignSshKeys.ps1

    • SignSshKeys.py

    • SignSshKeys.sh

      备注

      SignSshKeys.ps1依赖于PowerShell 7或更高版本,SignSshKeys.py依赖于3.6.0或更高版本和 "请求模块"

      SignSshKeys`脚本会将、 `user.pub`和 `user-cert.pub`文件写入 `user`当前工作目录,这些目录稍后由命令使用 `ssh。但是、如果向脚本提供了公共密钥文件、则只会将一个 `<public_key>`文件( `<public_key>`替换为传递到脚本中的公共密钥文件的前缀)写出到目录中。

  4. 在管理节点上运行脚本以生成SSH密钥链。该脚本可在集群中的所有节点上使用sfreadonly系统帐户启用SSH访问。

    SignSshKeys --ip [ip address] --user [username] --duration [hours] --publickey [public key path]
    1. 替换以下每个参数的方括号(包括方括号)中的值:

      备注 您可以使用缩写或完整格式参数。
      • —-ip |-i [IP address]:要对其运行API的目标节点的IP地址。

      • -user |-u [用户名]:用于运行API调用的集群用户。

      • (可选)-duration |-d [hours]:已签名密钥的持续时间应保持为一个整数(以小时为单位)。默认值为24小时。

      • (可选)-publickey |-k公有 key path]:公有 密钥的路径(如果用户选择提供)。

    2. 将您输入的内容与以下示例命令进行比较。在此示例中、 `10.116.139.195`是存储节点的IP、是集群用户名、 `admin`密钥有效期为两小时:

      sh /sf/bin/SignSshKeys.sh --ip 10.116.139.195 --user admin --duration 2
    3. 运行命令。

  5. 通过SSH连接到节点IP:

    ssh -i user sfreadonly@[node_ip]

    您将能够运行基本的Linux系统和网络故障排除命令,例如 ping,以及其他只读命令。

  6. (可选)完成故障排除后、再次禁用"远程访问功能"

    备注 如果不禁用SSH、则它在管理节点上保持启用状态。启用了 SSH 的配置会通过更新和升级在管理节点上持续存在,直到手动禁用为止。

使用NetApp支持对集群节点进行故障排除

NetApp支持部门可以使用系统帐户执行高级故障排除、从而使技术人员能够运行更深入的Element诊断。

步骤
  1. 使用您在安装管理节点虚拟机时选择的帐户登录凭据通过SSH连接到管理节点。

  2. 使用NetApp支持部门发送的端口号运行rst命令以打开支持通道:

    rst -r sfsupport.solidfire.com -u element -p <port_number>

    NetApp支持将使用支持通道登录到您的管理节点。

  3. 在管理节点上,转至 /sf/bin

  4. 查找适用于您的系统的脚本:

    • SignSshKeys.ps1

    • SignSshKeys.py

    • SignSshKeys.sh

      备注

      SignSshKeys.ps1依赖于PowerShell 7或更高版本,SignSshKeys.py依赖于3.6.0或更高版本和 "请求模块"

      SignSshKeys`脚本会将、 `user.pub`和 `user-cert.pub`文件写入 `user`当前工作目录,这些目录稍后由命令使用 `ssh。但是、如果向脚本提供了公共密钥文件、则只会将一个 `<public_key>`文件( `<public_key>`替换为传递到脚本中的公共密钥文件的前缀)写出到目录中。

  5. 运行脚本以生成带有标志的SSH密钥链 --sfadmin。此脚本可在所有节点上启用SSH。

    SignSshKeys --ip [ip address] --user [username] --duration [hours] --sfadmin
    备注

    要对集群模式节点使用SSH --sfadmin、您必须使用在集群上具有 supportAdmin`访问权限的生成SSH密钥链 `--user

    要配置 `supportAdmin`集群管理员帐户的访问权限、您可以使用Element UI或API:

    要添加 `supportAdmin`访问权限、您必须具有集群管理员或管理员Privileges。

    1. 替换以下每个参数的方括号(包括方括号)中的值:

      备注 您可以使用缩写或完整格式参数。
      • —-ip |-i [IP address]:要对其运行API的目标节点的IP地址。

      • -user |-u [用户名]:用于运行API调用的集群用户。

      • (可选)-duration |-d [hours]:已签名密钥的持续时间应保持为一个整数(以小时为单位)。默认值为24小时。

    2. 将您输入的内容与以下示例命令进行比较。在此示例中、 `192.168.0.1`是存储节点的IP、 `admin`是集群用户名、密钥有效期为两小时、并 `--sfadmin`允许NetApp支持节点访问以进行故障排除:

      sh /sf/bin/SignSshKeys.sh --ip 192.168.0.1 --user admin --duration 2 --sfadmin
    3. 运行命令。

  6. 通过SSH连接到节点IP:

    ssh -i user sfadmin@[node_ip]
  7. 要关闭远程支持通道,请输入以下内容:

    rst --killall

  8. (可选)完成故障排除后、再次禁用"远程访问功能"

    备注 如果不禁用SSH、则它在管理节点上保持启用状态。启用了 SSH 的配置会通过更新和升级在管理节点上持续存在,直到手动禁用为止。

对不属于集群的节点进行故障排除

您可以对尚未添加到集群中的节点执行基本故障排除。您可以使用sfreadonly系统帐户来实现此目的、无论是否获得NetApp支持。如果已设置管理节点、则可以将其用于SSH并运行为此任务提供的脚本。

  1. 在安装了SSH客户端的Windows、Linux或Mac计算机上、运行NetApp支持部门为您的系统提供的相应脚本。

  2. 通过SSH连接到节点IP:

    ssh -i user sfreadonly@[node_ip]
  3. (可选)完成故障排除后、再次禁用"远程访问功能"

    备注 如果不禁用SSH、则它在管理节点上保持启用状态。启用了 SSH 的配置会通过更新和升级在管理节点上持续存在,直到手动禁用为止。

了解更多信息