管理 Snow Family 设备上的NFS接口 - AWS Snowball Edge 开发者指南

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

管理 Snow Family 设备上的NFS接口

使用网络文件系统 (NFS) 界面将文件上传到 Snow Family 设备,就像该设备是操作系统的本地存储器一样。这使得传输数据的方式更加用户友好,因为您可以使用操作系统的功能,例如复制文件、拖放文件或其他图形用户界面功能。设备上的每个 S3 存储桶都可用作NFS接口终端节点,并且可以装载以将数据复制到。该NFS接口可用于导入任务。

如果 Snowball Edge 设备被配置为在创建订购设备任务时包含该NFS接口,则可以使用该接口。如果设备未配置为包含NFS接口,请使用 Snow Family 设备上的 S3 适配器或 Amazon S3 兼容存储来传输数据。有关 S3 适配器的更多信息,请参阅使用管理 Amazon S3 适配器存储 AWS OpsHub。有关 Snow Family 设备上与 Amazon S3 兼容存储的更多信息,请参阅在 Snow Family 设备上设置与 Amazon S3 兼容的存储 AWS OpsHub

启动时,NFS接口使用 1 GB 内存和 1 CPU。这可能会限制在 Snow EC2 Family 设备上运行的其他服务的数量或可以运行的兼容实例的数量。

通过NFS接口传输的数据在传输过程中未加密。配置NFS接口时,您可以提供CIDR块,Snow Family 设备将限制地址位于这些区块中的客户端计算机访问该NFS接口。

设备上的文件将在返回到 Amazon S3 时传输到 Amazon S3 AWS。有关更多信息,请参阅将任务导入 Amazon S3 S 的工作原理。

有关在计算机操作系统中使用的NFS更多信息,请参阅操作系统的文档。

使用该NFS界面时,请记住以下细节。

  • 文件名是 Snow 系列设备上本地 S3 存储桶中的对象键。密钥名称是一系列 Unicode 字符,其 UTF -8 编码长度不超过 1,024 字节。我们建议尽可能使用 NFSv4 .1,并使用 Unicode UTF -8 对文件名进行编码,以确保成功导入数据。未使用 UTF -8 编码的文件名可能无法上传到 S3,或者可能使用不同的文件名上传到 S3,具体取决于您使用的NFS编码。

  • 确保文件路径的最大长度小于 1024 个字符。Snow 系列设备不支持长度大于 1024 个字符的文件路径。超过此文件路径长度将导致文件导入错误。

  • 有关更多信息,请参阅 Amazon 简单存储服务用户指南中的对象密钥

  • 对于NFS基于基础的传输,当您的对象从 Snow Family 设备导入到 Amazon S3 时,标准POSIX样式的元数据将添加到您的对象中。此外,您还将看到元数据 “-x-amz-meta-user agent aws-datasync”,这是我们目前使用 AWS DataSync 的 Amazon S3 内部导入机制的一部分,用于导入 Snow Family 设备,带有选项。NFS

  • 使用一台 Snowball Edge 设备,您最多可以传输 4000 万个文件。如果您需要在单个作业中传输超过 4000 万个文件,请对文件进行批处理,从而减少每次传输的文件数量。对于具有增强NFS接口或 S3 接口的 Snowball Edge 设备,单个文件可以是任意大小,最大文件大小为 5 TB。

您还可以使用GUI工具配置和管理NFS AWS OpsHub接口。有关更多信息,请参阅管理的接NFS口

NFSSnow Family 设备的配置

默认情况下,该NFS接口不在 Snow Family 设备上运行,因此您需要启动该接口才能将数据传输到该设备。您可以通过提供在 NFS Snow Family 设备上运行的虚拟网络接口 (VNI) 的 IP 地址来配置接口,并在需要时限制对文件共享的访问。在配置NFS接口之前,请在 Snow Family 设备上设置虚拟网络接口 (VNI)。有关更多信息,请参阅计算实例的网络配置

为NFS接口配置 Snow 系列设备

  • 使用describe-service命令确定NFS接口是否处于活动状态。

    snowballEdge describe-service --service-id nfs

    该命令将返回NFS服务的状态,ACTIVEINACTIVE

    { "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" } }

    如果State名称的值为,则NFS接口服务处于活动状态ACTIVE,您可以装载 Snow Family 设备NFS音量。有关更多信息,请参阅 。如果值为INACTIVE,则必须启动服务。

在 Snow Family 设备上启动NFS服务

如有必要,启动虚拟网络接口 (VNI),然后在 Snow Family 设备上启动该NFS服务。如有必要,在启动NFS服务时,请提供一组允许的网络地址。如果您不提供任何地址,则对NFS终端节点的访问将不受限制。

  1. 使用describe-virtual-network-interface命令查看 Snow Family 设备上VNIs可用的内容。

    snowballEdge describe-virtual-network-interfaces

    如果 Snow Family 设备上有一个或多个VNIs处于活动状态,则该命令将返回以下内容。

    snowballEdge describe-virtual-network-interfaces [ { "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLE8", "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd", "IpAddressAssignment" : "DHCP", "IpAddress" : "192.0.2.0", "Netmask" : "255.255.255.0", "DefaultGateway" : "192.0.2.1", "MacAddress" : "EX:AM:PL:E1:23:45" },{ "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-1EXAMPLE1EXAMPLE1", "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd", "IpAddressAssignment" : "DHCP", "IpAddress" : "192.0.2.2", "Netmask" : "255.255.255.0", "DefaultGateway" : "192.0.2.1", "MacAddress" : "12:34:5E:XA:MP:LE" } ]

    记下VNI要用于NFS接口的VirtualNetworkInterfaceArn名称的值。

  2. 如果没有VNIs可用的接口,请使用create-virtual-network-interface命令VNI为NFS接口创建。有关更多信息,请参阅设置虚拟网络接口 (VNI)

  3. 使用start-service命令启动NFS服务并将其与关联VNI。要限制对NFS接口的访问,请在命令中包含service-configurationAllowedHosts参数。

    snowballEdge start-service --virtual-network-interface-arns arn-of-vni --service-id nfs --service-configuration AllowedHosts=CIDR-address-range
  4. 使用describe-service命令检查服务状态。当State名称的值为时,它正在运行ACTIVE

    snowballEdge describe-service --service-id nfs

    该命令返回服务状态、NFS终端节点的 IP 地址和端口号以及允许访问该端点的CIDR范围。

    { "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" }, "Endpoints" : [ { "Protocol" : "nfs", "Port" : 2049, "Host" : "192.0.2.0" } ], "ServiceConfiguration" : { "AllowedHosts" : [ "10.24.34.0/23", "198.51.100.0/24" ] } }

在客户端计算机上安装NFS端点

NFS接口启动后,将端点作为本地存储安装到客户端计算机上。

以下是 Windows、Linux 和 macOS 操作系统的默认挂载命令。

  • Windows:

    mount -o nolock rsize=128 wsize=128 mtype=hard nfs-interface-ip-address:/buckets/BucketName *
  • Linux:

    mount -t nfs nfs-interface-ip-address:/buckets/BucketName mount_point
  • macOS:

    mount -t nfs -o vers=3,rsize=131072,wsize=131072,nolocks,hard,retrans=2 nfs-interface-ip-address:/buckets/$bucketname mount_point

停止 Snow Family 设备上的NFS界面

完成通过NFS接口传输文件后,在关闭 Snow Family 设备之前,请使用stop-service命令停止NFS服务。

snowballEdge stop-service --service-id nfs