管理 Snow Family 设备上的NFS接口 - Amazon Snowcone 用户指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

管理 Snow Family 设备上的NFS接口

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

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

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

设备上的文件将在返回到 Amazon S3 时传输到 Amazon S3 Amazon。有关更多信息,请参阅原理。

有关在计算机操作系统中使用的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”,这是我们目前使用 Amazon DataSync 的 Amazon S3 内部导入机制的一部分,用于导入 Snow Family 设备,带有选项。NFS

注意

在NFS服务启动之前,Snowcone 设备上的可用存储空间并不准确。

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

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