Я использую 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
такое, и я не уверен, как попросить mount-unit передать -v
флаг mount
.