問題
CentOS/RHEL 7でシステムを再起動してもCIFS共有ファイルシステムがマウントされない. システム再起動後、手動で「mount -a」コマンドを実行すると、CIFSファイルシステムが正常にマウントされる
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/ログ/メッセージ:
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.
解決策
ローカルおよびネットワーク ファイル システムを参照するマウント ユニットは、ファイル システム タイプの仕様によって区別されます。場合によっては、これでは不十分な場合があります (たとえば、iSCSI などのネットワーク ブロック デバイス ベースのマウント)。その場合、_netdev ユニットのマウント オプション文字列に追加できます。これにより、systemd はマウント ユニットをネットワーク マウントと見なすようになります。
さらに、systemd は、マウント エントリと他のユニットとの間の明示的な順序の依存関係をサポートします。この問題を解決するには 2 つの方法があります:
1. x-systemd.after=network-online.target に追加 /etc/fstab で マウントオプションへ:
//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. /etc/systemd/system にカスタム systemd ユニット ファイルを作成します。 ファイル形式 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