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

自动化安装( VMware )

贡献者

您可以使用 VMware vSphere 自动部署网格节点。您还可以自动配置 StorageGRID 。

自动部署网格节点

使用 VMware vSphere 自动部署网格节点。

您需要的内容
  • 您可以访问使用 Bash 3.2 或更高版本的 Linux/Unix 系统。

  • 您已安装并正确配置 VMware OVF Tool 4.1 。

  • 您知道使用 OVF 工具访问 VMware vSphere 所需的用户名和密码。

  • 您知道 vSphere 中要部署 StorageGRID 虚拟机的位置的虚拟基础架构( VI ) URL 。此 URL 通常为 vApp 或资源池。例如: vi : //vcenter.example.com/vi/sgws

    备注 您可以使用 VMware ovftool 实用程序来确定此值(有关详细信息,请参见 ovftool 文档)。
    备注 如果要部署到 vApp ,虚拟机不会首次自动启动,您必须手动启动它们。
  • 您已收集此配置文件所需的所有信息。请参见 收集有关部署环境的信息 以了解相关信息。

  • 您可以从适用于 StorageGRID 的 VMware 安装归档文件访问以下文件:

文件名 Description

netapp-sg-version-sha.vmdk

用作创建网格节点虚拟机的模板的虚拟机磁盘文件。

  • 注: * 此文件必须与 ` .OVF` 和 ` .MF` 文件位于同一文件夹中。

vsphere-primary-admin.OVF vsphere-primary-admin.mf

用于部署主管理节点的开放式虚拟化格式模板文件(` .OVF` )和清单文件(` .MF` )。

vsphere-non-primary-admin.OVF vsphere-non-primary-admin.mf

用于部署非主管理节点的模板文件(` .OVF` )和清单文件(` .MF` )。

vsphere-archive.OVF vsphere-archive.mf

用于部署归档节点的模板文件(` .OVF` )和清单文件(` .MF` )。

vsphere-gateway.OVF vsphere-gateway.mf

用于部署网关节点的模板文件(` .OVF` )和清单文件(` .MF` )。

vsphere-storage.OVF vsphere-storage.mf

用于部署基于虚拟机的存储节点的模板文件(` .OVF` )和清单文件(` .MF` )。

deploy-vsphere-ovftool.sh

Bash shell 脚本,用于自动部署虚拟网格节点。

deploy-vsphere-ovftool-sample.ini

deept-vsphere-ovftool.sh 脚本结合使用的示例配置文件。

定义部署的配置文件

您可以在配置文件中指定为 StorageGRID 部署虚拟网格节点所需的信息,此配置文件由 dedeploy-vsphere-ovftool.sh Bash 脚本使用。您可以修改配置文件示例,这样就不必从头创建文件了。

步骤
  1. 为示例配置文件( deploy-vsphere-ovftool.sample.ini )创建一份副本。将此新文件另存为 deploy-vsphere-ovftool.ini ,并保存在与 deept-vsphere-ovftool.sh 相同的目录中。

  2. 打开 deploy-vsphere-ovftool.ini

  3. 输入部署 VMware 虚拟网格节点所需的所有信息。

    请参见 配置文件设置 以了解相关信息。

  4. 输入并验证所有必要信息后,请保存并关闭此文件。

配置文件设置

deploy-vsphere-ovftool.ini 配置文件包含部署虚拟网格节点所需的设置。

配置文件首先列出全局参数,然后在节点名称定义的部分中列出节点专用参数。使用文件时:

  • 全局参数 _ 应用于所有网格节点。

  • _Node-specific parameters_override 全局参数。

全局参数

全局参数将应用于所有网格节点,除非它们被各个部分中的设置所覆盖。将应用于多个节点的参数置于全局参数部分中,然后根据需要在各个节点的部分中覆盖这些设置。

  • * OVFTOOL_FUFFESESESESES* :您可以将 OVFTOOL_FUFFICESPORITES* 指定为全局设置,也可以将参数单独应用于特定节点。例如:

    OVFTOOL_ARGUMENTS = --powerOn --noSSLVerify --diskMode=eagerZeroedThick --datastore='datastore_name'

    您可以使用 ` -powerOffTarget` 和 ` -overwrite` 选项关闭并更换现有虚拟机。

    重要说明 您应将节点部署到不同的数据存储库,并为每个节点指定 OVFTOOL_FUFFICESYUESYUESL ,而不是全局参数。
  • * 源 * :单个网格节点的 StorageGRID 虚拟机模板(` .vmdk` )文件以及 ` .OVF` 和 ` .MF` 文件的路径。默认为当前目录。

    SOURCE = /downloads/StorageGRID-Webscale-version/vsphere
  • * 目标 * :要部署 StorageGRID 的位置的 VMware vSphere 虚拟基础架构( VI ) URL 。例如:

    TARGET = vi://vcenter.example.com/vm/sgws
  • * 网格网络配置 * :用于获取静态或 DHCP IP 地址的方法。默认值为 static 。如果所有或大多数节点使用相同的方法获取 IP 地址,则可以在此处指定该方法。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    GRID_NETWORK_CONFIG = DHCP
  • * 网格网络目标 * :要用于网格网络的现有 VMware 网络的名称。如果所有或大多数节点使用相同的网络名称,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    GRID_NETWORK_TARGET = SG-Admin-Network
  • * 网格网络掩码 * :网格网络的网络掩码。如果所有或大多数节点使用相同的网络掩码,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    GRID_NETWORK_MASK = 255.255.255.0
  • * 网格网络网关 * :网格网络的网络网关。如果所有或大多数节点使用同一个网络网关,则可以在此处指定此网关。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    GRID_NETWORK_GATEWAY = 10.1.0.1
  • * 网格网络 MTU * :可选。网格网络上的最大传输单元( MTU )。如果指定,则此值必须介于 1280 和 9216 之间。例如:

    GRID_NETWORK_MTU = 8192

    如果省略,则使用 1400 。

    如果要使用巨型帧,请将 MTU 设置为适合巨型帧的值,例如 9000 。否则,请保留默认值。

    重要说明 网络的 MTU 值必须与节点所连接的交换机端口上配置的值匹配。否则,可能会发生网络性能问题或数据包丢失。
    重要说明 为了获得最佳网络性能,应在所有节点的网格网络接口上配置类似的 MTU 值。如果网格网络在各个节点上的 MTU 设置有明显差异,则会触发 * 网格网络 MTU 不匹配 * 警报。并非所有网络类型的 MTU 值都相同。
  • * 管理网络配置 * :用于获取 IP 地址的方法,可以是禁用,静态或 DHCP 。默认值为 disabled 。如果所有或大多数节点使用相同的方法获取 IP 地址,则可以在此处指定该方法。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    ADMIN_NETWORK_CONFIG = STATIC
  • * 管理网络目标 * :用于管理网络的现有 VMware 网络的名称。除非禁用管理网络,否则此设置为必填项。如果所有或大多数节点使用相同的网络名称,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    ADMIN_NETWORK_TARGET = SG-Admin-Network
  • * 管理网络掩码 * :管理网络的网络掩码。如果使用的是静态 IP 寻址,则需要此设置。如果所有或大多数节点使用相同的网络掩码,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    ADMIN_NETWORK_MASK = 255.255.255.0
  • * 管理网络网关 * :管理网络的网络网关。如果您使用的是静态 IP 寻址,并且在 admin_network_esl 设置中指定了外部子网,则需要此设置。(也就是说,如果 admin_network_esl 为空,则不需要执行此操作。) 如果所有或大多数节点使用同一个网络网关,则可以在此处指定此网关。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    ADMIN_NETWORK_GATEWAY = 10.3.0.1
  • * 管理网络 _NETWORK_ESL* :管理网络的外部子网列表(路由),指定为 CIDR 路由目标的逗号分隔列表。如果所有或大多数节点使用相同的外部子网列表,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    ADMIN_NETWORK_ESL = 172.16.0.0/21,172.17.0.0/21
  • * 管理网络 MTU * :可选。管理网络上的最大传输单元( MTU )。请勿指定 admin_network_config 是否为 DHCP 。如果指定,则此值必须介于 1280 和 9216 之间。如果省略,则使用 1400 。如果要使用巨型帧,请将 MTU 设置为适合巨型帧的值,例如 9000 。否则,请保留默认值。如果所有或大多数节点对管理网络使用相同的 MTU ,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    ADMIN_NETWORK_MTU = 8192
  • * 客户端网络配置 * :用于获取 IP 地址的方法,可以是禁用,静态或 DHCP 。默认值为 disabled 。如果所有或大多数节点使用相同的方法获取 IP 地址,则可以在此处指定该方法。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    CLIENT_NETWORK_CONFIG = STATIC
  • * 客户端网络目标 * :用于客户端网络的现有 VMware 网络的名称。除非禁用客户端网络,否则此设置为必填项。如果所有或大多数节点使用相同的网络名称,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    CLIENT_NETWORK_TARGET = SG-Client-Network
  • * 客户端网络掩码 * :客户端网络的网络掩码。如果使用的是静态 IP 寻址,则需要此设置。如果所有或大多数节点使用相同的网络掩码,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    CLIENT_NETWORK_MASK = 255.255.255.0
  • * 客户端网络网关 * :客户端网络的网络网关。如果使用的是静态 IP 寻址,则需要此设置。如果所有或大多数节点使用同一个网络网关,则可以在此处指定此网关。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    CLIENT_NETWORK_GATEWAY = 10.4.0.1
  • * 客户端网络 MTU * :可选。客户端网络上的最大传输单元( MTU )。请勿指定 client_network_config 是否为 DHCP 。如果指定,则此值必须介于 1280 和 9216 之间。如果省略,则使用 1400 。如果要使用巨型帧,请将 MTU 设置为适合巨型帧的值,例如 9000 。否则,请保留默认值。如果所有或大多数节点对客户端网络使用相同的 MTU ,则可以在此处指定。然后,您可以通过为一个或多个节点指定不同的设置来覆盖全局设置。例如:

    CLIENT_NETWORK_MTU = 8192
  • * 端口重新映射 * :重新映射节点用于内部网格节点通信或外部通信的任何端口。如果企业网络策略限制 StorageGRID 使用的一个或多个端口,则必须重新映射端口。有关 StorageGRID 使用的端口列表,请参见中的内部网格节点通信和外部通信 网络连接准则

    重要说明 不要重新映射计划用于配置负载平衡器端点的端口。
    备注 如果仅设置 port_remap ,则您指定的映射将同时用于入站和出站通信。如果同时指定 port_remap_inbound , port_remap 将仅应用于出站通信。

