替换集群中的节点 - AWS Snowball Edge 开发者指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

替换集群中的节点

要替换节点,您首先需要订购替换节点。您可以从控制台 AWS CLI、或其中一个订购替换节点 AWS SDKs。如果您正在从控制台预定替换节点,则可为任何尚未取消或完成的作业预定替换节点。然后,断开运行状况不佳的节点与集群的关联,将替换节点连接到您的网络并解锁包括替换节点在内的集群,将替换节点与集群相关联,然后在 Snowball Edge 服务上重启 Amazon S3 兼容存储。

从控制台预定替换节点
  1. 登录到 AWS Snow 系列管理控制台

  2. 为属于从“作业”控制面板创建的集群的节点查找和选择作业。

  3. 对于操作,选择替换节点

    执行此操作将打开作业创建向导的最后一步,所有设置与最初创建集群的方式相同。

  4. 请选择创建作业

您的替换 Snowball Edge 目前正在寄送给您的途中。使用以下过程从集群中移除运行状况不佳的节点。

从集群中移除节点
  1. 关闭要移除的节点的电源。有关更多信息,请参阅关闭 Snowball Edge

  2. 使用 describe-cluster 命令来确保无法访问运行状况不佳的节点。NetworkReachability 对象 State 名称值为 UNREACHABLE 即表示无法访问。

    snowballEdge describe-cluster --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://ip-address-of-device-in-cluster
    describe-cluster 输出
    { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "Devices": [ { "DeviceId": "JID12345678-1234-1234-1234-123456789012", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.0" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789013", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.1" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789014", "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "UNREACHABLE" } } ] }
  3. 使用 describe-service 命令来确保 s3-snow 服务的状态为 DEGRADED

    snowballEdge describe-service --service-id s3-snow --device-ip-addresses snow-device-1-address snow-device-2-address --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://snow-device-ip-address
    describe-service 命令的输出
    { "ServiceId": "s3-snow", "Autostart": true, "Status": { "State": "DEGRADED" }, "ServiceCapacities": [ { "Name": "S3 Storage", "Unit": "Byte", "Used": 38768180432, "Available": 82961231819568 } ], "Endpoints": [ { "Protocol": "https", "Port": 443, "Host": "10.0.0.10", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description" : "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-26", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.11", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "Description" : "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-26", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.12", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "Description" : "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID-beta-207012240003-24-02-05-17-17-27", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.13", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "Description" : "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-27", "Status": { "State": "ACTIVE" } } ] }
  4. 使用 disassociate-device 命令取消关联并从集群中移除运行状况不佳的节点。

    snowballEdge disassociate-device --device-id device-id --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://ip-address-of-unhealthy-device
    disassociate-device 命令的输出
    Disassociating your Snowball Edge device from the cluster. Your Snowball Edge device will be disassociated from the cluster when it is in the "DISASSOCIATED" state. You can use the describe-cluster command to determine the state of your cluster.
  5. 再次使用 describe-cluster 命令来确保运行状况不佳的节点已与集群取消关联。

    snowballEdge describe-cluster --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https:ip-address-of-healthy-device
    describe-cluster 命令显示节点已取消关联
    { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "Devices": [ { "DeviceId": "JID12345678-1234-1234-1234-123456789012", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.0" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789013", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.1" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789014", "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "DISASSOCIATED" } } ] }
  6. 关闭电源,然后将运行状况不佳的设备放回原处。 AWS有关更多信息,请参阅关闭 Snowball Edge 的电源寄回 Snowball Edge 设备

替换设备送达后,请使用以下过程将它添加到集群中。

添加替换设备
  1. 为集群放置替换设备,以便能够接触到所有设备的前部、后部和顶部。

  2. 为节点上电,并确保节点已连接到与集群的其他节点相同的内部网络。有关更多信息,请参阅连接到本地网络

  3. 使用 unlock-cluster 命令并包括新节点的 IP 地址。

    snowballEdge unlock-cluster --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://ip-address-of-cluster-device --device-ip-addresses node-1-ip-address node-2-ip-address new-node-ip-address

    新节点的状态将为 DEGRADED,直到您在下一步将其与集群关联为止。

  4. 使用 associate-device 命令将替换节点与集群关联。

    snowballEdge associate-device --device-ip-address new-node-ip-address
    associate-device 命令输出的
    Associating your Snowball Edge device with the cluster. Your Snowball Edge device will be associated with the cluster when it is in the ASSOCIATED state. You can use the describe-device command to determine the state of your devices.
  5. 使用 describe-cluster 命令确保新节点已与集群关联。

    snowballEdge describe-cluster --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://node-ip-address
    describe-cluster 命令输出的
    { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "Devices": [ { "DeviceId": "JID12345678-1234-1234-1234-123456789012", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.0" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID-CID12345678-1234-1234-1234-123456789013", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.1" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID-CID12345678-1234-1234-1234-123456789015", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.2" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] } } ] }
  6. 在新节点上,创建两个虚拟网络接口 (VNIs)。有关更多信息,请参阅 在 Snowball Edge 服务上启动兼容亚马逊 S3 的存储

  7. 使用 stop-service 命令来停止 s3-snow 服务。

    snowballEdge stop-service --service-id s3-snow --device-ip-addresses cluster-device-1-ip-address cluster-device-2-ip-address cluster-device-3-ip-address --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://snow-device-ip-address
    stop-service 命令输出的
    Stopping the AWS service on your Snowball Edge. You can determine the status of the AWS service using the describe-service command.
  8. 将新节点添加到集群后,使用 start-service 命令启动 s3-snow 服务。

    snowballEdge start-service --service-id s3-snow --device-ip-addresses cluster-device-1-ip-address cluster-device-2-ip-address cluster-device-3-ip-address --virtual-network-interface-arns "device-1-vni-ip-address-a" "device-1-vni-ip-address-b" "device-2-vni-ip-address-a" "device-2-vni-ip-address-b" "device-3-vni-ip-address-a" "device-3-vni-ip-address-b" --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://snow-device-ip-address
    start-service 命令输出的
    Starting the AWS service on your Snowball Edge. You can determine the status of the AWS service using the describe-service command.
  9. 使用 describe-service 命令来确保 s3-snow 服务已启动。

    snowballEdge describe-service --service-id s3-snow --device-ip-addresses snow-device-1-address snow-device-2-address snow-device-3-address --manifest-file path/to/manifest/file.bin --unlock-code unlock-code --endpoint https://snow-device-ip-address
    descibe-service 命令输出的
    { "ServiceId": "s3-snow", "Autostart": true, "Status": { "State": "ACTIVE" }, "ServiceCapacities": [{ "Name": "S3 Storage", "Unit": "Byte", "Used": 38768180432, "Available": 82961231819568 }], "Endpoints": [{ "Protocol": "https", "Port": 443, "Host": "10.0.0.10", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID12345678-1234-1234-1234-123456789012", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.11", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID12345678-1234-1234-1234-123456789013", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.12", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID12345678-1234-1234-1234-123456789015", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.13", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-27", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.14", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID-beta-207012240003-24-02-05-17-17-28", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.15", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow object & bucket API endpoint (for s3api SDK), "DeviceId": "JID-beta-207012320001-24-02-05-17-17-28", "Status": { "State": "ACTIVE" } } }] }