AWS Snowball
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本指南适用于 Snowball Edge。如果您正在查找 Snowball 的相关文档,请参阅 AWS Snowball 用户指南

对 AWS Snowball Edge 使用文件接口

接下来,您可以查找有关对 AWS Snowball Edge 使用文件接口的信息。通过使用此文件接口,您可以从计算机中将文件拖放到 Snowball Edge 上的 Amazon S3 存储桶中。

注意

如果您是在 2018 年 7 月 17 日之前创建的任务,则此信息不适用于您的设备。请改为参阅对 AWS Snowball Edge 使用文件接口

文件接口概述

文件接口将为 AWS Snowball Edge 设备上的每个存储桶公开网络文件系统 (NFS) 装载点。您可以使用标准 Linux、Microsoft Windows 或 Mac 命令从 NFS 客户端装载文件共享。您可以使用标准文件操作来访问文件共享。

装载文件共享后,Snowball Edge 前部的 LCD 屏幕上将显示一个新的 file interface (文件接口) 选项卡。在此选项卡中,您可以获得传输状态信息,查看您的 NFS 点 IP 地址,并保护对特定存储桶的 NFS 客户端访问。

您可以使用 AWS Snowball Edge 设备上的本地 LCD 显示屏禁用或启用文件接口。对 AWS Snowball Edge 设备进行解锁后,您便拥有通过文件接口读取和写入数据所需的所有权限。

文件接口的优势

由于以下优势,您可能需要使用文件接口读取和写入数据:

  • 通过使用文件接口,您可以更轻松地读取、写入和删除文件。

  • 您可以使用 AWS Snowball Edge 设备上的本地 LCD 显示屏来监视文件接口状态。

  • 文件接口在对象中保留用户定义的元数据。此元数据包含权限、所有权和时间戳,并且可用于进行跟踪。

  • 由于文件将写入设备上的存储桶中,因此,添加文件会触发关联的 由 AWS Greengrass 提供支持的 AWS Lambda 函数。

使用文件接口的先决条件

必须先执行以下步骤,然后才能使用文件接口:

  • 您必须为 Snowball Edge 创建任务。

  • 您的 Snowball Edge 设备必须到达您的位置。

  • 您必须使用 Snowball 客户端对设备解锁。

如果其中一个或多个步骤未执行,请参阅以下主题:

使用文件接口的注意事项

在使用文件接口时,请记住以下注意事项:

  • 您可以传输到 Snowball Edge 的文件接口的最大文件大小为 150 GB。如果您尝试传输大于 150 GB 的文件,则文件接口会写入该文件的前 150 GB,然后返回一条错误消息,指示文件太大。

  • 建议您只使用一种方法读取数据并将数据写入 Snowball Edge 设备上的每个存储桶。如果在同一存储桶上既使用文件接口又使用 适用于 Snowball 的 Amazon S3 Adapter,则可能导致未定义的行为。

  • 文件接口支持所有 NFS 文件操作,但截断、重命名或更改所有权除外。使用这些不受支持的文件操作的请求将被拒绝,而且会有错误消息发送到您的 NFS 客户端。如果在 Snowball Edge 上创建文件后尝试更改文件的权限,则会忽略该尝试,而不发送错误消息。

  • 如果 Snowball Edge 出现电源故障或重启,则文件接口缓冲区中的数据仍然存在。重启时,这些缓冲的数据会上传到设备上的存储桶中。当 File interface 选项卡上的 Write status 显示 100% 且带有绿色进度条时,文件接口缓冲区中的所有数据都将上传到设备上的存储桶中。

  • 请勿将数据写入已满的 Snowball Edge,或写入大小超过剩余可用存储空间的数据。这两种操作引起的错误都可能会损坏数据。我们建议您使用 Snowball 客户端命令 snowballEdge status 来确定 Snowball Edge 上剩余的空间量。将该数量与您要使用文件接口复制的数据量进行比较,然后才复制数据。

  • 在使用文件接口完成将数据复制到 Snowball Edge 的操作时,您必须禁用文件接口以避免丢失可能在缓冲区中、但尚未写入 Amazon S3 存储桶中的任何数据。有关更多信息,请参阅禁用文件接口

  • 我们建议您为写入文件接口的所有数据保留一个本地副本,直到 Snowball Edge 运输回 AWS 并且数据已提取到 Amazon S3 中。

注意

使用文件接口的数据传输速率通常在 25 MB/s 到 40 MB/s 之间。如果您需要传输数据的速度超过此值,请将 Amazon S3 用于适配器 Snowball,它的数据传输速率通常介于 250 MB/s 和 400 MB/s 之间。有关更多信息,请参阅 使用 Amazon S3 Adapter

启动文件接口

您需要先使用 Snowball 客户端启动文件接口,然后才能使用它。

重要

激活文件接口可能需要一个小时或更长时间。在此期间请勿关闭或重新启动设备。

