Windowsインスタンスからのファイル・システムのマウント

Windows Server 2012 R2以降のバージョンのユーザーは、マウント・ターゲットのIPアドレスとファイル・システムのエクスポート・パスを使用して、使用可能な任意のドライブ文字にファイル・システムをマウントできます。

ファイル・システムのマウント元のインスタンス上にWindows NFSクライアントをインストールする必要があります。

注意

Windows NFSクライアントのインストールでは、システムの再起動が必要な場合があります。
NFSファイル・システムにアクセスするには、UNIX形式のユーザーおよびグループのアイデンティティが必要です。これは、Windowsユーザーおよびグループのアイデンティティとは異なります。ユーザーがNFS共有リソースにアクセスできるようにするために、NFSのWindowsクライアントでは、AnonymousGidAnonymousUidを使用して匿名でファイル・システムにアクセスします。新しいファイル・システムでは、書込み権限はルート・ユーザーにのみ付与されます。アイデンティティ値AnonymousGidおよびAnonymousUidは、書込みアクセスを許可するように構成する必要があります。
注意

'AnonymousGid'および'AnonymousUid'の値を更新すると、システムのレジストリを変更する必要があります。
NFSクライアントをインストールし、正しくユーザー・アイデンティティをマップしたら、コマンドラインまたは「ネットワーク ドライブ​​の割り当て」を使用して、使用可能な任意のドライブ文字にファイル・システムをマウントできます。選択したドライブ文字でファイル・システムにアクセスして、ファイルに書き込みます。

前提条件

  • ファイル・システムには、少なくとも1つのマウント・ターゲットに少なくとも1つのエクスポートが必要です。新しいファイル・システムを作成すると、ファイル・システムのエクスポートが同時に作成されます。詳細は、ファイル・システムの作成を参照してください。
  • マウント・ターゲット用に正しく構成されたセキュリティ・ルール。Oracle Cloud Infrastructureでのセキュリティ・ルールの動作方法の詳細は、セキュリティ・ルールを参照してください。ファイル・ストレージに対するVCNセキュリティ・ルールの構成の手順を使用して、ファイル・システムにセキュリティ・ルールを正しく設定します。
注意

Windowsネットワーク・プロバイダではNFSトラフィックよりもSMBトラフィックが優先されるため、ファイル・ストレージ・マウント・ターゲットに初めて接続する際に遅延が発生する可能性があります。マウント情報がキャッシュされるため、それ以降の接続は速くなりますが、キャッシュが期限切れになると遅延が再発します。これにより、パフォーマンスが断続的に低下します。パフォーマンスを向上させるには、NFSクライアントが優先されるようにネットワーク・プロバイダの順序を変更できます。詳細は、マウントされたファイル・システムへのアクセスが遅いか、数秒後に失敗するを参照してください。

ノート

ファイル・システムをマウントする際、Network Lock Manager (NLM)はデフォルトでファイル・ロックに対して有効になっています。デフォルトでは、指定されたマウント・オプションは必要ありません。一般的なNFSワークロードは通常、デフォルトを使用して機能します。

アプリケーションによっては、nolockマウント・オプションを指定することが必要になる場合があります。このマウント・オプションに関するベスト・プラクティスについては、アプリケーションのドキュメントを参照してください。

Windowsコマンド・プロンプトの使用

Windows Serverのコマンド・プロンプトからファイル・システムをマウントするには

