UNIXスタイルのインスタンスからのファイル・システムのマウント
UbuntuおよびLinuxオペレーティング・システムのユーザーは、コマンドラインを使用してファイル・システムに接続したり、ファイルに書き込むことができます。マウント・ターゲットは、ファイル・システムのネットワーク・アクセス・ポイントとして機能します。マウント・ターゲットにIPアドレスが割り当てられたら、それをエクスポート・パスとともに使用してファイル・システムをマウントできます。ファイル・システムのマウント元のインスタンスで、NFSクライアントをインストールしてマウント・ポイントを作成する必要があります。ファイル・システムをマウントする場合、マウント・ポイントは、実際はファイル・ストレージのファイル・システムのルート・ディレクトリを表し、インスタンスからファイル・システムにファイルを書き込むことができます。ファイル・システム内の任意のディレクトリにマウントできます。
前提条件
- ファイル・システムには、少なくとも1つのマウント・ターゲットに少なくとも1つのエクスポートが必要です。新しいファイル・システムを作成すると、ファイル・システムのエクスポートが同時に作成されます。詳細は、ファイル・システムの作成を参照してください。
- マウント・ターゲット用に正しく構成されたセキュリティ・ルール。Oracle Cloud Infrastructureでのセキュリティ・ルールの動作方法の詳細は、セキュリティ・ルールを参照してください。ファイル・ストレージに対するVCNセキュリティ・ルールの構成の手順を使用して、ファイル・システムにセキュリティ・ルールを正しく設定します。
ファイル・システムのマウント
次の手順を使用して、マウント・コマンドを作成します。または、コンソールを使用して、特定のマウント・ターゲットおよびファイル・システムに関するすべての情報を含むマウント・コマンドのサンプルを取得します。詳細は、マウント・コマンドのサンプルを参照してください。
マウント・コマンドのサンプルでは、ファイル・システムのルート・ディレクトリにファイル・システムをマウントします。マウント・コマンドのサンプルには、ファイル・システムのサブディレクトリ情報は含まれません。Linuxタイプのインスタンスをファイル・システムのサブディレクトリにマウントする場合は、サンプルを編集してエクスポート・パスにサブディレクトリ・パスを追加する必要があります。詳細は、ファイル・システムのサブディレクトリをマウントするにはを参照してください。
ファイル・システムをマウントする場合、次のマウント・オプションの組合せはファイル・ストレージ・サービスでサポートされていません:
soft
ファイル・システムが読取り/書込みマウント・オプション(-o rw
)でマウントされている場合。この組合せによって、データが破損する可能性があります。
次のマウント・オプションまたはマウント・オプションの組合せは、ファイル・ストレージ・サービスで使用することはお薦めしません:
soft
ファイル・システムが読取り専用マウント・オプション(-o ro
)でマウントされており、timeo
が300
秒未満で指定されている場合。この組合せによって、I/Oのエラー・レスポンスが多数発生する可能性があります。rsize
またはwsize
。これらのオプションのために、パフォーマンスの問題が発生します。
ファイル・システムをマウントする際、Network Lock Manager (NLM)はデフォルトでファイル・ロックに対して有効になっています。デフォルトでは、指定されたマウント・オプションは必要ありません。一般的なNFSワークロードは通常、デフォルトを使用して機能します。
アプリケーションによっては、nolock
マウント・オプションを指定することが必要になる場合があります。このマウント・オプションに関するベスト・プラクティスについては、アプリケーションのドキュメントを参照してください。
- コマンド・ウィンドウを開きます。次に、コンソールからインストール・コマンドをコピーして貼り付けてNFSクライアントを取得するか、次を入力します:
sudo apt-get install nfs-common
- コンソールからマウント・ポイント作成コマンドをコピーして貼り付けてマウント・ポイントを作成するか、次のように入力して、
yourmountpoint
をファイル・システムへのアクセス元のローカル・ディレクトリに置き換えます。sudo mkdir -p /mnt/yourmountpoint
-
コンソールからマウント・コマンドをコピーして貼り付けてファイル・システムをマウントするか、次のように入力します:
sudo mount -o nosuid,resvport,sec=sys 10.x.x.x:/fs-export-path /mnt/yourmountpoint
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。-
fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。 yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。- エクスポートでAUTH_SYSのみを使用している場合、
sec
オプションはオプションです。エクスポートでKerberos認証を使用する場合は、sys
をkrb5
、krb5i
またはkrb5p
に置き換えます。ノート
NFSクライアントが複数の認証タイプを持つエクスポートを使用し、ファイル・システムがsec=<auth_type>
を指定せずにマウントされている場合、クライアントはエクスポートでサポートされている最も強力な認証タイプを自動的に選択する必要があります。
ヒント
IPアドレス、ホスト名、FQDNおよびエクスポート・パス情報は、ファイル・システムに関連付けられたマウント・ターゲットの「詳細」ページで確認できます。詳細は、マウント・ターゲットの詳細の取得を参照してください。注意
-o nosuid
オプションを省略すると、権限のないユーザーがルートに権限のエスカレートを許可されることがあります。nosuid
オプションは、マウントされたシステム内のset-user-identifierビットまたはset-group-identifierビットを無効にしますが、使用することはほとんどありません。ノート
「特権ソース・ポートが必要」エクスポート・オプションが使用されている場合、-o resvport
オプションは必須ですが、それ以外の場合はオプションです。これにより、マウントしているファイル・システムが特権ソース・ポート(1-1023)から接続されます。詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。 - ファイル・システムを表示します。
df -h
-
次のように入力して、ファイルをファイル・システムに書き込みます。
yourmountpoint
をローカル・マウント・ポイントのパスに置き換え、helloworld
をファイル名に置き換えます。sudo touch /mnt/yourmountpoint/helloworld
-
次を入力してファイルが表示されることを確認します。
yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。cd /mnt/yourmountpoint
ls
発生する可能性がある一般的な問題の詳細は、ファイル・システムのトラブルシューティングのマウント・コマンドの失敗を参照してください。
- コマンド・ウィンドウを開きます。
- 次のように入力し、
yourmountpoint
をファイル・システムへのアクセス元となるローカル・ディレクトリに置き換えて、マウント・ポイントを作成します。sudo mkdir -p /mnt/yourmountpoint
-
次のように入力して、ファイル・システムをマウントします:
sudo mount -F nfs -o vers=3,sec=sys 10.x.x.x:/fs-export-path /mnt/yourmountpoint
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。-
fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。 yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。- エクスポートでAUTH_SYSのみを使用している場合、
sec
オプションはオプションです。エクスポートでKerberos認証を使用する場合は、sys
をkrb5
、krb5i
またはkrb5p
に置き換えます。ノート
NFSクライアントが複数の認証タイプを持つエクスポートを使用し、ファイル・システムがsec=<auth_type>
を指定せずにマウントされている場合、クライアントはエクスポートでサポートされている最も強力な認証タイプを自動的に選択する必要があります。
ヒント
IPアドレス、ホスト名、FQDNおよびエクスポート・パス情報は、ファイル・システムに関連付けられたマウント・ターゲットの「詳細」ページで確認できます。詳細は、マウント・ターゲットの詳細の取得を参照してください。 -
ファイル・システムを表示します。
df -h
-
次のように入力して、ファイルをファイル・システムに書き込みます。
yourmountpoint
をローカル・マウント・ポイントのパスに置き換え、helloworld
をファイル名に置き換えます。sudo touch /mnt/yourmountpoint/helloworld
-
次を入力してファイルが表示されることを確認します。
yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。cd /mnt/yourmountpoint
ls
発生する可能性がある一般的な問題の詳細は、ファイル・システムのトラブルシューティングのマウント・コマンドの失敗を参照してください。
- コマンド・ウィンドウを開きます。次に、コンソールからインストール・コマンドをコピーして貼り付けてNFSクライアントを取得するか、次を入力します:
sudo yum install nfs-utils
- コンソールからマウント・ポイント作成コマンドをコピーして貼り付けてマウント・ポイントを作成するか、次のように入力して、
yourmountpoint
をファイル・システムへのアクセス元のローカル・ディレクトリに置き換えます。sudo mkdir -p /mnt/yourmountpoint
-
コンソールからマウント・コマンドをコピーして貼り付けてファイル・システムをマウントするか、次のように入力します:
sudo mount -o nosuid,resvport,sec=sys 10.x.x.x:/fs-export-path /mnt/yourmountpoint
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。-
fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。 yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。- エクスポートでAUTH_SYSのみを使用している場合、
sec
オプションはオプションです。エクスポートでKerberos認証を使用する場合は、sys
をkrb5
、krb5i
またはkrb5p
に置き換えます。ノート
NFSクライアントが複数の認証タイプを持つエクスポートを使用し、ファイル・システムがsec=<auth_type>
を指定せずにマウントされている場合、クライアントはエクスポートでサポートされている最も強力な認証タイプを自動的に選択する必要があります。
ヒント
IPアドレス、ホスト名、FQDNおよびエクスポート・パス情報は、ファイル・システムに関連付けられたマウント・ターゲットの「詳細」ページで確認できます。詳細は、マウント・ターゲットの詳細の取得を参照してください。注意
-o nosuid
オプションを省略すると、権限のないユーザーがルートに権限のエスカレートを許可されることがあります。nosuid
オプションは、マウントされたシステム内のset-user-identifierビットまたはset-group-identifierビットを無効にしますが、使用することはほとんどありません。ノート
「特権ソース・ポートが必要」エクスポート・オプションが使用されている場合、-o resvport
オプションは必須ですが、それ以外の場合はオプションです。これにより、マウントしているファイル・システムが特権ソース・ポート(1-1023)から接続されます。詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。 - ファイル・システムを表示します。
df -h
-
次のように入力して、ファイルをファイル・システムに書き込みます。
yourmountpoint
をローカル・マウント・ポイントのパスに置き換え、helloworld
をファイル名に置き換えます。sudo touch /mnt/yourmountpoint/helloworld
-
次を入力してファイルが表示されることを確認します。
yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。cd /mnt/yourmountpoint
ls
発生する可能性がある一般的な問題の詳細は、ファイル・システムのトラブルシューティングのマウント・コマンドの失敗を参照してください。ファイル・システムのサブディレクトリをマウントする場合は参照してください。
データベースのVMインスタンスは、バージョン7.4で実行されるOracle Linuxのコンピュート・インスタンスとは異なり、Oracle Linux 6.8上に構築されています。NFSユーティリティ・パッケージはDBインスタンスに事前にインストールされていますが、Open Network Computing Remote Procedure Call (ONC RPC)のrpcbindユーティリティはデフォルトで無効になっています。Oracle Linux 6.8にはsystemdがないため、DBインスタンスはOLコンピュート・インスタンスとは異なる方法で管理されます。Oracle DBインスタンスには、非データベース・ポートを除外し、マウント・ターゲットのトラフィックを許可するために更新する必要のあるiptablesルールのセットが付属しています。
-
DBシステムにSSHを実行します。
ssh -i <private_key_path> opc@<db_system_ip_address>
-
次のように入力してrpcbindサービスを起動します:
sudo service rpcbind start
-
chkconfigコマンドを使用して、システムの起動時にrpcbindサービスの起動を有効にします。
sudo chkconfig rpcbind on
-
マウント・ターゲットのIPアドレスを含めるようにiptablesのデフォルト構成を変更し、次を入力してトラフィックを許可します。
10.x.x.x
を、ファイル・システムのマウント・ターゲットに割り当てられたローカル・サブネット・アドレスに置き換えます。新しいiptablesエントリを保存します。sudo iptables -A INPUT -p tcp -s 10.x.x.x -j ACCEPT
sudo iptables -A OUTPUT -p tcp -s 10.x.x.x -j ACCEPT
sudo service iptables save
-
次のように入力し、
yourmountpoint
をファイル・システムへのアクセス元となるローカル・ディレクトリに置き換えて、マウント・ポイントを作成します。sudo mkdir -p /mnt/yourmountpoint
-
コンソールからマウント・コマンドをコピーして貼り付けてファイル・システムをマウントするか、次のように入力します:
sudo mount -t nfs -o nosuid,resvport,tcp,vers=3,sec=sys 10.x.x.x:/fs-export-path /mnt/yourmountpoint
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。-
fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。 yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。- エクスポートでAUTH_SYSのみを使用している場合、
sec
オプションはオプションです。エクスポートでKerberos認証を使用する場合は、sys
をkrb5
、krb5i
またはkrb5p
に置き換えます。ノート
NFSクライアントが複数の認証タイプを持つエクスポートを使用し、ファイル・システムがsec=<auth_type>
を指定せずにマウントされている場合、クライアントはエクスポートでサポートされている最も強力な認証タイプを自動的に選択する必要があります。
ヒント
IPアドレス、ホスト名、FQDNおよびエクスポート・パス情報は、ファイル・システムに関連付けられたマウント・ターゲットの「詳細」ページで確認できます。詳細は、マウント・ターゲットの詳細の取得を参照してください。注意
-o nosuid
オプションを省略すると、権限のないユーザーがルートに権限のエスカレートを許可されることがあります。nosuid
オプションは、マウントされたシステム内のset-user-identifierビットまたはset-group-identifierビットを無効にしますが、使用することはほとんどありません。ノート
「特権ソース・ポートが必要」エクスポート・オプションが使用されている場合、-o resvport
オプションは必須ですが、それ以外の場合はオプションです。これにより、マウントしているファイル・システムが特権ソース・ポート(1-1023)から接続されます。詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。
発生する可能性がある一般的な問題の詳細は、ファイル・システムのトラブルシューティングのマウント・コマンドの失敗を参照してください。
自動マウントでは、再起動された場合に、インスタンスにファイル・システムが自動的に再マウントされます。
- コマンド・ウィンドウを開きます。次に、前の項で説明したステップを使用して、ファイル・システムをマウントします。
- 次のコマンドを入力して、ファイル・システムのエントリ・ポイントを取得します:
sudo cat /etc/mtab | grep -i nfs
- ファイル・システムのエントリ・ポイントをコピーして、
/etc/fstab
ファイルを開きます:cd /etc
vi fstab
-
fstab
ファイルに次の行を追加します:<file_system_ip_address>:<file_system_path_name> <your_local_mount_point> nfs defaults,nofail,nosuid,resvport 0 0
注意
-o nosuid
オプションを省略すると、権限のないユーザーがルートに権限のエスカレートを許可されることがあります。nosuid
オプションは、マウントされたシステム内のset-user-identifierビットまたはset-group-identifierビットを無効にしますが、使用することはほとんどありません。重要
必ず、各エントリにnofail
オプションを追加してください。このオプションを選択すると、使用できないファイル・システムによりインスタンスの再起動プロセスが失敗しないようになります。ノート
「特権ソース・ポートが必要」エクスポート・オプションが使用されている場合、-o resvport
オプションは必須ですが、それ以外の場合はオプションです。これにより、マウントしているファイル・システムが特権ソース・ポート(1-1023)から接続されます。詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。 fstab
ファイルを保存します。
発生する可能性がある一般的な問題の詳細は、ファイル・システムのトラブルシューティングのマウント・コマンドの失敗を参照してください。
ファイル・システムのサブディレクトリのマウント
ファイル・システムに既存のディレクトリ構造がある場合は、任意のファイル・システムのサブディレクトリをマウントできます。サブディレクトリは、インスタンスのマウント・ポイントで有効なルート・ディレクトリとなり、兄弟ディレクトリは除外されます。
たとえば、「FileSystem1」に/FileSystem1
というエクスポート・パスと、次のようなディレクトリ構造があるとします:
ファイル・システムは、IPアドレスが10.0.0.16
である「MountTarget1」からエクスポートされます。
次のコマンドでは、directoryA
をインスタンス・マウント・ポイント/mnt/mymountpoint
にマウントします。
sudo mount -o nosuid,resvport 10.0.0.16:/FileSystem1/rootdirectory/directoryA /mnt/mymountpoint
directoryB
もFileB
もインスタンス・マウント・ポイントからアクセスできません。
兄弟ディレクトリへのアクセスを制限するためにサブディレクトリをマウントしても、ファイル・システムを保護するには十分ではありません。セキュリティ方法の詳細は、ファイル・ストレージ・セキュリティについてを参照してください。
- コマンド・ウィンドウを開きます。次に、コンソールからインストール・コマンドをコピーして貼り付けてNFSクライアントを取得するか、次を入力します:
sudo yum install nfs-utils
- コンソールからマウント・ポイント作成コマンドをコピーして貼り付けてマウント・ポイントを作成するか、次のように入力して
yourmountpoint
をファイル・システムへのアクセス元のローカル・ディレクトリに置き換えます。sudo mkdir -p /mnt/yourmountpoint
-
コンソールからマウント・コマンドをコピーして貼り付けてファイル・システムをマウントするか、次のように入力します:
sudo mount -o nosuid,resvport 10.x.x.x:/fs-export-path/directory-path /mnt/yourmountpoint
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。-
fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。 directory-path
を、ルート・ディレクトリからマウントするサブディレクトリへのパスに置き換えます。yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。
注意
-o nosuid
オプションを省略すると、権限のないユーザーがルートに権限のエスカレートを許可されることがあります。nosuid
オプションは、マウントされたシステム内のset-user-identifierビットまたはset-group-identifierビットを無効にしますが、使用することはほとんどありません。ノート
「特権ソース・ポートが必要」エクスポート・オプションが使用されている場合、-o resvport
オプションは必須ですが、それ以外の場合はオプションです。これにより、マウントしているファイル・システムが特権ソース・ポート(1-1023)から接続されます。詳細は、NFSエクスポートおよびエクスポート・オプションの作業を参照してください。 - ファイル・システムを表示します。
df -h
-
次のように入力して、ファイルをファイル・システムに書き込みます。
yourmountpoint
をローカル・マウント・ポイントのパスに置き換え、helloworld
をファイル名に置き換えます。sudo touch /mnt/yourmountpoint/helloworld
-
次を入力してファイルが表示されることを確認します。
yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。cd /mnt/yourmountpoint
ls
- インスタンス上でターミナル・ウィンドウを開きます。
-
次のコマンドを使って、ファイル・システムをアンマウントします:
sudo umount /mnt/yourmountpoint
yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。
ファイル・システムへの書込み
ファイル・システムが作成されたとき、そのルート・ディレクトリはrootユーザーによって所有されます。LinuxまたはCentOSプラットフォーム・イメージを使用するインスタンスから接続する場合、デフォルト・ユーザーはopcです。Ubuntuプラットフォーム・イメージを使用するインスタンスから接続する場合、デフォルト・ユーザーはubuntuです。これらのデフォルト・ユーザーはrootユーザーではないため、これらのユーザーを使用すると、最初はファイルまたはディレクトリを新しいファイル・システムに書き込むことができません。セキュリティ要件によって異なりますが、続行する方法がいくつかあります:
- rootユーザーとして接続します。次に、新しいファイル・システムにファイルまたはディレクトリを作成します。
-
rootユーザーとして接続します。次に、他のユーザー(opcやubuntuなど)がファイル・システムに書き込めるように、ファイル・システムのルート・ディレクトリの所有権または権限を変更します。
-
rootユーザーとして接続します。次に、他のユーザーがサブディレクトリに書き込むことができるように所有権または権限を設定して、サブディレクトリを作成します。
-
デフォルト・ユーザーとして接続します。次に、
sudo
コマンドを使用して、ファイルまたはディレクトリに書き込むか、ファイルまたはディレクトリの権限または所有権を変更します。sudo
コマンドは、通常のユーザーにrootユーザー権限を付与します。次に、sudo
コマンドを使用してファイル・システムに書き込む例を示します:sudo touch /mnt/yourmountpoint/helloworld
インスタンスへのアクセスの詳細は、インスタンスへの接続を参照してください。
ファイル・システムのアンマウント
- ターミナル・ウィンドウを開きます。
-
次のコマンドを入力して、ファイル・システムをアンマウントします:
sudo umount 10.x.x.x:/fs-export-path /mnt/yourmountpoint
10.x.x.x:
を、マウント・ターゲットに割り当てられているローカル・サブネットIPアドレスに置き換えます。-
fs-export-path
を、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パスに置き換えます。 yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。
ノート
アンマウントする際に、場合によっては-f
フラグをumount
コマンドで使用する必要があります。例:sudo umount -f 10.x.x.x:/fs-export-path /mnt/yourmountpoint