Windowsインスタンスからのファイル・システムのマウント
Windows Server 2012 R2以降のバージョンのユーザーは、マウント・ターゲットのIPアドレスとファイル・システムのエクスポート・パスを使用して、使用可能な任意のドライブ文字にファイル・システムをマウントできます。
ファイル・システムのマウント元のインスタンス上にWindows NFSクライアントをインストールする必要があります。
Windows NFSクライアントのインストールでは、システムの再起動が必要な場合があります。
AnonymousGid
とAnonymousUid
を使用して匿名でファイル・システムにアクセスします。新しいファイル・システムでは、書込み権限はルート・ユーザーにのみ付与されます。アイデンティティ値AnonymousGid
およびAnonymousUid
は、書込みアクセスを許可するように構成する必要があります。
'AnonymousGid'および'AnonymousUid'の値を更新すると、システムのレジストリを変更する必要があります。
前提条件
- ファイル・システムには、少なくとも1つのマウント・ターゲットに少なくとも1つのエクスポートが必要です。新しいファイル・システムを作成すると、ファイル・システムのエクスポートが同時に作成されます。詳細は、ファイル・システムの作成を参照してください。
- マウント・ターゲット用に正しく構成されたセキュリティ・ルール。Oracle Cloud Infrastructureでのセキュリティ・ルールの動作方法の詳細は、セキュリティ・ルールを参照してください。ファイル・ストレージに対するVCNセキュリティ・ルールの構成の手順を使用して、ファイル・システムにセキュリティ・ルールを正しく設定します。
Windowsネットワーク・プロバイダではNFSトラフィックよりもSMBトラフィックが優先されるため、ファイル・ストレージ・マウント・ターゲットに初めて接続する際に遅延が発生する可能性があります。マウント情報がキャッシュされるため、それ以降の接続は速くなりますが、キャッシュが期限切れになると遅延が再発します。これにより、パフォーマンスが断続的に低下します。パフォーマンスを向上させるには、NFSクライアントが優先されるようにネットワーク・プロバイダの順序を変更できます。詳細は、マウントされたファイル・システムへのアクセスが遅いか、数秒後に失敗するを参照してください。
ファイル・システムをマウントする際、Network Lock Manager (NLM)はデフォルトでファイル・ロックに対して有効になっています。デフォルトでは、指定されたマウント・オプションは必要ありません。一般的なNFSワークロードは通常、デフォルトを使用して機能します。
アプリケーションによっては、nolock
マウント・オプションを指定することが必要になる場合があります。このマウント・オプションに関するベスト・プラクティスについては、アプリケーションのドキュメントを参照してください。
Windowsコマンド・プロンプトの使用
Windowsプラットフォーム・イメージを使用している場合は、NFSクライアントがすでにインストールされ、正しいユーザー・アイデンティティがマップされています。ステップ4にスキップします。
-
Windows PowerShellを開き、管理者として実行します:
- 「スタート」に移動して、「Windows PowerShell」アイコンをクリックします。
-
Windows PowerShellで、次のように入力して管理者として実行します:
Start-Process powershell -Verb runAs
- 「ユーザー アカウント制御」ウィンドウで、「はい」をクリックします。管理者用の新しいPowerShellウィンドウが開きます。標準のPowerShellウィンドウを閉じると、混乱を避けることができます。
- 管理者用PowerShellで、次のように入力してNFSクライアントを取得します:
Install-WindowsFeature -Name NFS-Client Set-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousUid -Value 0 Set-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousGid -Value 0 Stop-Service -Name NfsClnt Restart-Service -Name NfsRdr Start-Service -Name NfsClnt
重要
クライアントに特権ソース・ポート(1-1023)からの接続を要求するようにファイル・システムのエクスポート・オプションを設定している場合は、UseReservedPortsレジストリ・キーを1に設定する必要があります。
例:
Set-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name UseReservedPorts -Value 1
詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。
-
管理者用のPowerShellウィンドウを閉じます。
標準のコマンド・プロンプト・ウィンドウを開きます:
- 「スタート」をクリックし、「コマンド プロンプト」をクリックします。
重要
管理者としてマウントされたNFSファイル・システムを、標準ユーザーは使用できません。 -
標準のWindowsコマンドライン(CMD)ウィンドウで、次のように入力してファイル・システムをマウントします。
mount -o sec=sys 10.x.x.x:/fs-export-path X:
10.x.x.x:
を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換えます。-
fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。重要
エクスポート・パスは、ファイル・システムへのパス(マウント・ターゲットのIPアドレスまたはホスト名に対して相対的)です。ファイル・システムとマウント・ターゲットを関連付けたときにパスを指定しなかった場合、"/"でマウント・ターゲット全体を表します。その場合、ファイル・システムをマウントする際には、"!"を使用する必要があります。例:mount 10.0.0.0:/! X:
X
を、ファイル・システムをマップする使用可能なドライブのドライブ文字に置き換えます。- エクスポートでAUTH_SYSのみを使用している場合、
sec
オプションはオプションです。エクスポートでKerberos認証を使用する場合は、sys
をkrb5
、krb5i
またはkrb5p
に置き換えます。ノート
NFSクライアントが複数の認証タイプを持つエクスポートを使用し、ファイル・システムがsec=<auth_type>
を指定せずにマウントされている場合、クライアントはエクスポートでサポートされている最も強力な認証タイプを自動的に選択する必要があります。
-
次のように入力して、ファイルをファイル・システムに書き込みます。
X
をステップ10で使用したドライブ文字に、helloworld
をファイル名に置き換えます。X:
echo > helloworld.txt
-
次を入力してファイルが表示されることを確認します。
dir
発生する可能性がある一般的な問題の詳細は、Windows NFS接続のトラブルシューティングを参照してください。
Windowsファイル・エクスプローラの使用
Windowsプラットフォーム・イメージを使用している場合は、NFSクライアントがすでにインストールされ、正しいユーザー・アイデンティティがマップされています。ステップ9にスキップします。
-
Windows PowerShellを開き、管理者として実行します:
- 「スタート」に移動して、「Windows PowerShell」アイコンをクリックします。
-
Windows PowerShellで、次のように入力して管理者として実行します:
Start-Process powershell -Verb runAs
- 「ユーザー アカウント制御」ウィンドウで、「はい」をクリックします。管理者用の新しいPowerShellウィンドウが開きます。標準のPowerShellウィンドウを閉じると、混乱を避けることができます。
-
管理者用PowerShellで、次のように入力してNFSクライアントを取得します:
Install-WindowsFeature -Name NFS-Client
- 必要な場合は、システムを再起動します。
-
レジストリ・エディタ(regedit)を開き、AnonymousGidとAnonymousUidをルート・ユーザーにマップします。
注意
ユーザー・アイデンティティ・マッピングでは、システム・レジストリを変更する必要があります。- 「Windowsサーチ」をクリックします。
- 「検索」フィールドに
regedit
と入力し、[Enter]を押します。 - 「はい」をクリックして、デバイスへの変更を許可します。
HKEY_LOCAL_MACHINE
をクリックします。次に、Software\Microsoft\ClientForNFS\CurrentVersion\Default
を参照します。
-
AnonymousGid
の新しいDWORD32レジストリ・エントリを追加します:- 「編集」をクリックし、新しいDWORD (32ビット)値を選択します。
- 「名前」フィールドに、
AnonymousGid
と入力します。値は0
のままにします。
-
ステップ5を繰り返して、
AnonymousUid
という名前で、0
の値を持つ2番目のDWORD32レジストリ・エントリを追加します。重要
クライアントに特権ソース・ポート(1-1023)からの接続を要求するようにファイル・システムのエクスポート・オプションを設定している場合は、UseReserverdPortsレジストリ・キーを1に設定する必要があります。
詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。
-
Windowsコマンドライン(CMD)を開き、管理者として実行します:
- 「スタート」に移動し、「アプリ」までスクロールします。
- 「Windowsシステム」セクションで、[Ctrl]+[Shift]を押し、「コマンド プロンプト」をクリックします。
-
Windowsコマンドライン(CMD)ウィンドウで次のように入力してNFSクライアントを再起動します:
nfsadmin client stop
nfsadmin client start
-
ファイル・エクスプローラを開き、「PC」を選択します。「コンピューター」タブで、「ネットワーク ドライブの割り当て」を選択します。
- ファイル・システムに割り当てるドライブ文字を選択します。
-
「フォルダー」フィールドに、次のように入力します。
10.x.x.x:
を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-path
を、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換えます。\\10.x.x.x\fs-export-path
重要
エクスポート・パスは、ファイル・システムへのパス(マウント・ターゲットのIPアドレスまたはホスト名に対して相対的)です。ファイル・システムとマウント・ターゲットを関連付けたときにパスを指定しなかった場合、"\"でマウント・ターゲット全体を表します。その場合、ファイル・システム・フォルダ・パスを入力する際には、"!"を使用する必要があります。例:\\10.0.0.0\!
- 完了後、「完了」ボタンをクリックします。
発生する可能性がある一般的な問題の詳細は、Windows NFS接続のトラブルシューティングを参照してください。
ファイル・システムのサブディレクトリのマウント
ファイル・システムに既存のディレクトリ構造がある場合は、任意のファイル・システムのサブディレクトリをマウントできます。サブディレクトリは、インスタンスのマウント・ポイントで有効なルート・ディレクトリとなり、兄弟ディレクトリは除外されます。
たとえば、「FileSystem1」に/FileSystem1
というエクスポート・パスと、次のようなディレクトリ構造があるとします:
ファイル・システムは、IPアドレスが10.0.0.16
である「MountTarget1」からエクスポートされます。
次のコマンドでは、ドライブ文字XにdirectoryA
をマウントします:
mount 10.0.0.16:/rootdirectory/directoryA X:
directoryB
もFileB
もドライブXからアクセスできません。
兄弟ディレクトリへのアクセスを制限するためにサブディレクトリをマウントしても、ファイル・システムを保護するには十分ではありません。セキュリティ方法の詳細は、ファイル・ストレージ・セキュリティについてを参照してください。
- Windowsコマンド・プロンプトを使用するか、Windowsファイル・エクスプローラを使用して、ファイル・システムをマウントするために使用する方法を選択します。
- NFSクライアントをインストールし、
AnonymousGid
およびAnonymousUid
のレジストリ・エントリを追加する手順に従います。 - NFSクライアントをインストールしてレジストリ・エントリを追加した後、両方のマウント方法でファイル・システムのマウント情報の入力方法が示されます。使用する方法に応じて、マウント情報を編集してエクスポート・パスにサブディレクトリ・パスを追加します:
Windowsコマンド・プロンプトを使用する場合は、次のコマンドを入力します(ステップ4):
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。directory-path
を、ルート・ディレクトリからマウントするサブディレクトリへのパスに置き換えます。
mount 10.x.x.x:/fs-export-path/directory-path X:
Windowsファイル・エクスプローラを使用する場合は、ファイル・システムをマップするドライブ文字の「フォルダ」フィールドに次のように入力します(ステップ11):
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。directory-path
を、ルート・ディレクトリからマウントするサブディレクトリへのパスに置き換えます。
\\10.x.x.x\fs-export-path\directory-path
ファイル・システムのアンマウント
コマンドラインの使用:
-
標準のWindowsコマンドライン(CMD)ウィンドウで、次のように入力してファイル・システムをマウントします。
10.x.x.x:
を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-path
を、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換え、X
を、ファイル・システムをマップする使用可能なドライブのドライブ文字に置き換えます。umount X: 10.x.x.x:/fs-export-path
ノート
アンマウントする際に、場合によっては-f
フラグをumount
コマンドで使用する必要があります。例:umount -f X: 10.x.x.x:/fs-export-path