windows 2012r2がNFSクライアントの場合マウント状態を永続化できない
mount \\NFSサーバ\NFSフォルダ N:\
とかでNFSマウントできたけど、これは再起動すると消えてしまう。
administratorで起動時にmountするスクリプト作って、タスクスケジューラ経由で実行した。ログオンしていなくても実行というオプションを指定するとなぜかmountできず、
ログオンしているときに実行みたいなオプションの場合のみ実行できた。
調べたところWindowsはネットワークドライブがユーザログイン時にしか有効にならないことが原因らしい。Linuxのように、だれかがマウントしてたらシステム上マウントされるというようなステータスではなく、ユーザ個別のマウントというようなイメージ。タスクスケジューラでadministratorが起動させたとしても、administratorにしか有効にならず、なおかつログアウトしてしまうとネットワークドライブはアンマウント状態になってしまうので、アプリケーションサーバなどログインしていないサービスなどでネットワークドライブを使うケースだとやり方を考えなければならない。
いくつかやりようはあるだろうが、NFSマウントを実施するタスクスケジューラをSYSTEMアカウントでシステム起動時に実行させるようにすることで、NFSは永続的に有効になった。エクスプローラ上からだとNFSが切断されているような見え方になってしまっているが、ログアウト中になにかのサービスが触っても正常にNFSにアクセスできることも確認したしこのまま進めることにした。
追記
CIFSマウントの場合はSYSTEMアカウントでネットワークドライブ作成してもアクセスできない・・・。
追記
CIFSのケースではアプリケーションからはマウントポイントのドライブからの
パス指定によるアクセスではなく、UNC(IPやホスト名を含んだ\\hostname\directoryname\filename)でアクセスさせることで回避しました。