troubleshooting-s3-files
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTroubleshooting S3 Files
S3 Files故障排查
Overview
概述
Diagnoses and resolves Amazon S3 Files issues: mount failures, IAM
permissions, synchronization, conflict resolution, and performance.
For authoritative guidance, see S3 Files Troubleshooting.
诊断并解决Amazon S3 Files的各类问题:挂载失败、IAM权限、同步、冲突解决和性能问题。
如需权威指导,请参阅S3 Files故障排查。
Common Tasks
常见任务
0. Verify Dependencies
0. 验证依赖项
- You MUST verify CLI is available with
awssubcommand supports3files - You MUST confirm valid AWS credentials
- You MUST ONLY check for tool existence and version — MUST NOT execute destructive or mutating commands during verification
- You MUST inform the user if any required tools are missing
- You MUST respect the user's decision to abort if tools are unavailable
- You SHOULD explain steps before executing and wait for user confirmation on write commands
- 必须验证CLI是否可用且支持
aws子命令s3files - 必须确认有效的AWS凭证
- 仅需检查工具是否存在及版本——验证过程中不得执行破坏性或变更性命令
- 若缺少任何必要工具,必须告知用户
- 必须尊重用户在工具不可用时选择中止的决定
- 执行写入命令前应先说明步骤并等待用户确认
1. Classify the Issue
1. 问题分类
| Symptom | Category |
|---|---|
| mount.s3files: command not found | A: Client Installation |
| Connection timed out during mount | B: Network/Security Group |
| Mount hangs indefinitely (no timeout) | B: Network/Security Group |
| Access denied during mount | C: IAM Permissions |
| File system stuck in "creating" | C: IAM Permissions |
| Permission denied on file operations | C: IAM Permissions |
| Files not appearing in S3 after write | D: Synchronization |
| Files in .s3files-lost+found directory | E: Conflict Resolution |
| Slow reads or high latency | F: Performance |
| NFS server error | G: Encryption/KMS |
| DNS name resolution fails | H: VPC DNS |
| 症状 | 类别 |
|---|---|
| mount.s3files: command not found | A:客户端安装 |
| 挂载时连接超时 | B:网络/安全组 |
| 挂载无限期挂起(无超时) | B:网络/安全组 |
| 挂载时访问被拒绝 | C:IAM权限 |
| 文件系统处于"创建中"状态停滞 | C:IAM权限 |
| 文件操作时权限被拒绝 | C:IAM权限 |
| 写入后文件未出现在S3中 | D:同步问题 |
| 文件位于.s3files-lost+found目录 | E:冲突解决 |
| 读取缓慢或延迟过高 | F:性能问题 |
| NFS服务器错误 | G:加密/KMS |
| DNS名称解析失败 | H:VPC DNS |
2. Category A — Client Installation
2. 类别A — 客户端安装
mount.s3files: command not foundamazon-efs-utilsbash
sudo yum -y install amazon-efs-utils # Amazon Linuxmount.s3files: command not foundamazon-efs-utilsbash
sudo yum -y install amazon-efs-utils # Amazon Linux3. Category B — Network/Security Group
3. 类别B — 网络/安全组
Connection timeout is the #1 mount failure — almost always security groups.
Verify mount target exists in the instance's AZ:
bash
aws s3files list-mount-targets --file-system-id fs-ID --region REGIONCross-AZ mounting works but adds latency.
Verify security groups — most common fix:
- Mount target SG MUST have inbound TCP 2049 from compute SG
- Compute SG MUST have outbound TCP 2049 to mount target SG
- Fix:
aws ec2 authorize-security-group-ingress --group-id sg-MT --protocol tcp --port 2049 --source-group sg-COMPUTE
Test connectivity:
bash
nc -zv az-ID.fs-ID.s3files.REGION.on.aws 2049Note: These SG troubleshooting steps also apply to EFS — useinstead.aws efs describe-mount-targets
Mount hangs in isolated VPC: If the VPC has no internet access, S3 Files requires a CloudWatch Logs VPC endpoint () for mount to complete.
com.amazonaws.REGION.logs连接超时是最常见的挂载失败原因——几乎都是安全组问题。
验证挂载目标是否存在于实例的可用区(AZ)中:
bash
aws s3files list-mount-targets --file-system-id fs-ID --region REGION跨可用区挂载可行,但会增加延迟。
验证安全组——最常见的修复方案:
- 挂载目标安全组必须允许来自计算实例安全组的TCP 2049入站流量
- 计算实例安全组必须允许向挂载目标安全组的TCP 2049出站流量
- 修复命令:
aws ec2 authorize-security-group-ingress --group-id sg-MT --protocol tcp --port 2049 --source-group sg-COMPUTE
测试连通性:
bash
nc -zv az-ID.fs-ID.s3files.REGION.on.aws 2049注意: 这些安全组故障排查步骤也适用于EFS——只需将命令替换为即可。aws efs describe-mount-targets
隔离VPC中挂载挂起: 如果VPC无互联网访问权限,S3 Files需要CloudWatch Logs VPC端点()才能完成挂载。
com.amazonaws.REGION.logs4. Category C — IAM Permissions
4. 类别C — IAM权限
File system stuck in "creating" status:
S3 Files does NOT validate IAM role permissions at creation time. Wrong trust policy or missing permissions → stuck in with access denied in .
creatingstatusMessageCheck status:
bash
aws s3files get-file-system --file-system-id fs-ID --region REGIONCheck . If access denied, fix the IAM role and delete/recreate.
statusMessageMount access denied: Compute role needs . For dev/test only, is acceptable — avoid in production.
s3files:ClientMountAmazonS3FilesClientFullAccessWrite permission denied: Compute role needs
s3files:ClientWriteRoot access denied: Compute role needs . ⚠️ Bypasses POSIX permissions — prefer access points with scoped POSIX users.
s3files:ClientRootAccessCheck file system policy:
bash
aws s3files get-file-system-policy --file-system-id fs-ID --region REGION文件系统处于"创建中"状态停滞:
S3 Files在创建时不会验证IAM角色权限。错误的信任策略或缺失权限会导致文件系统停滞在状态,且中显示访问被拒绝。
创建中statusMessage检查状态:
bash
aws s3files get-file-system --file-system-id fs-ID --region REGION查看。若显示访问被拒绝,请修复IAM角色并重新创建文件系统。
statusMessage挂载时访问被拒绝: 计算实例角色需要权限。仅在开发/测试环境中可使用权限——生产环境中避免使用。
s3files:ClientMountAmazonS3FilesClientFullAccess写入时权限被拒绝: 计算实例角色需要权限
s3files:ClientWrite根访问被拒绝: 计算实例角色需要权限。⚠️ 该权限会绕过POSIX权限——优先使用带范围POSIX用户的访问点。
s3files:ClientRootAccess检查文件系统策略:
bash
aws s3files get-file-system-policy --file-system-id fs-ID --region REGION5. Category D — Synchronization
5. 类别D — 同步问题
Files not appearing in S3: Writes sync within ~60 seconds. Check status:
bash
getfattr -n "user.s3files.status;$(date -u +%s)" filename --only-valuesCommon ExportError values:
| Error | Fix |
|---|---|
| S3AccessDenied | File system IAM role lacks S3 write permissions |
| S3BucketNotFound | Bucket deleted or renamed |
| RoleAssumptionFailed | Trust policy misconfigured |
| EncryptionKeyInaccessible | KMS key disabled or permissions revoked |
| PathTooLong | File path exceeds 1,024 byte S3 key limit |
Monitor: CloudWatch metric. Growing = exceeds 800 files/sec rate.
PendingExports文件未出现在S3中: 写入操作会在约60秒内完成同步。检查状态:
bash
getfattr -n "user.s3files.status;$(date -u +%s)" filename --only-values常见的ExportError值:
| 错误 | 修复方案 |
|---|---|
| S3AccessDenied | 文件系统IAM角色缺少S3写入权限 |
| S3BucketNotFound | 存储桶已删除或重命名 |
| RoleAssumptionFailed | 信任策略配置错误 |
| EncryptionKeyInaccessible | KMS密钥已禁用或权限被撤销 |
| PathTooLong | 文件路径超过S3密钥1024字节的限制 |
监控: CloudWatch指标。数值持续增长表示超过了800文件/秒的速率限制。
PendingExports6. Category E — Conflict Resolution
6. 类别E — 冲突解决
Files in = sync conflict (modified via FS and S3 simultaneously). S3 wins; FS version moved to lost+found.
.s3files-lost+found-{fs-id}文件位于目录表示存在同步冲突(同时通过文件系统和S3修改文件)。此时S3版本会保留,文件系统版本会被移至lost+found目录。
.s3files-lost+found-{fs-id}7. Category F — Performance
7. 类别F — 性能问题
First access latency: Normal — first directory access imports metadata.
Intelligent read routing not working: Compute role needs on the bucket.
s3:GetObjectSlow writes: If growing, distribute across multiple file systems.
PendingExports首次访问延迟: 属于正常现象——首次访问目录时会导入元数据。
智能读取路由未生效: 计算实例角色需要对存储桶拥有权限。
s3:GetObject写入缓慢: 如果数值持续增长,请将负载分散到多个文件系统中。
PendingExports8. Category G — Encryption/KMS
8. 类别G — 加密/KMS
NFS server error with encrypted FS = KMS issue. Verify key is enabled and role has KMS permissions.
加密文件系统出现NFS服务器错误表示存在KMS问题。验证密钥是否已启用,且角色拥有KMS权限。
9. Category H — VPC DNS
9. 类别H — VPC DNS
DNS resolution failure = VPC DNS settings disabled.
bash
aws ec2 describe-vpc-attribute --vpc-id vpc-ID --attribute enableDnsHostnames
aws ec2 describe-vpc-attribute --vpc-id vpc-ID --attribute enableDnsSupportBoth MUST be . If not:
truebash
aws ec2 modify-vpc-attribute --vpc-id vpc-ID --enable-dns-hostnames Value=true
aws ec2 modify-vpc-attribute --vpc-id vpc-ID --enable-dns-support Value=trueDNS解析失败表示VPC DNS设置已禁用。
bash
aws ec2 describe-vpc-attribute --vpc-id vpc-ID --attribute enableDnsHostnames
aws ec2 describe-vpc-attribute --vpc-id vpc-ID --attribute enableDnsSupport上述两项必须为。若不是,请执行以下命令:
truebash
aws ec2 modify-vpc-attribute --vpc-id vpc-ID --enable-dns-hostnames Value=true
aws ec2 modify-vpc-attribute --vpc-id vpc-ID --enable-dns-support Value=trueTroubleshooting
额外故障排查场景
AWS CLI endpoint URL cannot be resolved
AWS CLI端点URL无法解析
CLI is too old for S3 Files. Run — if v1.x, upgrade to AWS CLI v2: Installing the AWS CLI.
aws --versionCLI版本过旧,不支持S3 Files。执行查看版本——若为v1.x,请升级至AWS CLI v2:安装AWS CLI。
aws --versionECS task fails with DNS resolution error
ECS任务因DNS解析错误失败
Used instead of . Fix: use in S3 Files-specific volume config.
efsVolumeConfigurations3filesVolumeConfigurationfileSystemArn使用了而非。修复方案:在S3 Files专属的卷配置中使用。
efsVolumeConfigurations3filesVolumeConfigurationfileSystemArnS3 Files vs other products confusion
S3 Files与其他产品混淆
S3 Files is NOT Mountpoint for S3, S3 File Gateway, or File Cache. Uses CLI, IAM actions, .
aws s3filess3files:mount -t s3filesS3 Files并非Mountpoint for S3、S3 File Gateway或File Cache。它使用 CLI、类型的IAM操作以及命令。
aws s3filess3files:mount -t s3filesEnable Debug Logs
启用调试日志
Set in . Logs at .
logging_level = DEBUG/etc/amazon/efs/s3files-utils.conf/var/log/amazon/efs/mount.log在中设置。日志位于。
/etc/amazon/efs/s3files-utils.conflogging_level = DEBUG/var/log/amazon/efs/mount.logCollect Logs for AWS Support
收集日志提交AWS支持
bash
sudo tar -czf /tmp/s3files-logs.tar.gz /var/log/amazon/efs/ /etc/amazon/efs/s3files-utils.confbash
sudo tar -czf /tmp/s3files-logs.tar.gz /var/log/amazon/efs/ /etc/amazon/efs/s3files-utils.confSecurity Considerations
安全注意事项
- When diagnosing IAM issues, verify least-privilege — avoid FullAccess as a shortcut
- Without a file system policy, any VPC client can mount
- Restrict access — logs contain S3 key names
/var/log/amazon/efs/
- 排查IAM问题时,验证是否遵循最小权限原则——避免使用FullAccess权限作为快捷方式
- 若无文件系统策略,任何VPC客户端均可挂载
- 限制目录的访问权限——日志中包含S3密钥名称
/var/log/amazon/efs/