启动文件接口

  1. 运行 snowballEdge describe-device 命令以获取网络接口 ID 的列表。有关此命令的更多信息,请参阅 获取设备状态

  2. 创建虚拟网络接口。作为此过程的一部分,标识您要使用的物理网络接口的 ID 并记下它。以下示例显示使用两种不同的 IP 地址分配方法(DHCPSTATIC)运行此命令以创建虚拟网络接口。

    snowballEdge create-virtual-network-interface \ --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment DHCP                  //OR//         snowballEdge create-virtual-network-interface \ --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment STATIC \ --static-ip-address-configuration IpAddress=192.0.2.0,Netmask=255.255.255.0

    输出

    { "VirtualNetworkInterface" : { "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-abcd1234", "PhysicalNetworkInterfaceId" : "s.ni-abcd1234", "IpAddressAssignment" : "DHCP", "IpAddress" : "192.0.2.0", "Netmask" : "255.255.255.0", "DefaultGateway" : "192.0.2.10", "MacAddress" : "1a:2b:3c:4d:5e:6f" } }
  3. 当命令返回一个包含 IP 地址的 JSON 结构时,请记下该 IP 地址。

  4. 使用虚拟网络接口启动文件接口服务,如以下示例所示。

    snowballEdge start-service \ --service-id fileinterface \ --virtual-network-interface-arns arn:aws:snowball-device:::interface/s.ni-abcd1234abcd1234a

    输出

    Starting the AWS service on your Snowball Edge. You can determine the status of the AWS service using the describe-service command.
  5. 激活文件接口可能需要一个小时或更长时间。要了解该服务是否已启动,或者它是否仍处于激活状态,可以运行 Snowball 客户端命令 snowballEdge describe-service --service-id fileinterface

激活文件接口可能需要一个小时或更长时间。在此时间后,文件接口将启动。如果您需要文件接口的 IP 地址,可以随时使用 Snowball 客户端命令 snowballEdge describe-virtual-network-interfaces 查看。

使用文件接口装载存储桶

以下内容包含有关使用文件接口将 Snowball Edge 上的文件共享装载到计算机上的 NFS 客户端的指南。其中包括有关支持的 NFS 客户端以及用于在 Linux、Mac 和 Windows 操作系统上启用这些客户端的过程的信息。

文件接口支持的 NFS 客户端

文件接口支持以下 NFS 客户端:

带 NFSv4 支持的客户端

  • Amazon Linux

  • macOS

  • Red Hat Enterprise Linux (RHEL) 7

  • Ubuntu 14.04

带 NFSv3 支持的客户端

  • Windows 10、Windows Server 2012 和 Windows Server 2016

  • Windows 7 和 Windows Server 2008.对于这些客户端,支持的最大 NFS I/O 大小为 32 KB。由于这一因素,您可能会遇到这些版本的 Windows 的性能降低情况。

获取 Snowball Edge 上的存储桶的文件共享的 IP 地址

如果您拥有 Snowball Edge 上的文件共享的 IP 地址,则可使用简单命令装载文件共享。您可在 LCD 显示屏上的 CONNECTION 选项卡中找到文件共享的 IP 地址。您不能使用文件接口 (如果此 IP 地址为空)。确保文件接口获取 IP 地址。

重要

文件接口的 IP 地址不是用于解锁 Snowball Edge 设备的 IP 地址。文件接口的 IP 地址可以是静态 IP 或由 DHCP 服务器发布的 IP.

获取文件接口的 IP 地址

  1. 访问 AWS Snowball Edge 设备前端的 LCD 显示屏。

  2. 点击 LCD 显示屏顶部的 CONNECTION 以打开网络连接选项卡。

  3. 从页面中心的下拉列表中选择 file interface

    此列表下方的 IP 地址将更新,以反映 AWS Snowball Edge 设备为文件接口请求的 DHCP 地址。您可以将其更改为静态 IP 地址或者使其保留原样。

您现已拥有 IP 地址,已准备好使用适用于计算机的操作系统装载命令来在 Snowball Edge 上装载存储桶。

使用文件接口在 Linux 上装载文件共享

在 Linux 服务器上装载文件共享时,建议您先使用以下命令更新 NFS 客户端。

$sudo yum install nfs-utils

启用文件接口时,将为设备上的每个本地存储桶显示一个 NFS 装载点。文件接口支持 NFS 版本 3、4.0 和 4.1。您可以使用带文件接口 IP 地址的简单命令装载文件共享。有关更多信息,请参阅获取 Snowball Edge 上的存储桶的文件共享的 IP 地址

获得 IP 地址之后,可使用以下命令装载存储桶。

mount -t nfs –o nolock IP Address:/BucketName local/mount/directory

例如,假设文件接口的 IP 地址为 192.0.1.0,并且您的存储桶名称为 test-bucket。您想将您的存储桶挂载到本地 Linux 服务器上的 mnt/test-bucket 目录。在这种情况下,您的命令类似以下内容。

mount –o nolock 192.0.1.0:/test-bucket mnt/test-bucket

使用文件接口在 Mac 上装载文件共享

您可以使用带文件接口 IP 地址的简单命令装载文件共享。有关更多信息,请参阅获取 Snowball Edge 上的存储桶的文件共享的 IP 地址。在 Mac 上装载文件共享时,您需要声明在运行装载命令时使用的 NFS 协议的版本。例如,如果您使用的是 NFSv3.0 协议,则可使用 vers=3 选项。

