Das Problem
Das freigegebene CIFS-Dateisystem wird auch nach dem Systemneustart in CentOS/RHEL 7 nicht gemountet. Wenn Sie den Befehl „mount -a“ nach dem Neustart des Systems manuell ausführen, wird das CIFS-Dateisystem normalerweise gemountet
fstab-Eintrag:
# 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/messages:
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.
Die Lösung
Einhängeeinheiten, die sich auf lokale und Netzwerkdateisysteme beziehen, werden durch ihre Dateisystemtypspezifikation unterschieden. In einigen Fällen ist dies nicht ausreichend (z. B. Netzwerk-Blockgerät-basierte Mounts wie iSCSI), in diesem Fall _netdev kann dem Mount-Options-String der Unit hinzugefügt werden, wodurch Systemd gezwungen wird, die Mount-Unit als Netzwerk-Mount zu betrachten.
Darüber hinaus unterstützt systemd explizite Reihenfolgeabhängigkeiten zwischen Mount-Einträgen und anderen Units. Dieses Problem kann auf zwei Arten gelöst werden:
1. Hinzufügen von x-systemd.after=network-online.target in /etc/fstab zu den Mount-Optionen:
//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. Erstellen Sie eine benutzerdefinierte systemd-Unit-Datei in /etc/systemd/system mit dem Dateiformat 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