使用的格式为:网格节点 / 新端口 _` 使用的 ` 网络类型 / 协议 / 默认端口,其中网络类型为网格,管理员或客户端,协议为 TCP 或 UDP 。

例如:

PORT_REMAP = client/tcp/18082/443

如果单独使用,则此示例设置会将网格节点的入站和出站通信从端口 18082 对称映射到端口 443 。如果与 port_remap_inbound 结合使用,则此示例设置会将出站通信从端口 18082 映射到端口 443 。

  • * 端口重新映射入站 * :重新映射指定端口的入站通信。如果指定 port_remap_inbound ,但未指定 port_remap 的值,则端口的出站通信将保持不变。

    重要说明 不要重新映射计划用于配置负载平衡器端点的端口。

使用的格式为: ` node_/protocol/_default port used by grid node/new port` ,其中 network type 为 grid , admin 或 client , protocol 为 tcp 或 udp 。

例如:

PORT_REMAP_INBOUND = client/tcp/443/18082

此示例将接收发送到端口 443 以通过内部防火墙的流量,并将其定向到端口 18082 ,网格节点正在侦听 S3 请求。

节点专用参数

每个节点都位于配置文件中各自的部分中。每个节点都需要以下设置:

  • 此部分标题定义了将在网格管理器中显示的节点名称。您可以通过为节点指定可选的 node_name 参数来覆盖该值。

  • * 节点类型 * : VM_Admin_Node , VM_Storage_Node , VM_Archive_Node 或 VM_API_Gateway_Node

  • * 网格网络 IP :网格网络上节点的 IP 地址。

  • * 管理网络 IP :管理网络上节点的 IP 地址。只有当节点已连接到管理网络且 admin_network_config 设置为 static 时才需要。

  • * 客户端网络 IP* :客户端网络上节点的 IP 地址。只有当节点已连接到客户端网络且此节点的 client_network_config 设置为 static 时才需要此选项。

  • * 管理 _IP* :网格网络上主管理节点的 IP 地址。使用指定的值作为主管理节点的 grid_network_IP 。如果省略此参数,则节点将尝试使用 mDNS 发现主管理节点 IP 。有关详细信息,请参见 网格节点如何发现主管理节点

    备注 对于主管理节点, admin_ip 参数将被忽略。
  • 未全局设置的任何参数。例如,如果某个节点已连接到管理网络,而您未全局指定 admin_network 参数,则必须为此节点指定这些参数。

主管理节点

