Il problema
Il file system condiviso CIFS non viene montato anche dopo il riavvio del sistema in CentOS/RHEL 7. Se si esegue manualmente il comando "mount -a" dopo il riavvio del sistema, il file system CIFS viene normalmente montato
voce fstab:
# cat /etc/fstab //192.168.0.10/Oracle /backup/oracle cifs _netdev,noexec,nosuid,vers=3.0,uid=1001,gid=1002,credentials=/root/backup_creds 0 0
demsg:
[ 27.052981] Key type cifs.idmap registered [ 33.053711] CIFS VFS: Error connecting to socket. Aborting operation. [ 33.054048] CIFS VFS: cifs_mount failed w/return code = -113
/var/log/messaggi:
Nov 21 15:09:29 ***** kernel: CIFS VFS: Error connecting to socket. Aborting operation. Nov 21 15:09:29 ***** kernel: CIFS VFS: cifs_mount failed w/return code = -113 Nov 21 15:09:29 ***** mount: Unable to find suitable address. Nov 21 15:09:29 ***** systemd: backup-oracle.mount mount process exited, code=exited status=32 Nov 21 15:09:29 ***** systemd: Failed to mount /backup/oracle. Nov 21 15:09:29 ***** systemd: Dependency failed for Remote File Systems. Nov 21 15:09:29 ***** systemd: Job remote-fs.target/start failed with result 'dependency'. Nov 21 15:09:29 ***** systemd: Unit backup-oracle.mount entered failed state.
La soluzione
Le unità di montaggio che fanno riferimento ai file system locali e di rete si distinguono per la specifica del tipo di file system. In alcuni casi, ciò non è sufficiente (ad esempio montaggi basati su dispositivi a blocchi di rete, come iSCSI), nel qual caso _netdev può essere aggiunto alla stringa dell'opzione di montaggio dell'unità, che obbliga systemd a considerare l'unità di montaggio un montaggio di rete.
Inoltre, systemd supporta le dipendenze degli ordini espliciti tra le voci di montaggio e altre unità. Esistono 2 modi per risolvere questo problema:
1. aggiunta di x-systemd.after=network-online.target in /etc/fstab alle opzioni di montaggio:
//192.168.0.10/Oracle /backup/oracle cifs _netdev,x-systemd.after=network-online.target,noexec,nosuid,vers=3.0,uid=1001,gid=1002,credentials=/root/backup_creds 0 0
2. crea un file di unità systemd personalizzato in /etc/systemd/system con formato file samba.service[Unità] :
# vi /etc/systemd/system Description=CIFS Mount Requires=network-online.target After=network-online.service Before=samba.service [Mount] What=//xxx.xxx.xxx.xxx/path/[mountpoint] Where=/mnt/path Options=username=yourusername,pass=yourpassword Type=cifs [Install] WantedBy=multi-user.target