Windowsプラットフォーム・イメージを使用している場合は、NFSクライアントがすでにインストールされ、正しいユーザー・アイデンティティがマップされています。ステップ4にスキップします。

  1. Windows PowerShellを開き、管理者として実行します:

    1. 「スタート」に移動して、「Windows PowerShell」アイコンをクリックします。
    2. Windows PowerShellで、次のように入力して管理者として実行します:

      Start-Process powershell -Verb runAs
    3. 「ユーザー アカウント制御」ウィンドウで、「はい」をクリックします。管理者用の新しいPowerShellウィンドウが開きます。標準のPowerShellウィンドウを閉じると、混乱を避けることができます。
  2. 管理者用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エクスポートおよびエクスポート・オプションの作業を参照してください。

  3. 管理者用のPowerShellウィンドウを閉じます

    標準のコマンド・プロンプト・ウィンドウを開きます:

    1. 「スタート」をクリックし、「コマンド プロンプト」をクリックします。
    重要

    管理者としてマウントされたNFSファイル・システムを、標準ユーザーは使用できません。
  4. 標準のWindowsコマンドライン(CMD)ウィンドウで、次を入力してファイル・システムをマウントします。

    mount -o sec=sys 10.x.x.x:/fs-export-path X:
    • 10.x.x.x:を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換えます。
      ノート

      エクスポートでKerberos認証を使用する場合は、IPアドレスのかわりにマウント・ターゲットの完全修飾ドメイン名(FQDN)を使用します。
    • fs-export-pathを、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。

      ヒント

      エクスポート・パス情報は、ファイル・システムに関連付けられたマウント・ターゲットの「詳細」ページで確認できます。詳細は、マウント・ターゲットの詳細の取得を参照してください。
      重要

      エクスポート・パスは、ファイル・システムへのパス(マウント・ターゲットのIPアドレスまたはホスト名に対して相対的)です。ファイル・システムおよびマウント・ターゲットを関連付けたときにパスを指定しなかった場合、"/"でマウント・ターゲット全体を表します。その場合、ファイル・システムをマウントする際には、"!"を使用する必要があります。例: mount 10.0.0.0:/! X:
    • Xを、ファイル・システムのマップ先として使用可能なドライブのドライブ文字に置き換えます。
    • エクスポートでAUTH_SYSのみを使用している場合、secオプションはオプションです。エクスポートでKerberos認証を使用する場合は、syskrb5krb5iまたはkrb5pに置き換えます。
      ノート

      NFSクライアントが複数の認証タイプを持つエクスポートを使用し、ファイル・システムがsec=<auth_type>を指定せずにマウントされている場合、クライアントはエクスポートでサポートされている最も強い認証タイプを自動的に選択する必要があります。
  5. 次のように入力して、ファイルをファイル・システムに書き込みます。Xをステップ10で使用したドライブ文字に、helloworldをファイル名に置き換えます。

    X:
    echo > helloworld.txt
  6. 次を入力してファイルが表示されることを確認します。

    dir

発生する可能性がある一般的な問題の詳細は、Windows NFS接続のトラブルシューティングを参照してください。

Windowsファイル・エクスプローラの使用

Windows Serverのファイル・エクスプローラからファイル・システムをマウントするには

Windowsプラットフォーム・イメージを使用している場合は、NFSクライアントがすでにインストールされ、正しいユーザー・アイデンティティがマップされています。ステップ9にスキップします。

  1. Windows PowerShellを開き、管理者として実行します:

    1. 「スタート」に移動して、「Windows PowerShell」アイコンをクリックします。
    2. Windows PowerShellで、次のように入力して管理者として実行します:

      Start-Process powershell -Verb runAs
    3. 「ユーザー アカウント制御」ウィンドウで、「はい」をクリックします。管理者用の新しいPowerShellウィンドウが開きます。標準のPowerShellウィンドウを閉じると、混乱を避けることができます。
  2. 管理者用PowerShellで、次のように入力してNFSクライアントを取得します:

    Install-WindowsFeature -Name NFS-Client
  3. 必要な場合は、システムを再起動します。
  4. レジストリ・エディタ(regedit)を開き、AnonymousGidとAnonymousUidをルート・ユーザーにマップします。

    注意

    ユーザー・アイデンティティ・マッピングでは、システム・レジストリを変更する必要があります。
    1. 「Windowsサーチ」をクリックします。
    2. 「検索」フィールドにregeditと入力し、[Enter]を押します。
    3. 「はい」をクリックして、デバイスへの変更を許可します。
    4. HKEY_LOCAL_MACHINEをクリックします。次に、Software\Microsoft\ClientForNFS\CurrentVersion\Defaultを参照します。
  5. AnonymousGidの新しいDWORD32レジストリ・エントリを追加します:

    1. 「編集」をクリックし、新しいDWORD (32ビット)値を選択します。
    2. 「名前」フィールドに、AnonymousGidと入力します。値は0のままにします。
  6. ステップ5を繰り返して、AnonymousUidという名前で、0の値を持つ2番目のDWORD32レジストリ・エントリを追加します。

    重要

    クライアントに特権ソース・ポート(1-1023)からの接続を要求するようにファイル・システムのエクスポート・オプションを設定している場合は、UseReserverdPortsレジストリ・キーを1に設定する必要があります。

    詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。

  7. Windowsコマンドライン(CMD)を開き、管理者として実行します:

    1. 「スタート」に移動し、「アプリ」までスクロールします。
    2. 「Windowsシステム」セクションで、[Ctrl]+[Shift]を押し、「コマンド プロンプト」をクリックします。
  8. Windowsコマンドライン(CMD)ウィンドウで次のように入力してNFSクライアントを再起動します:

    nfsadmin client stop
    nfsadmin client start
  9. ファイル・エクスプローラを開き、「PC」を選択します。「コンピューター」タブで、「ネットワーク ドライブ​​の割り当て」を選択します。

  10. ファイル・システムに割り当てるドライブ文字を選択します。
  11. 「フォルダー」フィールドに、次のように入力します。10.x.x.x:を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-pathを、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換えます。

    \\10.x.x.x\fs-export-path
    ヒント

    IPアドレスとエクスポート・パス情報は、ファイル・システムに関連付けられたマウント・ターゲットの詳細ページで確認できます。詳細は、マウント・ターゲットの詳細の取得を参照してください。
    重要

    エクスポート・パスは、ファイル・システムへのパス(マウント・ターゲットのIPアドレスまたはホスト名に対して相対的)です。ファイル・システムとマウント・ターゲットを関連付けたときにパスを指定しなかった場合、"\"でマウント・ターゲット全体を表します。その場合、ファイル・システム・フォルダ・パスを入力する際には、"!"を使用する必要があります。例: \\10.0.0.0\!
  12. 完了後、「完了」ボタンをクリックします。

発生する可能性がある一般的な問題の詳細は、Windows NFS接続のトラブルシューティングを参照してください。

ファイル・システムのサブディレクトリのマウント

ファイル・システムに既存のディレクトリ構造がある場合は、任意のファイル・システムのサブディレクトリをマウントできます。サブディレクトリは、インスタンスのマウント・ポイントで有効なルート・ディレクトリとなり、兄弟ディレクトリは除外されます。

たとえば、「FileSystem1」に/FileSystem1というエクスポート・パスと、次のようなディレクトリ構造があるとします:

この図は、ディレクトリ構造とマウント・ポイントの例を示しています。

ファイル・システムは、IPアドレスが10.0.0.16である「MountTarget1」からエクスポートされます。

次のコマンドでは、ドライブ文字XにdirectoryAをマウントします:

mount 10.0.0.16:/rootdirectory/directoryA X:

directoryBFileBもドライブXからアクセスできません。

注意

兄弟ディレクトリへのアクセスを制限するためにサブディレクトリをマウントしても、ファイル・システムを保護するには十分ではありません。セキュリティ方法の詳細は、ファイル・ストレージのセキュリティについてを参照してください。
ファイル・システムのサブディレクトリをマウントするには
  1. Windowsコマンド・プロンプトを使用するかWindowsファイル・エクスプローラを使用して、ファイル・システムをマウントするために使用する方法を選択します。
  2. NFSクライアントをインストールし、AnonymousGidおよびAnonymousUidのレジストリ・エントリを追加する手順に従います。
  3. NFSクライアントをインストールしてレジストリ・エントリを追加した後、両方のマウント方法でファイル・システムのマウント情報の入力方法が示されます。使用する方法に応じて、マウント情報を編集してエクスポート・パスにサブディレクトリ・パスを追加します:
    1. Windowsコマンド・プロンプトを使用する場合は、次のコマンドを入力します(ステップ4):

      • 10.x.x.x:を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。
      • fs-export-pathを、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。

      • directory-pathを、ルート・ディレクトリからマウントするサブディレクトリへのパスに置き換えます。
      mount 10.x.x.x:/fs-export-path/directory-path X:
    2. Windowsファイル・エクスプローラを使用する場合は、ファイル・システムをマップするドライブ文字の「フォルダ」フィールドに次のように入力します(ステップ11):

      • 10.x.x.x:を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。
      • fs-export-pathを、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。

      • directory-pathを、ルート・ディレクトリからマウントするサブディレクトリへのパスに置き換えます。
      \\10.x.x.x\fs-export-path\directory-path

ファイル・システムのアンマウント

コマンドラインの使用:

  1. 標準の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