Infra DevOps

インフラ構築のナレッジや、運用の自動簡易化に関する記事を書いていこうと思います

windows 2012r2がNFSクライアントの場合マウント状態を永続化できない

WindowsからNFSサーバへマウントする際

mount \\NFSサーバ\NFSフォルダ N:\
とかでNFSマウントできたけど、これは再起動すると消えてしまう。

administratorで起動時にmountするスクリプト作って、タスクスケジューラ経由で実行した。ログオンしていなくても実行というオプションを指定するとなぜかmountできず、
ログオンしているときに実行みたいなオプションの場合のみ実行できた。

 

調べたところWindowsはネットワークドライブがユーザログイン時にしか有効にならないことが原因らしい。Linuxのように、だれかがマウントしてたらシステム上マウントされるというようなステータスではなく、ユーザ個別のマウントというようなイメージ。タスクスケジューラでadministratorが起動させたとしても、administratorにしか有効にならず、なおかつログアウトしてしまうとネットワークドライブはアンマウント状態になってしまうので、アプリケーションサーバなどログインしていないサービスなどでネットワークドライブを使うケースだとやり方を考えなければならない。


いくつかやりようはあるだろうが、NFSマウントを実施するタスクスケジューラをSYSTEMアカウントでシステム起動時に実行させるようにすることで、NFSは永続的に有効になった。エクスプローラ上からだとNFSが切断されているような見え方になってしまっているが、ログアウト中になにかのサービスが触っても正常にNFSにアクセスできることも確認したしこのまま進めることにした。

この件
http://www-01.ibm.com/support/knowledgecenter/?lang=ja#!/SS3FGX_1.0.6/deploy/mount_the_nfs_share_on_windows_servers.dita
が分かりやすい。


追記
CIFSマウントの場合はSYSTEMアカウントでネットワークドライブ作成してもアクセスできない・・・。

 

追記

CIFSのケースではアプリケーションからはマウントポイントのドライブからの

パス指定によるアクセスではなく、UNC(IPやホスト名を含んだ\\hostname\directoryname\filename)でアクセスさせることで回避しました。