在 systemd 中调试 NFS 挂载的技巧

在 systemd 中调试 NFS 挂载的技巧

我正在运行 CoreOS,它使用 systemd。我有几个 NFS 挂载,它们在我的 Ubuntu 14 系统上运行良好,但在 systemd 下启动时无法可靠连接。我将它们定义如下(remote我的 NAS 在哪里):

- name: mnt-documents.mount
  contents: |
    [Unit]
    After=nfs-client.target
    Requires=nfs-client.target
    [Mount]
    What=remote:/volume1/Documents
    Where=/mnt/documents
    Type=nfs
    Options=rw,vers=3
- name: mnt-documents.automount
  contents: |
    [Automount]
    Where=/mnt/documents

我有 4 个这样的服务器,它们都从同一个 NFS 服务器挂载不同的目录。有时 1 个会失败,有时 2 个会失败,有时它们都正常工作。如果我尝试,systemctl status mnt-documents.mount我会得到

● mnt-documents.mount - /mnt/documents
   Loaded: loaded (/etc/systemd/system/mnt-documents.mount; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2018-02-26 09:55:24 UTC; 5h 10min ago
    Where: /mnt/documents
     What: remote:/volume1/Documents
  Process: 983 ExecMount=/bin/mount remote:/volume1/Documents /mnt/documents -t nfs -o rw,vers=3 (code=exited, status=32)

Feb 26 09:55:23 tularemia systemd[1]: Mounting /mnt/documents...
Feb 26 09:55:24 tularemia systemd[1]: mnt-documents.mount: Mount process exited, code=exited status=32
Feb 26 09:55:24 tularemia systemd[1]: mnt-documents.mount: Failed with result 'exit-code'.
Feb 26 09:55:24 tularemia systemd[1]: Failed to mount /mnt/documents.

如果我尝试mount自己运行该命令,它总会成功。

我怀疑问题在于,挂载 (有时) 在 DNS 激活之前发生。但我的问题是如何更好地理解失败?我不确定是什么status=32,也不确定如何要求挂载单元将标志传递-vmount

相关内容