主管理节点需要以下附加设置:

  • * 节点类型 * : VM_Admin_Node

  • * 管理角色 * :主

此示例条目适用于所有三个网络上的主管理节点:

[DC1-ADM1]
  ADMIN_ROLE = Primary
  NODE_TYPE = VM_Admin_Node

  GRID_NETWORK_IP = 10.1.0.2
  ADMIN_NETWORK_IP = 10.3.0.2
  CLIENT_NETWORK_IP = 10.4.0.2

以下附加设置对于主管理节点是可选的:

  • * 磁盘 * :默认情况下,会为管理节点另外分配两个 200 GB 的硬盘,以供审核和数据库使用。您可以使用 disk 参数增加这些设置。例如:

    DISK = INSTANCES=2, CAPACITY=300
备注 对于管理节点,实例必须始终等于 2 。
存储节点

存储节点需要以下附加设置:

  • * 节点类型 * : VM_Storage_Node

    此示例条目适用于网格和管理网络上的存储节点,但不适用于客户端网络。此节点使用 admin_ip 设置指定网格网络上主管理节点的 IP 地址。

    [DC1-S1]
      NODE_TYPE = VM_Storage_Node
    
      GRID_NETWORK_IP = 10.1.0.3
      ADMIN_NETWORK_IP = 10.3.0.3
    
      ADMIN_IP = 10.1.0.2

    第二个示例条目适用于客户端网络上的存储节点,其中,客户的企业网络策略指出, S3 客户端应用程序仅允许使用端口 80 或 443 访问存储节点。示例配置文件使用 port_remap 使存储节点能够通过端口 443 发送和接收 S3 消息。

    [DC2-S1]
      NODE_TYPE = VM_Storage_Node
    
      GRID_NETWORK_IP = 10.1.1.3
      CLIENT_NETWORK_IP = 10.4.1.3
      PORT_REMAP = client/tcp/18082/443
    
      ADMIN_IP = 10.1.0.2

    最后一个示例为从端口 22 到端口 3022 的 ssh 流量创建了对称重新映射,但明确设置了入站和出站流量的值。

    [DC1-S3]
      NODE_TYPE = VM_Storage_Node
    
      GRID_NETWORK_IP = 10.1.1.3
    
      PORT_REMAP = grid/tcp/22/3022
      PORT_REMAP_INBOUND = grid/tcp/3022/22
    
      ADMIN_IP = 10.1.0.2

以下附加设置对于存储节点是可选的:

  • * 磁盘 * :默认情况下,为存储节点分配三个 4 TB 磁盘,以供 RangeDB 使用。您可以使用 disk 参数增加这些设置。例如:

    DISK = INSTANCES=16, CAPACITY=4096
归档节点

归档节点需要以下附加设置:

  • * 节点类型 * : VM_Archive_Node

此示例条目适用于网格和管理网络上的归档节点,但不适用于客户端网络。

[DC1-ARC1]
  NODE_TYPE = VM_Archive_Node

  GRID_NETWORK_IP = 10.1.0.4
  ADMIN_NETWORK_IP = 10.3.0.4

  ADMIN_IP = 10.1.0.2
网关节点

网关节点需要以下附加设置:

  • * 节点类型 * : VM_API_Gateway

此示例条目适用于所有三个网络上的示例网关节点。在此示例中,未在配置文件的全局部分中指定客户端网络参数,因此必须为节点指定这些参数:

[DC1-G1]
  NODE_TYPE = VM_API_Gateway

  GRID_NETWORK_IP = 10.1.0.5
  ADMIN_NETWORK_IP = 10.3.0.5

  CLIENT_NETWORK_CONFIG = STATIC
  CLIENT_NETWORK_TARGET = SG-Client-Network
  CLIENT_NETWORK_MASK = 255.255.255.0
  CLIENT_NETWORK_GATEWAY = 10.4.0.1
  CLIENT_NETWORK_IP = 10.4.0.5

  ADMIN_IP = 10.1.0.2
非主管理节点

非主管理节点需要以下附加设置:

  • * 节点类型 * : VM_Admin_Node

  • * 管理角色 * :非主要

此示例条目适用于不在客户端网络上的非主管理节点:

[DC2-ADM1]
  ADMIN_ROLE = Non-Primary
  NODE_TYPE = VM_Admin_Node

  GRID_NETWORK_TARGET = SG-Grid-Network
  GRID_NETWORK_IP = 10.1.0.6
  ADMIN_NETWORK_IP = 10.3.0.6

  ADMIN_IP = 10.1.0.2

