

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

# 文件系统挂载问题排查
<a name="mount-troubleshooting"></a>

文件系统挂载命令失败的原因有很多，如以下主题所述。

## 文件系统挂载立即失败
<a name="mount-fails-right-away"></a>

文件系统挂载命令立即失败。下面的代码显示了一个示例。

```
mount.lustre: mount fs-0123456789abcdef0.fsx.us-east-1.aws@tcp:/fsx at /lustre
failed: No such file or directory

Is the MGS specification correct?
Is the filesystem name correct?
```

如果您在使用 **mount** 命令挂载持久性或 scratch 2 文件系统时未使用正确的 `mountname` 值，则可能会出现此错误。您可以从[https://docs.aws.amazon.com/cli/latest/reference/fsx/describe-file-systems.html](https://docs.aws.amazon.com/cli/latest/reference/fsx/describe-file-systems.html) AWS CLI 命令或 [https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html)API 操作的响应中获取`mountname`值。

## 文件系统挂载挂起，然后失败，并显示超时错误
<a name="mount-hangs-fails-timeout"></a>

文件系统挂载命令挂起一两分钟，然后失败，并显示超时错误。

下面的代码显示了一个示例。

```
sudo mount -t lustre file_system_dns_name@tcp:/mountname /mnt/fsx

[2+ minute wait here]
Connection timed out
```

出现该错误的原因可能是 Amazon EC2 实例或文件系统的安全组配置不正确。

**要采取的操作**

确保文件系统的安全组具有 [Amazon VPC 安全组](limit-access-security-groups.md#fsx-vpc-security-groups) 中指定的入站规则。

## 自动挂载失败，并且实例没有响应
<a name="lustre-automount-fails"></a>



在某些情况下，文件系统的自动挂载可能会失败，并且您的 Amazon EC2 实例可能会停止响应。

如果未声明该 `_netdev` 选项，则可能会出现此问题。如果缺少 `_netdev`，您的 Amazon EC2 实例可能会停止响应。出现该结果是因为，需要在计算实例启动其网络后初始化网络文件系统。

**要采取的操作**  
如果出现此问题，请联系 AWS 支持。

## 系统启动期间文件系统挂载失败
<a name="mount-fails-boot-up"></a>

系统启动期间文件系统挂载失败。使用 `/etc/fstab` 自动挂载。如果未挂载文件系统，则在实例启动时间范围内的系统日志中会出现以下错误。

```
LNetError: 3135:0:(lib-socket.c:583:lnet_sock_listen()) Can't create socket: port 988 already in use
LNetError: 122-1: Can't start acceptor on port 988: port already in use
```

当端口 988 不可用时，可能会发生此错误。将实例配置为挂载 NFS 文件系统时，NFS 挂载可能会将其客户端端口绑定到端口 988

**要采取的操作**

在可能的情况下，您可以通过调整 NFS 客户端的 `noresvport` 和 `noauto` 挂载选项来解决此问题。

## 使用 DNS 名称的文件系统挂载失败
<a name="mount-fails-dns-name"></a>

错误配置的域名服务（DNS）名称可能会导致文件系统挂载失败，如以下场景所示。

**场景 1：**使用域名服务（DNS）名称的文件系统挂载失败。下面的代码显示了一个示例。

```
sudo mount -t lustre file_system_dns_name@tcp:/mountname /mnt/fsx
mount.lustre: Can't parse NID 
'file_system_dns_name@tcp:/mountname'
```

**要采取的操作**

检查您的虚拟私有云（VPC）配置。如果使用自定义 VPC，请确保已启用 DNS 设置。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[结合使用 DNS 和 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)。

要在 `mount` 命令中指定一个 DNS 名称，请执行以下操作：
+ 确保 Amazon EC2 实例与您的 Ama FSx zon for Lustre 文件系统位于同一 VPC 中。
+ 在配置为使用由 Amazon 提供的 DNS 服务器的 VPC 内连接您的 Amazon EC2 实例。有关更多信息，请参阅《Amazon VPC 用户指南》**中的 [DHCP 选项集](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)。
+ 确保连接 Amazon EC2 实例的 Amazon VPC 已启用 DNS 主机名。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[更新 VPC 的 DNS 支持](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。

**场景 2：**使用域名服务（DNS）名称的文件系统挂载失败。下面的代码显示了一个示例。

```
mount -t lustre file_system_dns_name@tcp:/mountname /mnt/fsx
mount.lustre: mount file_system_dns_name@tcp:/mountname at /mnt/fsx failed: Input/output error Is the MGS running?
```

**要采取的操作**

 确保客户端的 VPC 安全组应用了正确的出站流量规则。尤其是在您未使用默认安全组或修改了默认安全组的情况下，此建议仍然适用。有关更多信息，请参阅 [Amazon VPC 安全组](limit-access-security-groups.md#fsx-vpc-security-groups)。