このコマンドを使用すると、指定したファイルシステムをローカルまたはリモートで、指定したマウントポイントにマウントできます。詳細は、mount(1M) のマニュアルページを参照してください。引数を指定しないで mount を使用すると、現在コンピュータにマウントされているファイルシステムのリストが表示されます。
Solaris の標準インストールには、さまざまな種類のファイルシステムが含まれています。ファイルシステムの種類ごとにマニュアルページがあり、その種類に対して mount を実行するときに使用可能なオプションのリストが示されています。NFS ファイルシステムについては、mount_nfs(1M) のマニュアルページを参照してください。UFS ファイルシステムについては、mount_ufs(1M) のマニュアルページを参照してください。
Solaris 7 で、server:/pathname という標準の構文の代わりに NFS URL を使用して NFS サーバー上のマウントするパス名を指定することが可能になりました。詳細は、「NFS URL を使用して NFS ファイルシステムをマウントする方法」を参照してください。
Solaris 2.6 以降の mount コマンドでは、無効なオプションがあっても警告されません。解釈できないオプションがあると無視されるだけです。予想外の結果が生じるのを避けるために、使用するオプションはすべて確認してください。
NFS ファイルシステムのマウント時に -o フラグのあとに指定できるオプションの一部を、次に示します。オプションの完全な一覧については、mount_nfs(1M) のマニュアルページを参照してください。
これらのオプションは、マウントが失敗したときの再試行の方法を選択するオプションです。bg オプションの場合はバックグラウンドで、fg オプションの場合はフォアグラウンドでマウントが試みられます。デフォルトは fg です。常に使用可能にしておく必要のあるファイルシステムに対しては fg が適しています。fg オプションを指定すると、マウントが完了するまで、次の処理は行われません。bg は、マウント要求が完了しなくてもクライアントはほかの処理を実行できるため、クリティカルでないファイルシステムの処理に適しています。
このオプションは、大規模の連続したデータ転送のパフォーマンスを向上させます。データは直接ユーザーバッファーにコピーされます。クライアント上のカーネル内ではキャッシュへの書き込みは行われません。この機能はデフォルトではオフです。
これまで、書き込み要求はすべて、NFS クライアントと NFS サーバーの両方で直列化されていました。今回の NFS クライアントの変更により、単一ファイルに対する並行書き込み、並行読み取り/書き込みを、アプリケーションから実行できるようになりました。この機能をクライアント上で有効にするには、mount コマンドオプション forcedirectio を使用します。このオプションを使用した場合、マウントされたファイルシステム内のすべてのファイルに対して、この機能が有効になります。この機能をクライアントの単一のファイルに対してのみ有効にするには、directio() インタフェースを使用します。この機能を有効にしないかぎり、ファイルへの書き込みは直列化されます。また、並行書き込みや並行読み取り/書き込みが実行されると、そのファイルに関しては、POSIX のセマンティクスはサポートされなくなります。
このオプションの使用例については、「mount コマンドの使用」を参照してください。
このオプションを使用すると、Solaris 2.6 が稼働しているサーバー上に置かれた 2G バイトを超えるサイズのファイルにアクセスできるようになります。大規模ファイルにアクセスできるかどうかは、サーバーでしか制御できません。したがって、このオプションは NFS version 3 のマウントでは無視されます。デフォルトでは、Solaris 2.6 以降のリリースの UFS ファイルシステムはすべて largefiles オプション付きでマウントされます。NFS version 2 プロトコルを使用したマウントで largefiles オプションを指定すると、エラーが発生してマウントできません。
この UFS マウント用のオプションを指定すると、ファイルシステム上に大規模ファイルが存在できないことが保証されます。mount_ufs(1M) のマニュアルページを参照してください。大規模ファイルの存在は NFS サーバー上でのみ制御できるため、NFS マウントを使用している場合は、nolargefiles オプションを指定できません。このオプションを指定してファイルシステムを NFS マウントしようとすると、エラーが発生して拒否されます。
Solaris 10 以降のリリースでは、nosuid オプションは、nodevices オプションを nosetuid オプションと同時に指定することと同等です。nodevices オプションが指定されている場合、マウントされたファイルシステム上のデバイス特殊ファイルを開くことができません。nosetuid オプションが指定されている場合、ファイルシステム上に置かれたバイナリファイルの setuid ビットと setgid ビットは無視されます。プロセスは、バイナリファイルを実行するユーザーの特権で実行します。
suid オプションは、devices オプションを setuid オプションと同時に指定することと同等です。devices オプションが指定されている場合、マウントされたファイルシステムのデバイス特殊ファイルを開くことができます。setuid オプションが指定されている場合、ファイルシステムに置かれたバイナリファイルの setuid ビットと setgid ビットは、カーネルが引き受けます。
いずれのオプションも指定されていない場合、デフォルトのオプションは suid になります。これにより、devices オプションを setuid オプションと同時に指定するデフォルトの動作になります。
次の表は、nosuid または suid を devices または nodevices、および setuid または nosetuid と組み合わせることによる結果を示しています。オプションの各組み合わせでは、もっとも制限の高いオプションが動作を決定します。
オプションの組み合わせによる動作 |
オプション |
オプション |
オプション |
---|---|---|---|
nosetuid と nodevices の同時指定と同等 |
nosuid |
nosetuid |
nodevices |
nosetuid と nodevices の同時指定と同等 |
nosuid |
nosetuid |
devices |
nosetuid と nodevices の同時指定と同等 |
nosuid |
setuid |
nodevices |
nosetuid と nodevices の同時指定と同等 |
nosuid |
setuid |
devices |
nosetuid と nodevices の同時指定と同等 |
suid |
nosetuid |
nodevices |
nosetuid と devices の同時指定と同等 |
suid |
nosetuid |
devices |
setuid と nodevices の同時指定と同等 |
suid |
setuid |
nodevices |
setuid と devices の同時指定と同等 |
suid |
setuid |
devices |
nosuid オプションを指定すると、信頼できないサーバーにアクセスする可能性のある NFS クライアントのセキュリティーを向上できます。このオプションを使用してリモートファイルシステムのマウントを行うと、信頼できないデバイスのインポートまたは信頼できない setuid バイナリファイルのインポートによって特権が拡大する可能性を減らすことができます。これらのオプションはすべて、Solaris ファイルシステム全体で使用可能です。
このオプションを指定すると、NFS サーバーにアクセスするときに必ず公開ファイルハンドルを使用するようになります。NFS サーバーが公開ファイルハンドルをサポートしていれば、MOUNT プロトコルが使用されないため、マウント操作は短時間で行われます。また、MOUNT プロトコルを使用しないため、ファイアウォールを越えたマウントが可能です。
-rw オプションと -ro オプションは、ファイルシステムが読み書き可能と読み取り専用のどちらでマウントされるかを示します。デフォルトは読み書き可能で、これはリモートホームディレクトリやメールスプールディレクトリなどの、ユーザーによる変更が必要なファイルシステムに適しています。読み取り専用オプションは、ユーザーが変更してはいけないディレクトリに適しています。具体的には、マニュアルページの共有コピーなどです。
このオプションは、マウント時に使用される認証メカニズムを指定します。mode の値は、次のいずれかです。
Kerberos version 5 認証サービス用の krb5 を使用する。
整合性を指定する Kerberos version 5 用の krb5i を使用する。
機密性を指定する Kerberos version 5 用の krb5p を使用する。
認証なしの none を使用する。
Diffie-Hellman (DH) 認証用の dh を使用する。
UNIX 標準認証用の sys を使用する。
モードは、/etc/nfssec.conf ファイルにも定義されます。
soft オプションを指定してマウントされた NFS ファイルシステムは、サーバーが応答しなくなるとエラーを返します。hard オプションが指定されていると、サーバーが応答するまで続けて再試行が行われます。デフォルトは hard です。ほとんどのファイルシステムには hard を使用します。ソフトマウントされたファイルシステムからの値を検査しないアプリケーションが多いので、アプリケーションでエラーが発生してファイルが破壊される恐れがあるためです。アプリケーションが戻り値を確認する場合は、soft が使用されているとルーティングの問題などによってアプリケーションが正しく判断できず、ファイルが破壊されることがあります。原則として、soft は使用しないでください。hard オプションを指定した場合にファイルシステムが使用できなくなると、そのファイルシステムを使用するアプリケーションはファイルシステムが復旧するまでハングアップする可能性があります。
次の例を参照してください。
NFS version 2 または 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 または version 3 では、次のコマンドは -O オプションを使用しているため、すでに /usr/man がマウントされている場合でも、強制的にマニュアルページをサーバー bee からローカルシステムにマウントします。次を参照してください。
# 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 または 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 プロトコルは同じバージョンでなければなりません。コマンド行から mount を実行するときは、version 2 と version 3 のサーバーを同時に使用しないでください。autofs を実行するときは、両サーバーを同時に使用することができます。autofs により、version 2 または version 3 のサーバーの最適な組み合わせが自動的に選択されます。
次に、NFS version 2 または version 3 において、mount コマンドに NFS URL を使用する例を示します。
# mount -F nfs nfs://bee//export/share/man /usr/man |
次に、NFS version 4 において、mount コマンドに NFS URL を使用する例を示します。
# 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 クライアントは、アプリケーションが使用するカーネルにデータをキャッシュします。
クライアント側でキャッシュが無効になっているため、先読みと後書きプロセスが無効になります。先読みプロセスは、アプリケーションが次に要求する可能性のあるデータをカーネルが予測したときに、発生します。次に、カーネルはあらかじめデータを収集するプロセスを開始します。カーネルの目標は、アプリケーションがデータを要求する前にそのデータを準備しておくことです。
クライアントは、書き込みのスループットを向上する後書きプロセスを使用します。アプリケーションがデータをファイルに書き込むたびに、入出力操作をただちに開始する代わりに、データはメモリー内にキャッシュされます。のちに、データはディスクに書き込まれます。
後書きプロセスにより、データがより大きな領域に書き込まれたり、アプリケーションから非同期で書き込まれたりする可能性があります。通常、より大きな領域を使用するとスループットが向上します。非同期の書き込みにより、アプリケーション処理と入出力処理間でオーバーラップができるようになります。また、ストレージサブシステムが、より優れた入出力処理を行うことで入出力を最適化できるようになります。同期の書き込みは、最適化されていないストレージサブシステムでの入出力を強制的に処理します。
アプリケーションでキャッシュされていないデータのセマンティクスを処理する準備ができていない場合、著しくパフォーマンスが低下する可能性があります。マルチスレッド化されたアプリケーションは、この問題を回避します。
並行書き込みのサポートが有効にされていない場合、すべての書き込み要求は直列化されます。要求が直列化されると、次のことが発生します。ある書き込み要求が進行中のとき、2 番目の書き込み要求は、最初の処理が完了するのを待ってから処理を続行する必要があります。
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 |