以下附加设置对于非主管理节点是可选的:

  • * 磁盘 * :默认情况下,会为管理节点另外分配两个 200 GB 的硬盘,以供审核和数据库使用。您可以使用 disk 参数增加这些设置。例如:

    DISK = INSTANCES=2, CAPACITY=300
备注 对于管理节点,实例必须始终等于 2 。

运行 Bash 脚本

您可以使用 dedeploy-vsphere-ovftool.sh Bash 脚本和您修改的 deploy-vsphere-ovftool.ini 配置文件在 VMware vSphere 中自动部署 StorageGRID 网格节点。

您需要的内容
  • 您已为您的环境创建 deploy-vsphere-ovftool.ini 配置文件。

您可以通过输入 help 命令(` -h/-help` )来使用 Bash 脚本提供的帮助。例如:

./deploy-vsphere-ovftool.sh -h

./deploy-vsphere-ovftool.sh --help
步骤
  1. 登录到用于运行 Bash 脚本的 Linux 计算机。

  2. 更改为提取安装归档的目录。

    例如:

    cd StorageGRID-Webscale-version/vsphere
  3. 要部署所有网格节点,请使用适用于您环境的选项运行 Bash 脚本。

    例如:

    ./deploy-vsphere-ovftool.sh --username=user --password=pwd ./deploy-vsphere-ovftool.ini
  4. 如果某个网格节点由于出现错误而无法部署,请解决此错误并仅为该节点重新运行 Bash 脚本。

    例如:

    ./deploy-vsphere-ovftool.sh --username=user --password=pwd --single-node="DC1-S3" ./deploy-vsphere-ovftool.ini

当每个节点的状态为 "`passed" 时,部署完成。`

Deployment Summary
+-----------------------------+----------+----------------------+
| node                        | attempts | status               |
+-----------------------------+----------+----------------------+
| DC1-ADM1                    |        1 | Passed               |
| DC1-G1                      |        1 | Passed               |
| DC1-S1                      |        1 | Passed               |
| DC1-S2                      |        1 | Passed               |
| DC1-S3                      |        1 | Passed               |
+-----------------------------+----------+----------------------+

自动配置 StorageGRID

部署网格节点后,您可以自动配置 StorageGRID 系统。

您需要的内容
  • 您可以从安装归档中了解以下文件的位置。

文件名 Description

configure-storagegrid.py

用于自动配置的 Python 脚本

configure-storaggrid.sample.json

用于脚本的示例配置文件

configure-storaggrid.blank.json

用于脚本的空配置文件

  • 您已创建 configure-storaggrid.json 配置文件。要创建此文件,您可以修改示例配置文件(configure-storaggrid.sample.json )或空白配置文件(config-storaggrid.blank.json )。

您可以使用 configure-storaggrid.py Python 脚本和 configure-storaggrid.json 配置文件来自动配置 StorageGRID 系统。

备注 您也可以使用网格管理器或安装 API 配置系统。
步骤
  1. 登录到用于运行 Python 脚本的 Linux 计算机。

  2. 更改为提取安装归档的目录。

    例如:

    cd StorageGRID-Webscale-version/platform

    其中, platform 是 debs , rpms 或 vsphere 。

  3. 运行 Python 脚本并使用您创建的配置文件。

    例如:

    ./configure-storagegrid.py ./configure-storagegrid.json --start-install
结果

在配置过程中会生成一个恢复包 .zip 文件,该文件将下载到运行安装和配置过程的目录中。您必须备份恢复软件包文件,以便在一个或多个网格节点发生故障时恢复 StorageGRID 系统。例如,将其复制到安全的备份网络位置和安全的云存储位置。

重要说明 恢复包文件必须受到保护,因为它包含可用于从 StorageGRID 系统获取数据的加密密钥和密码。

如果您指定应生成随机密码,则需要提取 Passwords.txt 文件并查找访问 StorageGRID 系统所需的密码。

######################################################################
##### The StorageGRID "recovery package" has been downloaded as: #####
#####           ./sgws-recovery-package-994078-rev1.zip          #####
#####   Safeguard this file as it will be needed in case of a    #####
#####                 StorageGRID node recovery.                 #####
######################################################################

系统会在显示确认消息时安装并配置 StorageGRID 系统。

StorageGRID has been configured and installed.