Windows NFSを使用したファイル・システムの作成およびファイル・システムへの書込みの失敗
Windows NFSを使用してマウントされたファイル・システムでのファイルの作成または書込みのエラーをトラブルシューティングする方法を学習します。
トラブルシューティングに進む前に、Windowsインスタンスからファイル・システムに接続するための次の前提条件を実装していることを確認してください:
- NFSクライアントをインストールします。Windowsインスタンスからのファイル・システムのマウントに記載されているインストール手順に従ってください。
- ファイル・ストレージで使用するためのセキュリティ・ルールを設定します。ファイル・ストレージに対するVCNセキュリティ・ルールの構成に記載されている手順に従ってください
症状: Windows NFSクライアントのインストール後、Windowsからファイル・システムを正常にマウントできますが、ファイル・システムでファイルを作成または更新しようとすると失敗します。
原因1: ルート・ユーザーにAnonymousGid
およびAnonymousUid
をマップするレジストリ・エントリが欠落しているか、その場所が間違っています。
NFSファイル・システムにアクセスするには、UNIX形式のユーザーおよびグループのアイデンティティが必要です。これは、Windowsユーザーおよびグループのアイデンティティとは異なります。ユーザーがNFS共有リソースにアクセスできるようにするために、NFSのWindowsクライアントでは、AnonymousGid
とAnonymousUid
を使用して匿名でファイル・システムにアクセスします。新しいファイル・システムでは、書込み権限はルート・ユーザーにのみ付与されます。
解決策: 適切なレジストリ・エントリがHKEY_LOCAL_MACHINE\Software\Microsoft\ClientForNFS\CurrentVersion\Default
にあることを確認します。ない場合は、ルート・ユーザーにマップするためにAnonymousGid
およびAnonymousUid
レジストリ・エントリを追加してから、新しいユーザー権限でファイル・システムを再マウントします。
Windowsコマンドライン(CMD)ウィンドウを開き、引数を指定せずにmount
コマンドを入力すると、マウントされたファイル・システムに対してAnonymousGid
およびAnonymousUid
が正しく設定されていることを確認できます。マウントされているすべてのファイル・システムとそのプロパティのリストが表示されます。AnonymousGid (GID)
およびAnonymousUid (UID)
の値が0
として表示されます。
例:
C:\>mount
Local Remote Properties
-------------------------------------------------------------------------------
X: \\10.0.1.0\FileSystem UID=0, GID=0
rsize=1048576, wsize=1048576
mount=soft, timeout=0.8
retry=1, locking=yes
fileaccess=755, lang=ANSI
casesensitive=no
sec=sys
-2
として表示される場合は、正しく設定されていません。次の手順に進みます。
-
Windowsコマンドライン(CMD)ウィンドウで、次のように入力してファイル・システムをアンマウントします。
10.x.x.x:
を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-path
を、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換え、X
を、ファイル・システムをマップする使用可能なドライブのドライブ文字に置き換えます。umount 10.x.x.x:/fs-export-path X:
-
レジストリ・エディタ(regedit)を開きます:
- 「Windowsサーチ」をクリックします。
- 「検索」フィールドに
regedit
と入力して[Enter]を押します。 - 「はい」をクリックして、デバイスへの変更を許可します。
HKEY_LOCAL_MACHINE
をクリックします。次に、Software\Microsoft\ClientForNFS\CurrentVersion\Default.
を参照します。-
AnonymousGid
の新しいDWORD32レジストリ・エントリを追加します:- 「編集」をクリックし、新しいDWORD (32ビット)値を選択します。
- 「名前」フィールドに、
AnonymousGid
と入力します。値は0
のままにします。
-
ステップ3を繰り返して、
AnonymousUid
という名前で、0
の値を持つ2番目のDWORD32レジストリ・エントリを追加します。 -
Windowsコマンドライン(CMD)を開き、管理者として実行します:
- 「スタート」に移動し、「アプリ」までスクロールします。
- 「Windowsシステム」セクションで、[Ctrl]+[Shift]を押し、「コマンド プロンプト」をクリックします。
-
Windowsコマンドライン(CMD)ウィンドウで次のように入力してNFSクライアントを再起動します:
nfsadmin client stop
nfsadmin client start
-
管理者用のWindowsコマンド・プロンプト(CMD)ウィンドウを閉じます。標準のコマンド・プロンプト・ウィンドウを開きます:
- 「スタート」をクリックし、「コマンド プロンプト」をクリックします。
重要
管理者としてマウントされたNFSファイル・システムを、標準ユーザーは使用できません。 -
標準のWindowsコマンドライン(CMD)ウィンドウで、次のように入力してファイル・システムをマウントします。
10.x.x.x:
を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-path
を、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換え、X
を、ファイル・システムをマップする使用可能なドライブのドライブ文字に置き換えます。mount 10.x.x.x:/fs-export-path X:
原因2: 標準ユーザーが、管理者用コマンド・プロンプト(CMD)を使用してマウントされたファイル・システムにアクセスしようとしています。ファイル・システムのマウント時には、管理者としてコマンド・プロンプトを実行する必要はありません。
解決策: ファイル・システムをアンマウントした後、標準のコマンド・プロンプトを使用してファイル・システムを再マウントします。(CMD)
-
Windowsコマンドライン(CMD)を開き、管理者として実行します:
- 「スタート」に移動し、「アプリ」までスクロールします。
- 「Windowsシステム」セクションで、[Ctrl]+[Shift]を押し、「コマンド プロンプト」をクリックします。
-
管理者用Windowsコマンドライン(CMD)ウィンドウで、次のように入力してファイル・システムをアンマウントします。
10.x.x.x:
を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-path
を、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換え、X
を、ファイル・システムをマップする使用可能なドライブのドライブ文字に置き換えます。umount 10.x.x.x:/fs-export-path X:
- 管理者用のWindowsコマンドライン・プロンプト(CMD)ウィンドウを閉じます。
-
標準のコマンド・プロンプト・ウィンドウを開きます:
- 「スタート」をクリックし、「コマンド プロンプト」をクリックします。
-
標準のコマンドライン(CMD)ウィンドウで、次のように入力してファイル・システムをマウントします。
10.x.x.x:
を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-path
を、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換え、X
を、ファイル・システムをマップする使用可能なドライブのドライブ文字に置き換えます。
mount 10.x.x.x:/fs-export-path X: