Le problème
Le système de fichiers partagé CIFS n'est pas monté même après le redémarrage du système dans CentOS/RHEL 7. Si vous exécutez manuellement la commande "mount -a" après le redémarrage du système, le système de fichiers CIFS est normalement monté
entrée 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/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.
La solution
Les unités de montage faisant référence aux systèmes de fichiers locaux et réseau se distinguent par leur spécification de type de système de fichiers. Dans certains cas, cela n'est pas suffisant (par exemple, les montages basés sur des périphériques de bloc réseau, tels que iSCSI), auquel cas _netdev peut être ajouté à la chaîne d'option de montage de l'unité, ce qui force systemd à considérer l'unité de montage comme un montage réseau.
De plus, systemd prend en charge les dépendances d'ordre explicites entre les entrées de montage et les autres unités. Il existe 2 façons de résoudre ce problème :
1. en ajoutant x-systemd.after=network-online.target dans /etc/fstab aux options de montage :
//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. créez un fichier d'unité systemd personnalisé dans /etc/systemd/system avec le format de fichier 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