このコマンドを使用すると、指定したファイルシステムをローカルまたはリモートで、指定したマウントポイントにマウントできます。詳細は、mount(1M) のマニュアルページを参照してください。引数を指定しないで mount を使用すると、現在コンピュータにマウントされているファイルシステムのリストが表示されます。
Oracle Solaris 標準インストールに含まれるファイルシステムタイプごとに、固有の mount コマンド用オプションが用意されています。NFS ファイルシステムオプションについては、mount_nfs(1M) のマニュアルページを参照してください。UFS ファイルシステムオプションについては、mount_ufs(1M) のマニュアルページを参照してください。
標準 server:/pathname 構文の代わりに NFS URL を使用することで、NFS サーバーからマウントするパス名を選択できます。詳細は、NFS URL を使用して NFS ファイルシステムをマウントする方法を参照してください。
注意 - mount コマンドは無効なオプションについて警告しません。解釈できないオプションがあると無視されるだけです。予想外の結果が生じるのを避けるために、使用するオプションはすべて確認してください。 |
このセクションでは、NFS ファイルシステムマウント時に –o フラグのあとに指定できるいくつかのオプションについて説明します。オプションの完全なリストについては、mount_nfs(1M) のマニュアルページを参照してください。
これらのオプションは、マウントが失敗した場合の再試行動作を選択するために使用できます。–bg オプションの場合はバックグラウンドで、–fg オプションでは、フォアグラウンドでマウント試行が実行されます。デフォルトは –fg で、マウントが完了するまで後続の処理を抑止するため、利用可能である必要があるファイルシステムにとって最適な選択です。–bg は、マウント要求の完了を待機中にクライアントはほかの処理を実行できるため、クリティカルでないファイルシステムに適した選択です。
このオプションは、大きなシーケンシャルデータ転送のパフォーマンスを改善します。データは直接ユーザーバッファーにコピーされます。クライアント上のカーネル内ではキャッシュへの書き込みは行われません。このオプションはデフォルトでオフになっています (noforcedirectio)。
アプリケーションがクライアント上の単一ファイルへの並行書き込みおよび並行読み取り/書き込みを発行することを許可するには、–forcedirectio マウントオプションを使用します。このオプションによって、マウントされたファイルシステム内のすべてのファイルでこの機能が有効になります。この機能をクライアント上の単一ファイルで有効にするするために、directio() インタフェースを使用することもできます。この機能を有効にしないかぎり、ファイルへの書き込みは直列化されます。また、並行書き込みや並行読み取り/書き込みが実行されると、そのファイルに関しては、POSIX のセマンティクスはサポートされなくなります。
このオプションの使用例については、mount コマンドの使用を参照してください。
このオプションで、2G バイトより大きいファイルにアクセスできます。大きいファイルにアクセスできるかどうかはサーバーでのみ制御できるため、このオプションは NFS Version 3 マウントでサイレントに無視されます。デフォルトでは、UFS ファイルシステムはすべて –largefiles オプション付きでマウントされます。NFS Version 2 プロトコルを使用するマウントでの –largefiles オプションは、マウントがエラーで失敗します。
UFS マウント用のこのオプションによって、ファイルシステム上に大きなファイルが存在できないことが保証されます。大きなファイルの存在は NFS サーバー上でのみ制御できるため、NFS マウントを使用しているときに –nolargefiles 用のオプションは存在しません。このオプションを指定してファイルシステムを NFS マウントしようとすると、エラーが発生して拒否されます。
–nosuid オプションは、–nodevices オプションを –nosetuid オプションとともに指定することと同等です。–nodevices オプションが指定されている場合、マウントされたファイルシステム上のデバイス特殊ファイルを開くことができません。–nosetuid オプションが指定されている場合、ファイルシステム上に置かれたバイナリファイルの setuid ビットと setgid ビットは無視されます。プロセスは、バイナリファイルを実行するユーザーの特権で実行します。
–suid オプションは、–devices オプションを –setuid オプションと同時に指定することと同等です。–devices オプションが指定されている場合、マウントされたファイルシステムのデバイス特殊ファイルを開くことができます。–setuid オプションが指定されている場合、ファイルシステムに置かれたバイナリファイルの setuid ビットと setgid ビットは、カーネルが引き受けます。
いずれのオプションも指定されていない場合、デフォルトのオプションは –suid になります。これにより、–devices オプションを –setuid オプションと同時に指定するデフォルトの動作になります。
次の表で、–nosuid または –suid を –devices または –nodevices、および –setuid または –nosetuid と組み合わせた効果について説明します。オプションの各組み合わせでは、もっとも制限の高いオプションが動作を決定します。
|
–nosuid オプションを指定すると、信頼できないサーバーにアクセスする可能性のある NFS クライアントのセキュリティーを向上できます。このオプションでリモートファイルシステムをマウントすることで、信頼できないデバイスのインポートまたは信頼できない setuid バイナリファイルのインポートによって特権がエスカレーションする危険が少なくなります。これらのすべてのオプションは、すべての Oracle Solaris ファイルシステムで使用可能です。
このオプションによって、NFS サーバーに接続するときに公開ファイルハンドルが強制的に使用されます。NFS サーバーが公開ファイルハンドルをサポートしていれば、MOUNT プロトコルが使用されないため、マウント操作は短時間で行われます。また、MOUNT プロトコルを使用しないため、ファイアウォールを越えたマウントが可能です。
–rw オプションと –ro オプションは、ファイルシステムが読み書きまたは読み取り専用のどちらでマウントされるかを示します。デフォルトは読み書き可能で、これはリモートホームディレクトリやメールスプールディレクトリなどの、ユーザーによる変更が必要なファイルシステムに適しています。読み取り専用オプションは、ユーザーが変更してはいけないディレクトリに適しています。具体的には、マニュアルページの共有コピーなどです。
このオプションは、マウント時に使用される認証メカニズムを指定します。mode に使用可能な値は次のとおりです。
krb5、Kerberos Version 5 認証サービスの場合
krb5i、完全性付き Kerberos Version 5 の場合
krb5p、プライバシー付き Kerberos Version 5 の場合
none、認証なしの場合
dh、Diffie-Hellman (DH) 認証の場合
sys、UNIX 標準認証の場合
モードは、/etc/nfssec.conf ファイルにも定義されます。
–soft オプションでマウントされた NFS ファイルシステムは、サーバーが応答しない場合にエラーを返します。–hard オプションが指定されていると、サーバーが応答するまで続けて再試行が行われます。デフォルトは –hard です。ほとんどのファイルシステムには hard を使用します。ソフトマウントされたファイルシステムからの値を検査しないアプリケーションが多いので、アプリケーションでエラーが発生してファイルが破壊される恐れがあるためです。–アプリケーションが戻り値をチェックする場合でも、ルーティング問題やほかの状況によってアプリケーションを混乱させたりファイルが破損したりすることがあります。原則として、–soft は使用しないでください。–hard オプションを指定した場合にファイルシステムが使用できなくなると、そのファイルシステムを使用するアプリケーションはファイルシステムが復旧するまでハングアップする可能性があります。
次の例は別のシナリオを示しています。
NFS Version 2 または NFS Version 3 では、次のコマンドはどちらもサーバー bee から NFS ファイルシステムを読み取り専用でマウントします。
# mount -F nfs -r bee:/export/share/man /usr/man
# mount -F nfs -o ro bee:/export/share/man /usr/man
NFS Version 4 では、次のコマンド行が同じマウントを実現します。
# mount -F nfs -o vers=4 -r bee:/export/share/man /usr/man
NFS Version 2 または NFS Version 3 では、次のコマンドの –O オプションによって、強制的にマニュアルページがサーバー bee からローカルシステムにマウントされます (すでに /usr/man がマウントされている場合でも)。
# mount -F nfs -O bee:/export/share/man /usr/man
NFS Version 4 では、次のコマンドが同じマウントを実現します。
# mount -F nfs -o vers=4 -O bee:/export/share/man /usr/man
NFS Version 2 または NFS Version 3 では、次のコマンドがクライアントフェイルオーバーを使用します。
# mount -F nfs -r bee,wasp:/export/share/man /usr/man
NFS Version 4 では、次のコマンドがクライアントフェイルオーバーを使用します。
# mount -F nfs -o vers=4 -r bee,wasp:/export/share/man /usr/man
次の例は、NFS Version 2 または Version 3 で、NFS URL を mount コマンドで使用する方法を示しています。
# mount -F nfs nfs://bee//export/share/man /usr/man
次の例は、NFS Version 4 で、NFS URL を mount コマンドで使用する方法を示しています。
# mount -F nfs -o vers=4 nfs://bee//export/share/man /usr/man
次の例は、–forcedirectio マウントオプションを使用して、クライアントにファイルへの並行書き込みとファイルへの並行読み取り/書き込みを許可する方法を示しています。
# mount -F nfs -o forcedirectio bee:/home/somebody /mnt
この例では、サーバー bee からの NFS ファイルシステムがマウントされ、ディレクトリ /mnt にあるファイルごとに並行読み取り/書き込みが有効になります。並行読み取り/書き込みのサポートを有効にすると、次のことが発生します。
クライアントは、ファイルへの並列した書き込みをアプリケーションに許可します。
クライアントでのキャッシュが無効になります。その結果、読み取りと書き込みのデータはサーバー上に保持されます。つまり、クライアントは読み取られたデータまたは書き込まれたデータをキャッシュに書き込まないため、アプリケーションがキャッシュに書き込んでいないデータはサーバーから読み取られます。クライアントのオペレーティングシステムは、このデータのコピーを持ちません。通常、NFS クライアントは、アプリケーションが使用するカーネルにデータをキャッシュします。
クライアント側でキャッシュが無効になっているため、先読みと後書きプロセスが無効になります。先読みプロセスは、アプリケーションが次に要求する可能性のあるデータをカーネルが予測したときに、発生します。次に、カーネルはあらかじめデータを収集するプロセスを開始します。カーネルの目標は、アプリケーションがデータを要求する前にそのデータを準備しておくことです。
クライアントは、書き込みのスループットを向上する後書きプロセスを使用します。アプリケーションがデータをファイルに書き込むたびに、入出力操作をただちに開始する代わりに、データはメモリー内にキャッシュされます。のちに、データはディスクに書き込まれます。
後書きプロセスにより、データがより大きな領域に書き込まれたり、アプリケーションから非同期で書き込まれたりする可能性があります。通常、より大きな領域を使用するとスループットが向上します。非同期の書き込みにより、アプリケーション処理と入出力処理間でオーバーラップができるようになります。また、ストレージサブシステムが、より優れた入出力処理を行うことで入出力を最適化できるようにもなります。同期の書き込みは、最適化されていないストレージサブシステムでの入出力を強制的に処理します。
アプリケーションでキャッシュされていないデータのセマンティクスを処理する準備ができていない場合、著しくパフォーマンスが低下する可能性があります。マルチスレッド化されたアプリケーションは、この問題を回避します。
次の例は、mount コマンドを引数なしで使用して、クライアントにマウントされたファイルシステムを表示する方法を示しています。
% mount / on /dev/dsk/c0t3d0s0 read/write/setuid on Wed Apr 7 13:20:47 2004 /usr on /dev/dsk/c0t3d0s6 read/write/setuid on Wed Apr 7 13:20:47 20041995 /proc on /proc read/write/setuid on Wed Apr 7 13:20:47 2004 /dev/fd on fd read/write/setuid on Wed Apr 7 13:20:47 2004 /tmp on swap read/write on Wed Apr 7 13:20:51 2004 /opt on /dev/dsk/c0t3d0s5 setuid/read/write on Wed Apr 7 13:20:51 20041995 /home/kathys on bee:/export/home/bee7/kathys intr/noquota/nosuid/remote on Wed Apr 24 13:22:13 2004