mount -t nfs –o vers=3,nolock IP Address:/BucketName local mount directory

例如,假设文件接口的 IP 地址为 192.0.1.0,您的存储桶名称为 test-bucket,您想将存储桶装载到 Mac 上的 private/mybucket 目录。在这种情况下,您的命令类似以下内容。

sudo mount_nfs -o vers=3,nolock -v 192.0.1.0:/test-bucket private/mybucket

使用文件接口在 Microsoft Windows 上装载文件共享

在 Windows 服务器上装载文件共享时,您需要开启 Windows Client for NFS。您还需要使用 mount 命令向装载点分配一个驱动器号。

注意

对于 Windows 7 或 Windows Server 2008 服务器,支持的最大 NFS I/O 大小为 32 KB。由于此限制,您可能会遇到这些版本的 Windows 上的文件接口的性能降低情况。

开启 Windows Client for NFS

  1. 在 Windows 中,从 Start 中搜索 Turn Windows features on or off,并选择搜索结果中显示的同名应用程序。

  2. 在显示的 Windows Features 对话框中,滚动浏览功能列表,直到您找到 Services for NFS

  3. 展开 Services for NFS,并选中 Client for NFS 复选框。

  4. 选择 OK 以关闭已激活 Client for NFS 的对话框。

您可以使用带文件接口 IP 地址的简单命令装载文件共享。有关更多信息,请参阅获取 Snowball Edge 上的存储桶的文件共享的 IP 地址。现在,您可以将 AWS Snowball Edge 设备上的文件共享装载到您的 Windows 服务器上未使用的驱动器号,如以下示例所示。

mount -o nolock 192.0.1.0:/test-bucket Z:

监控文件接口

当您使用文件接口时,请务必关注其总体运行状况和当前状态。您可以使用 AWS Snowball Edge 设备前部的 LCD 显示屏上的 file interface (文件接口) 选项卡来执行这些任务。

获取文件接口的状态

file interface 选项卡上,有两种运行状况指示符:StatusWrite status。以下列表介绍了如何配合使用这些指示符:

  • Status 指示文件接口的总体运行状态。它有以下可能的值:

    • Enabled (已启用) – 文件接口已启动并处于正常运行状态。

    • Disabling (正在禁用) – 文件接口已停止,无法向其写入任何内容。

    • Disabled (已禁用) – 文件接口已停止,并且装载点不再可用。此外,设备的内存缓冲区中的所有数据已加密并写入本地 Amazon S3 存储桶。

    • Error (错误) – 发生错误。如果您看到此状态,请联系 AWS Support。

  • Write status (写入状态) 通过进度条显示在 AWS Snowball Edge 设备上执行的当前写入操作的进度:

    • 在 0–99% 时,设备正在进行写入操作,而数据位于缓冲区中。请勿在写入操作完成前断开设备。

    • 在 100% 时,显示绿色进度条,指示上一个写入操作已成功完成。缓冲区中没有数据,并且未开始任何新的写入操作。

保护您的 NFS 连接

在 AWS 控制台上创建 AWS Snowball Edge 设备的任务时,默认情况下,为该任务选择的所有 Amazon S3 存储桶都将作为有效文件共享启用。在设备到达您的场所并且您设置、连接和解锁设备后,您的网络上任何能够看到文件接口的 IP 地址的人员都能访问每个存储桶的文件共享。

因此,建议您通过指定可访问存储桶的 NFS 客户端来保护存储桶。您可以使用以下过程在 Snowball Edge 前部的 LCD 屏幕上执行此操作。

仅允许特定的 NFS 客户端访问 Snowball Edge 上的存储桶的文件共享

  1. 在 LCD 显示屏上,点击 File interface 以打开其选项卡。

  2. Allowed clients 中,从下拉列表中选择您的存储桶。

  3. 点击 Edit 以显示可在其中输入 IP 地址的文本框。

  4. 在顶部框中,使用屏幕键盘键入要将该存储桶的文件共享装载到的计算机的 IP 地址。

  5. 如果您已将其他计算机连接到此同一存储桶,则在后续文本框中键入其 IP 地址。

您现已保护 Snowball Edge 上的某个存储桶的文件共享。您可以为 Snowball Edge 上的存储桶的所有文件共享重复此过程以保护对设备中的数据的访问。

在为允许的客户端指定 IP 地址后,您可以将该文件共享再次返回到不受限状态,方式是将 IP 地址更改为 0.0.0.0。如果连接到它的计算机的 IP 地址不断变化,则需要更新允许的客户端的 IP 地址。

禁用文件接口

使用文件接口执行完操作时,您应该在 AWS Snowball Edge 设备上的 Write Status (写入状态) 设置为 Complete (完成) 后禁用文件接口。禁用文件接口可确保所有文件写入到设备,从而帮助您避免数据丢失。

在使用完文件接口后,可以使用 Snowball 客户端命令 snowballEdge stop-service 将其停止。有关更多信息,请参阅在 Snowball Edge 上停止服务