使用文件接口将文件传输到 Snowball Edge 设备 - Amazon Snowball Edge 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用文件接口将文件传输到 Snowball Edge 设备

在下文中,您可以了解有关使用Amazon Snowball Edge设备的文件接口的信息。使用此文件接口,您可以将文件从计算机拖放到 Snowball Edge 设备上的 Amazon S3 存储桶中。

注意

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

文件接口概述

文件接口公开了Amazon Snowball Edge设备上每个存储分区的网络文件系统(NFS)挂载点。你可以使用标准的 Linux、微软 Windows 或 macOS 命令从 NFS 客户端装载文件共享。您可以使用标准文件操作来访问文件共享。

安装文件共享后,Snowball Edge 设备正面的 LCD 屏幕上会出现一个新的文件界面选项卡。在此选项卡中,您可以获取传输状态信息,查看您的 NFS 装载点 IP 地址,以及保护 NFS 客户端访问特定存储桶。

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

注意

为了获得最佳性能,请使用 Linux 客户端将文件复制到 Snowball Edge 设备。

文件接口的优势

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

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

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

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

  • 由于文件会写入设备上的存储桶,因此添加文件可能会触发Amazon Lambda由Amazon IoT Greengrass函数提供支持的相关功能。

使用文件接口的先决条件

在使用文件接口之前,必须执行以下步骤:

  • 你必须为 Snowball Edge 设备创建任务。

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

  • 你必须使用 Snowball Edge 客户端解锁你的设备。

  • 您必须在工作站客户端上启用 NFS 客户端服务才能装载文件接口共享。

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

重要

要使Amazon服务在 Snowball Edge 设备上正常运行,必须允许服务端口。有关详细信息,请参阅在Amazon Snowball边缘设备上使用Amazon服务所需的端口

使用文件接口的注意事项

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

  • 可在 Snowball Edge 设备上传输到文件接口的文件的最大大小为 5 TB。

  • 我们建议您一次只使用一种方法在 Snowball Edge 设备上的每个存储段读取和写入数据。在同一个存储桶上同时使用文件接口和 Amazon S3 接口可能会导致未定义的行为。

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

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

  • 不要将数据写入已满的 Snowball Edge 设备,也不要写入超过剩余可用存储空间大小的数据。这两种操作引起的错误都可能会损坏数据。在写入数据之前,我们建议您确定 Snowball Edge 设备上的剩余空间量。然后将其与复制数据之前要使用文件接口复制的数据量进行比较。

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

  • 我们建议您保留写入文件接口的所有数据的本地副本,直到 Snowball Edge 设备被运回Amazon并将数据摄入到 Amazon S3 为止。

启动文件接口

在使用文件接口之前,必须使用 Snowball Edge 客户端启动它。

