本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 NFS 进行离线数据传输
您的 Snow Family 设备包含一个文件接口,可提供对内部设备存储的访问权限。要使用 Snow Family 设备将数据离线导入 Amazon S3,请将设备连接到本地网络,然后使用Amazon OpsHub该设备解锁。您可以通过 NFS 文件接口将数据从本地存储设备复制到 Snow Family 设备。
将数据复制到 Snow Family 设备后,E Ink 运输标签将更新,以确保设备自动发送到正确的Amazon设施。您可以使用亚马逊 SNS 生成的短信或电子邮件以及控制台来跟踪 Snow Family 设备。有关 Amazon OpsHub 的信息,请参阅 使用 Amazon OpsHub for Snow Family 管理设备。
注意
文件名是 Snow Family 设备上的本地 S3 存储桶中的对象密钥。密钥名称是一系列 Unicode 字符,其 UTF-8 编码长度最多为 1,024 字节。我们建议尽可能使用 NFSv4.1 并使用 Unicode UTF-8 对文件名进行编码,以确保成功导入数据。未使用 UTF-8 编码的文件名可能无法上传到 S3,也可能使用不同的文件名上传到 S3,具体取决于您使用的 NFS 编码。
确保文件路径的最大长度小于 1024 个字符。Snow Family 设备不支持大于 1024 个字符的文件路径。超过此文件路径长度将导致文件导入错误。
有关更多信息,请参阅《亚马逊简单存储服务用户指南》中的对象密钥。
您可以使用单个 Snowcone 设备传输高达 8 TB,使用多台设备并行或按顺序传输更大的数据集。例如,您可以使用三台 Snowcone 设备传输 24 TB 的数据。对于更大的数据传输任务,您可以使用 Snowball Edge 存储优化设备。您可以使用单个 Snowball Edge Storage Optimized 设备传输高达 80 TB,使用多台设备并行或按顺序传输更大的数据集。
注意
使用一台 Snow Family 设备最多只能传输 400 万个文件。如果您需要在单个任务中传输超过 400 万个文件,请对文件进行批处理,以减少每次传输的文件数。对于具有增强型 NFS 接口或 S3 接口的 Snowball Edge 设备,单个文件可以是任何大小,最大文件大小为 5 TB。
您可以为允许装载设备公开的 NFS 共享的 IP 范围提供 CIDR 块。例如,
10.0.0.0/16
。如果您没有提供允许的 CIDR 块,则所有装载请求都将遭到拒绝。有关详细信息,请参阅运行 NFS 时限制访问 NFS 共享。-
对于基于 NFS 的传输,标准 POSIX 风格的元数据将在从 Snowball Edge 导入到 Amazon S3 时添加到您的对象中。此外,你还会看到元数据 “x-amz-meta-user-agent aws-datasync”,因为我们目前使用Amazon DataSync它作为带有 NFS 选项的 Snowball Edge 导入 Amazon S3 的内部导入机制的一部分。
Snow Family 设备的 NFS 配置
NFS 无处不在(存在或同时存在于任何地方)。每台笔记本电脑、工作站和服务器都有 IP 连接,每个现代操作系统都有内置 NFS 客户端。对象存储系统通常使用 Amazon S3 API,它不如 NFS 那么普遍,尤其是在私有数据中心。亚马逊 S3 不支持 NFS。因此,在订购 Snow Family 设备之前,你必须决定使用 Amazon S3 接口或 NFS 接口。如果您选择 NFS 接口,请将 Snow Family 设备的 NFS 存储桶作为卷装载。
先决条件
-
2 个 IP 地址:
-
一个用于激活 Snow Family 设备的物理网络接口(例如 192.168.0.9)
-
第二个用于安装 Snow Family 设备 NFS 卷的虚拟网络接口(例如 192.168.0.10)
-
-
工作站
配置 Snow 家族设备
确认 NFS 服务处于活动状态
snowballEdge describe-service --service-id nfs --profile sbe1 { "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" } }
如果State
名称的值为,则可以装载 Sno Active
w Family 设备 NFS 卷,否则必须重新启动服务或创建虚拟网络接口。
创建虚拟网络接口并启动 NFS 服务
检查虚拟网络接口是否存在
$ snowballEdge describe-virtual-network-interfaces --profile sbe1
识别物理接口 ID
$ snowballEdge describe-device --profile sbe1
创建虚拟网络接口并识别虚拟网络接口 (VNI) ARN
$snowballEdge create-virtual-network-interface \ --physical-network-interface-id
s.ni-abcd1234
\ --ip-address-assignment STATIC \ --static-ip-address-configuration IpAddress=192.168.0.10
,Netmask=255.255.255.0 --profile sbe1
启动 NFS 服务
$ snowballEdge start-service --virtual-network-interface-arns
arn:aws:snowball-device:::interface/s.ni-8712e3a5cb180e65d
--service-id nfs --service-configuration AllowedHosts=0.0.0.0/0 --profile sbe1
检查服务状态
$ snowballEdge describe-service --service-id nfs --profile sbe1 { "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" }, "Endpoints" : [ { "Protocol" : "nfs", "Port" : 2049, "Host" : "
192.168.0.10
" } ], "ServiceConfiguration" : { "AllowedHosts" : [ "192.168.0.6/32
", "11.160.2.156/32
", "192.168.0.10/32
" ] } }
安装 Snow Family 设备 NFS 音量
在工作站上,你可以装载 Snow Family 设备卷,这是 NFS 存储的存储桶名称。
$ sudo mkdir /mnt/local $ sudo mount -t nfs
192.168.0.10
:/buckets/your-nfs-bucket-name
/mnt/local
安装 SBE 卷后,您可以使用 “df” 命令检查卷大小。
$ df -h* */mnt/local Filesystem Size Used Avail Use% Mounted on
192.168.0.10
80TB 20G 79TB 1% /mnt/local
注意
-
检查安装点的容量 /mnt/local,以存储优化的 Snow Family 设备为例,显示接近 “80TB” 的可用容量。
-
有关更多信息,请参阅存储优化设备的 NFS 数据传输
。
对 NFS 问题进行故障排除
以下是你在 Snow Family 设备上使用 NFS 时可能会遇到的错误。
我收到 “已停用” 的错误消息
如果您在未事先停止 NFS 服务的情况下关闭 Snow Family 设备,则会收到此消息。下次启动 NFS 时,它可能会失败并显示 “已停用” 错误消息。
例如:在你的 Snowball Edge 上启动服务。
snowballEdge start-service --service-id nfs --virtual-network-interface-arns
arn:aws:snowball-device:::interface/s.ni-84991da69040a7xxx
您可以使用describe-service
命令确定服务的状态。
snowballEdge describe-service --service-id nfs { "ServiceId" : "nfs", "Status" : { "State" : "DEACTIVATED" } }
如何纠正问题
要更正此问题,请使用以下步骤停止并重新启动 NFS 服务。
步骤 1:使用describe-service
命令确定服务的状态:
snowballEdge describe-service --service-id nfs { "ServiceId" : "nfs", "Status" : { "State" : "DEACTIVATED" } }
步骤 2:使用stop-service
命令停止 NFS 服务:
snowballEdge stop-service --service-id nfs --profile 11
步骤 3:使用start-service
命令正常启动 NFS 服务:
snowballEdge start-service --virtual-network-interface-arns arn:aws:snowball-device:::interface/s.ni-8712e3a5cb180e65d --service-id nfs --service-configuration AllowedHosts=0.0.0.0/0 --profile 11
步骤 4:使用describe-service
命令确保服务处于活动状态:
snowbalEdge 描述服务--service-id nfs
{ "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" }, "Endpoints" : [ { "Protocol" : "nfs", "Port" : 2049, "Host" : "192.168.0.10" } ], "ServiceConfiguration" : { "AllowedHosts" : [ "192.168.0.6/32", "11.160.2.156/32", "192.168.0.10/32" ] } }