Masalahnya
Sistem file bersama CIFS tidak di-mount bahkan setelah sistem di-boot ulang di CentOS/RHEL 7. Jika secara manual menjalankan perintah “mount -a” setelah sistem di-boot ulang, sistem file CIFS biasanya di-mount
entri 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.
Solusinya
Unit pemasangan yang mengacu pada sistem file lokal dan jaringan dibedakan berdasarkan spesifikasi jenis sistem filenya. Dalam beberapa kasus, ini tidak cukup (misalnya mount berbasis perangkat blok jaringan, seperti iSCSI), dalam hal ini _netdev dapat ditambahkan ke rangkaian opsi pemasangan unit, yang memaksa systemd untuk menganggap unit pemasangan sebagai pemasangan jaringan.
Selain itu, systemd mendukung dependensi urutan eksplisit antara entri mount dan unit lain. Ada 2 cara untuk mengatasi masalah ini:
1. menambahkan x-systemd.after=network-online.target di /etc/fstab ke opsi pemasangan:
//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. buat file unit systemd khusus di /etc/systemd/system dengan format 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