컴퓨터가 시작될 때 nfs 공유를 항상 사용할 수 있는 것은 아니기 때문에 fstab nfs 마운트 항목에서 "bg" 옵션을 사용합니다.
sal.fritz.box:/tank1_data /mnt/sal_data nfs fsc,nfsvers=4.2,nofail,bg 0 0
이는 다음과 같은 시스템 "마운트" 단위로 변환됩니다.
# /run/systemd/generator/mnt-sal_data.mount
# Automatically generated by systemd-fstab-generator
[Unit]
SourcePath=/etc/fstab
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
[Mount]
Where=/mnt/sal_data
What=sal.fritz.box:/tank1_data
Type=nfs
TimeoutSec=infinity
Options=x-systemd.mount-timeout=infinity,retry=10000,fsc,nfsvers=4.2,nofail,bg,fg
지금 내가 기대하는 것은 시작 시 "마운트" 프로세스가 nfs 공유를 사용할 수 있을 때까지 기다릴 것이라는 것입니다. 그러나 부팅 직후 장치에 오류가 발생합니다.
● mnt-sal_data.mount - /mnt/sal_data
Loaded: loaded (/etc/fstab; generated; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2020-10-29 23:18:27 CET; 3min 8s ago
Where: /mnt/sal_data
What: sal.fritz.box:/tank1_data
Docs: man:fstab(5)
man:systemd-fstab-generator(8)
Tasks: 0
CGroup: /system.slice/mnt-sal_data.mount
Okt 29 23:18:27 hal2000 systemd[1]: Mounting /mnt/sal_data...
Okt 29 23:18:27 hal2000 systemd[1]: mnt-sal_data.mount: Mount process exited, code=exited status=32
Okt 29 23:18:27 hal2000 systemd[1]: Failed to mount /mnt/sal_data.
Okt 29 23:18:27 hal2000 systemd[1]: mnt-sal_data.mount: Unit entered failed state.
분명히 이 경우 nfs 공유는 마운트되지 않습니다.
그러나 마운트 장치를 수동으로 다시 시작하면 모든 것이 예상대로 작동합니다. 마운트 프로세스는 nfs 공유가 사용 가능해질 때까지 기다립니다.
● mnt-sal_data.mount - /mnt/sal_data
Loaded: loaded (/etc/fstab; generated; vendor preset: disabled)
Active: activating (mounting) since Thu 2020-10-29 23:56:19 CET; 9s ago
[...]
Process: 10713 ExecUnmount=/usr/bin/umount /mnt/sal_data -c (code=exited, status=0/SUCCESS)
Cntrl PID: 10833 (mount)
Tasks: 2
CGroup: /system.slice/mnt-sal_data.mount
├─10833 /usr/bin/mount sal.fritz.box:/tank1_data /mnt/sal_data -t nfs -o x-systemd.mount-timeout=infinity,retry=10000,fsc,nf>
└─10834 /sbin/mount.nfs sal.fritz.box:/tank1_data /mnt/sal_data -o rw,retry=10000,fsc,nfsvers=4.2,bg,fg
Okt 29 23:56:19 hal2000 systemd[1]: Mounting /mnt/sal_data...
...공유를 사용할 수 있게 되면 설치가 성공적으로 완료됩니다.
● mnt-sal_data.mount - /mnt/sal_data
Loaded: loaded (/etc/fstab; generated; vendor preset: disabled)
Active: active (mounted) since Thu 2020-10-29 23:59:44 CET; 5s ago
[...]
Process: 10713 ExecUnmount=/usr/bin/umount /mnt/sal_data -c (code=exited, status=0/SUCCESS)
Process: 10833 ExecMount=/usr/bin/mount sal.fritz.box:/tank1_data /mnt/sal_data -t nfs -o x-systemd.mount-timeout=infinity,retry=1000>
Tasks: 0
CGroup: /system.slice/mnt-sal_data.mount
Okt 29 23:56:19 hal2000 systemd[1]: Mounting /mnt/sal_data...
Okt 29 23:59:44 hal2000 systemd[1]: Mounted /mnt/sal_data.
또한 "nofail" 옵션도 변경했습니다. 차이는 없습니다. 수동 재부팅이 필요하지 않기를 바랍니다. 내가 무엇을 놓치고 있나요?
"자동 마운트" 기능을 사용하고 싶지 않습니다. 왜냐하면 실수로 마운트 지점에 액세스할 경우 시스템이 일시적으로 중단될 수 있기 때문입니다.
시스템: openSUSE Leap 15.1, 시스템 234
감사합니다, 스벤