本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 DataSync位置问题进行故障排除
使用以下信息来帮助您解决 Amazon DataSync 营业地点问题。其中一些问题可能包括:
-
NFS 位置存在权限和装载错误
-
文件所有权问题
-
访问使用 Kerberos 身份验证的 SMB 位置时出现问题
-
对象存储的权限和访问问题,例如亚马逊 S3 和微软 Azure Blob 位置
我的任务失败,出现 NFS 权限被拒绝错误
如果用 root_squash
或 all_squash
配置 NFS 服务器,并且您的文件没有所有读取访问权限,则可能会显示“权限被拒绝”错误消息。
要采取的操作
要修复此问题,请用 no_root_squash
配置 NFS 导出,或者确保要传输的所有文件的权限允许所有用户进行读取访问。
DataSync 要访问目录,还必须启用所有执行访问权限。要确保可以挂载目录,首先连接到与代理具有相同网络配置的任何计算机。然后运行以下 CLI 命令:
mount -t nfs -o nfsvers=<
your-nfs-server-version
>
<your-nfs-server-name
>:<nfs-export-path-you-specified
>
<new-test-folder-on-your-computer
>
如果问题仍未解决,请联系Amazon Web Services 支持 中心
我的任务失败,出现 NFS 挂载错误
在运行涉及 NFS 文件服务器位置的 DataSync 任务时,您可能会看到以下错误:
Task failed to access location loc-1111222233334444a: x40016: mount.nfs: Connection timed out
要采取的操作
在错误得到解决之前,请执行以下操作:
-
确保您在 DataSync所在位置指定的 NFS 文件服务器和导出文件有效。如果无效,请删除您的位置和任务,然后创建使用有效 NFS 文件服务器和导出的新位置和任务。有关更多信息,请参阅 使用 DataSync 控制台。
-
检查代理和 NFS 文件服务器之间的防火墙配置。有关更多信息,请参阅 本地存储、自我管理的存储、其他云存储和边缘存储的网络要求。
-
确保代理可以访问 NFS 文件服务器并挂载导出。有关更多信息,请参阅 提供 DataSync 对 NFS 文件服务器的访问权限。
-
如果您仍然看到错误,请使用打开支持频道 Amazon Web Services 支持。有关更多信息,请参阅 我不知道我的代理出了什么问题。有人能帮我吗?。
我的任务失败,出现 Amazon EFS 挂载错误
在运行涉及 Amazon EFS 位置的 DataSync 任务时,您可能会看到以下错误:
Task failed to access location loc-1111222233334444a: x40016: Failed to connect to EFS mount target with IP: 10.10.1.0.
如果您使用自己的位置配置的 Amazon EFS 文件系统的挂载路径被更新或删除,则可能会发生这种情况。 DataSync 不知道文件系统中的这些变化。
要采取的操作
删除您的位置和任务,并使用新的挂载路径创建新的 Amazon EFS 位置。
NFS 传输未保留文件所有权
传输完成后,您可能会注意到 DataSync 目标位置的文件具有不同的用户 IDs (UIDs) 或组 IDs (GIDs),而不是源位置的相同文件。例如,目标位置中文件的 UID 可能是 65534
、99
或 nobody
。
如果传输中涉及的文件系统使用 NFS 版本 4 ID 映射(该功能 DataSync 不支持),则可能会发生这种情况。
要采取的操作
您有几种方法可以解决此问题:
-
为使用 NFS 版本 3(而不是版本 4)的文件系统创建一个新位置。
-
在文件系统上禁用 NFS 版本 4 ID 映射。
重试传输。无论哪种方法都应解决问题。
我的任务无法访问使用 Kerberos 的 SMB 位置
DataSync 使用 Kerberos 身份验证的 SMB 位置出现错误通常与您的位置与 Kerber os 配置不匹配有关。也可能存在网络问题。
- 无法访问位置
-
以下错误表示您的 SMB 位置或 Kerberos 设置可能存在配置问题:
Task failed to access location
验证以下内容:
-
您为所在位置指定的 SMB 文件服务器是一个域名。对于 Kerberos,您无法指定文件服务器的 IP 地址。
-
您为所在位置指定的 Kerberos 主体与您用于创建 Kerberos 密钥表 (keytab) 文件的主体相匹配。主体名称区分大小写。
-
自您创建 keytab 文件以来,Kerberos 主体的映射用户密码一直未更改。如果密码更改(由于密码轮换或其他原因),则任务执行可能会失败并出现以下错误:
任务无法访问位置 loc-111122223333444a:x40015:kinit:获取初始凭证时预身份验证失败
-
- 无法联系 KDC 领域
-
以下错误表示存在网络问题:
kinit: Cannot contact any KDC for realm 'MYDOMAIN.ORG' while getting initial credentials"
验证以下内容:
-
您提供的 Kerberos 配置文件 (
krb5.conf
) 包含有关您的 K DataSync erberos 领域的正确信息。有关示例krb5.conf
文件,请参阅 Kerberos 身份验证先决条件。 -
Kerberos 密钥分发中心 (KDC) 服务器端口已打开。KDC 端口通常是 TCP 端口 88。
-
您网络上的 DNS 配置。
-
我的任务因输入/输出错误而失败
您可以收到 DataSync 代理的input/output error message if your storage system fails I/O请求。常见原因包括服务器磁盘故障、防火墙配置更改或网络路由器故障。
如果错误涉及 NFS 文件服务器或 Hadoop Distributed File System(HDFS)集群,请跟随以下步骤来解决错误。
采取的操作(NFS)
首先检查 NFS 文件服务器的日志和指标,以确定问题是否始于 NFS 服务器。如果是,请解决该问题。
接下来,检查网络配置是否尚未更改。要检查 NFS 文件服务器的配置是否正确以及是否 DataSync 可以访问它,请执行以下操作:
-
在与代理相同的网络子网上设置另一个 NFS 客户端。
-
在客户端上装载您的共享。
-
验证客户端可以成功地读取和写入共享。
采取的操作(HDFS)
在解决错误之前,请执行以下操作:
-
确保您的 HDFS 集群允许您的 DataSync 代理与集群 NameNode 和 DataNode 端口通信。
在大多数集群中,您可以在以下配置文件中找到集群使用的端口号:
-
要找到 NameNode 端口,请在
fs.default
或fs.default.name
属性下的core-site.xml
文件中查找(取决于 Hadoop 发行版)。 -
要找到端 DataNode 口,请在
dfs.datanode.address
属性下的hdfs-site.xml
文件中查找。
-
-
在您的
hdfs-site.xml
文件中,验证您的dfs.data.transfer.protection
属性是否只有一个值。例如:<property> <name>dfs.data.transfer.protection</name> <value>privacy</value> </property>
错误:FsS3UnableToConnectToEndpoint
DataSync 无法连接到你的 Amazon S3 地点。这可能意味着无法访问该位置的 S3 存储桶,或者该位置的配置不正确。
在解决问题之前,请执行以下操作:
-
检查是否 DataSync 可以访问您的 S3 存储桶。
-
使用 DataSync 控制台或 DescribeLocationS3 操作确保位置配置正确。
错误:FsS3HeadBucketFailed
DataSync 无法访问您要传入或传出的 S3 存储桶。使用 Amazon S3 HeadBucket操作检查是否 DataSync有权访问存储桶。如果您需要调整权限,请参阅 提供 DataSync 对 S3 存储桶的访问权限。
任务因Unable to list Azure Blobs on the volume root
错误而失败
如果您的 DataSync 转移任务因Unable to list Azure Blobs on the
volume root
错误而失败,则可能是您的共享访问签名 (SAS) 令牌或您的共享访问签名 (SAS) 令牌有问题 Azure 存储帐户的网络。
要采取的操作
尝试以下操作并再次运行任务,直到问题得到解决:
-
确保您的 SAS 令牌具有访问您的 SAS 令牌的相应权限 Microsoft Azure Blob Storage.
-
如果你正在运行你的 DataSync 代理 Azure,将您的存储帐户配置为允许从代理所在的虚拟网络进行访问。
-
如果您在 Amazon 上运行代理 EC2,请配置您的 Azure 存储防火墙,允许从代理的公共 IP 地址进行访问。
有关如何配置您的的信息 Azure 存储账户的网络,请参阅 Azure Blob Storage 文档
错误:FsAzureBlobVolRootListBlobsFailed
DataSync 用于访问您的共享访问签名 (SAS) 令牌 Microsoft Azure Blob Storage 没有 “列表” 权限。
要解决问题,请使用具有列表权限的令牌更新您的位置,然后尝试重新运行任务。
错误:SrcLocHitAccess
DataSync 无法访问您的来源位置。检查是否 DataSync 有权访问该地点,然后尝试再次运行您的任务。
错误:SyncTaskErrorLocationNotAdded
DataSync 无法访问您的位置。检查是否 DataSync 有权访问该地点,然后尝试再次运行您的任务。
带有 S3 源位置的任务失败并GetObjectTagging
显示HeadObject
或错误
如果您要 IDs 从 S3 存储桶传输具有特定版本的对象,则可能会看到与HeadObject
或相关的错误GetObjectTagging
。例如,以下是与 GetObjectTagging
相关的错误:
[WARN] Failed to read metadata for file
/picture1.png
(versionId:111111
): S3 Get Object Tagging Failed [ERROR] S3 Exception: op=GetObjectTaggingphotos/picture1.png
, code=403, type=15, exception=AccessDenied, msg=Access Denied req-hdrs: content-type=application/xml, x-amz-api-version=2006-03-01 rsp-hdrs: content-type=application/xml, date=Wed, 07 Feb 2024 20:16:14 GMT, server=AmazonS3, transfer-encoding=chunked, x-amz-id-2=IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km, x-amz-request-id=79104EXAMPLEB723
如果您看到其中任何一个错误,请验证用于访问您的 DataSync S3 源位置的 IAM 角色是否具有以下权限:
-
s3:GetObjectVersion
-
s3:GetObjectVersionTagging
如果您需要更新角色,使其具有这些权限,请参阅 为创建 IAM 角色 DataSync 以访问您的 Amazon S3 位置。