重要

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

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

  2. 创建虚拟网络接口。作为此过程的一部分,确定要使用的物理网络接口的 ID 并记下来。以下示例显示如何运行命令以使用两种不同的 IP 地址分配方法(DHCP或)创建虚拟网络接口STATIC

    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

    Output

    { "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

    Output

    Starting the Amazon service on your Snowball Edge. You can determine the status of the Amazon service using the describe-service command.
  5. 文件接口可能需要一个小时或更长时间才能激活。要查看服务是否已启动或仍在激活,可以运行snowballEdge describe-service --service-id fileinterface Snowball Edge 客户端命令。

文件接口需要一个小时或更长时间才能激活。在此之后,文件界面将启动。无论何时需要文件接口的 IP 地址,都可以使用snowballEdge describe-virtual-network-interfaces Snowball Edge 客户端命令。

使用文件接口安装存储桶

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

文件接口支持的 NFS 客户端

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

带 NFSv4 支持的客户端

  • Amazon Linux

  • macOS

  • Red Hat Enterprise Linux (RHEL) 7

带 NFSv3 支持的客户端

  • Windows 10、Windows Server 2012 和 Windows Server 2016

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

注意

为了获得最佳性能,请使用 Linux 客户端将文件复制到 Snowball Edge 设备。

获取 Snowball Edge 设备上存储分区文件共享的 IP 地址

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

重要

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

获取文件接口的 IP 地址
  1. 访问Amazon Snowball Edge设备正面的 LCD 显示屏。

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

  3. 从页面中央的下拉列表中,选择文件接口

    此列表下方的 IP 地址将更新以反映Amazon 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 -t nfs -o nolock 192.0.1.0:/test-bucket mnt/test-bucket

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

您可以使用带有文件接口的 IP 地址的简单命令来装载文件共享。有关更多信息,请参阅获取 Snowball Edge 设备上存储分区文件共享的 IP 地址:在 macOS 上安装文件共享时,必须声明运行mount命令时使用的 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,并且您想要将存储桶装载到 macOS 计算机上的private/mybucket目录中。在这种情况下,您的命令类似以下内容。

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

在微软 Windows 上使用文件界面挂载文件共享

在 Windows 服务器上装载文件共享时,必须打开适用于 NFS 的 Windows 客户端。您还必须使用mount命令为装载点分配驱动器号。

注意

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

开启 Windows Client for NFS
  1. 在 Windows 中,从 “开始” 菜单中搜索 “打开或关闭 Windows 功能”,然后选择搜索结果中显示的同名应用程序。

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

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

  4. 选择 OK(确定)

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

mount -o nolock IP Address:/BucketName DriveLetter:

例如,假设文件接口的 IP 地址为 192.0.1.0,您的存储段名称为test-bucket,并且您想要将存储分区安装到 Windows 服务器上的Z驱动器上。在这种情况下,您的命令类似以下内容。

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

监控文件接口

使用文件接口时,监控其整体健康状况和当前状态非常重要。您可以使用Amazon Snowball Edge设备正面 LCD 显示屏上的文件接口选项卡执行这些任务。

获取 File Interface 的状态

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

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

    • 已启用-文件接口已启动并正常运行。

    • Disabling – 文件接口已停止,无法写入任何内容。

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

    • 错误 — 出错。如果您看到此状态,请联系Amazon Web Services Support。

  • 写入状态使用进度条向您显示Amazon Snowball Edge设备上运行的当前写入操作的进度:

    • 在 0—99% 时,设备上正在主动执行写入操作,数据位于缓冲区中。在写入操作完成之前,请勿断开设备的连接。

    • 达到 100%,带有绿色进度条,表示上次写入操作已成功完成。缓冲区中没有数据,并且未开始任何新的写入操作。

保护您的 NFS 连接

在上为Amazon Snowball Edge设备创建任务时,默认情况下Amazon Web Services Management Console,为该任务选择的所有 Amazon S3 存储桶都将作为活动文件共享启用。当设备到达您的站点并对其进行设置、连接和解锁时,网络上任何能够看到文件接口的 IP 地址的人都可以访问每个存储分区的文件共享。

因此,建议您通过指定可访问存储桶的 NFS 客户端来保护存储桶。您可以按照以下步骤从 Snowball Edge 设备正面的 LCD 屏幕上执行此操作。

仅允许特定 NFS 客户端在 Snowball Edge 设备上访问存储分区的文件共享
  1. 在 LCD 显示屏上,点击 File interface 以打开其选项卡。

  2. 在 “允许的客户端” 中,从下拉列表中选择您的存储桶。

  3. 点击 “编辑” 以显示文本框,您可以在其中输入 IP 地址。

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

  5. 如果您有其他计算机连接到同一个存储桶,请在随后的文本框中输入它们的 IP 地址。

现在,您已在 Snowball Edge 设备上保护了其中一个存储分区的文件共享。要安全访问设备中的数据,请对 Snowball Edge 设备上存储段的所有文件共享重复此过程。

为允许的客户机指定 IP 地址后,可以通过将 IP 地址更改为,将该文件共享恢复为无限制0.0.0.0。如果与其连接的计算机的 IP 地址发生变化,则必须更新允许的客户端的 IP 地址。

禁用文件接口

使用完文件接口后,我们建议在Amazon Snowball Edge设备上的 “写入状态” 设置为 “完成” 后禁用文件接口。禁用文件接口可确保所有文件写入到设备,从而帮助您避免数据丢失。

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