Problém
Sdílený souborový systém CIFS není připojen ani po restartu systému v CentOS/RHEL 7. Pokud po restartu systému ručně spustíte příkaz „mount -a“, souborový systém CIFS je normálně připojen
fstab záznam:
# 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.
Řešení
Připojovací jednotky odkazující na místní a síťové systémy souborů se liší specifikací typu systému souborů. V některých případech to nestačí (například připojení zařízení na bázi síťového bloku, jako je iSCSI), v takovém případě _netdev může být přidáno do řetězce možností připojení jednotky, což přinutí systemd považovat jednotku připojení za síťové připojení.
Systemd navíc podporuje explicitní závislosti na pořadí mezi položkami připojení a jinými jednotkami. Tento problém lze vyřešit dvěma způsoby:
1. přidání do x-systemd.after=network-online.target v /etc/fstab k možnostem připojení:
//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. vytvořte vlastní soubor systemd unit v /etc/systemd/system s formátem souboru samba.service[Jednotka] :
# 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