NFS の管理

NFS サービスの設定

この節では、NFS サービスを起動または使用するために必要なタスクについて説明します。

NFS サービスを起動する方法

    リブートせずにデーモンを起動するには、スーパーユーザとしてログインして次のコマンドを入力します。


# /etc/init.d/nfs.server start

/etc/dfs/dfstab の中にエントリがあれば、これによってデーモンが起動します。

NFS サービスを停止する方法

    リブートせずにデーモンを停止するには、スーパーユーザとしてログインして次のコマンドを入力します。


# /etc/init.d/nfs.server stop

NFS サーバ上の大型ファイルを無効にする方法

  1. ファイルシステムに大型ファイルが存在しないことを確認します。

    大型ファイルを検索するコマンドの例を示します。


    # cd /export/home1
    # find . -xdev -size +2000000 -exec ls -l {} ¥;
    
    このファイルシステムに大型ファイルが存在する場合は、削除するか別のファイルシステムに移動しなければなりません。

  2. ファイルシステムをアンマウントします。


    # umount /export/home1
    
  3. ファイルシステムが -largefiles を使ったマウントされていた場合は、ファイルシステムの状態をリセットします。

    fsck を使うと、大型ファイルが存在しないファイルシステムの状態をリセットできます。


    # fsck /export/home1
    
  4. -nolargefiles を使ってファイルシステムをマウントします。


    # mount -F ufs -o nolargefiles /export/home1
    

    これはコマンド行からも実行できますが、このオプションを何度も使う場合には次のようなエントリを /etc/vfstab ファイルに追加しておきます。


    /dev/dsk/c0t3d0s1 /dev/rdsk/c0t3d0s1 /export/home1  ufs     2       yes     nolargefiles

    注 -

    今までの Solaris 環境では、大型ファイルは扱えません。クライアントが大型ファイルにアクセスする必要があるときは、NFS サーバのクライアントで実行されている Solaris のバージョンが 2.6 以上であることを確認してください。


クライアント側障害時回避機能の使用方法

    NFS クライアントで、-ro オプションを使ってファイルシステムをマウントします。

これは、コマンド行からも、オートマウンタを使っても、または /etc/vfstab ファイルに次のようなエントリを追加することによっても実現できます。


bee,wasp:/export/share/local - /usr/local nfs - no -o ro

この構文は古いバージョンのオートマウンタでも受け入れられていましたが、ファイルシステムはマウントされても障害時回避機能は使用できなかったため、サーバが選択されるだけでした。


注 -

異なるバージョンの NFS プロトコルを実行しているサーバを、コマンド行や vfstab のエントリに混在させないでください。サポートしているプロトコルが NFS V2 のサーバと V3 のサーバとを混在できるのは、autofs を使用するときだけです。この場合、バージョン 2 かバージョン 3 のサーバのうち、多い方が使われます。


1 つのクライアントに対するマウントアクセスを無効にする方法

  1. /etc/dfs/dfstab ファイルを編集します。

    1 つめの例では、eng ネットグループ内のクライアントのうち rose というホスト以外すべてに対してマウントアクセスが許可されます。2 つめの例では、eng.sun.com DNS ドメイン内のクライアントのうち rose 以外すべてに対してマウントアクセスが許可されます。


    share -F nfs -o ro=-rose:eng /export/share/man
    share -F nfs -o ro=-rose:.eng.sun.com /export/share/man

    アクセスリストについての詳細は、share コマンドを使ってアクセスリストを設定する」 を参照してください。

  2. shareall コマンドを実行します。

    /etc/dfs/dfstab への変更は、このファイルシステムがもう 1 度共有されるかサーバがリブートされるまでは NFS サーバに反映されません。


    # shareall

ファイアウォールを越えて NFS ファイルシステムをマウントする方法

  1. スーパーユーザになります。

  2. 手動でファイルシステムをマウントします。たとえば、次のようなコマンドを入力します 。


    # mount -F nfs -o public bee:/export/share/local /mnt
    

    この例では、/export/share/local というファイルシステムは、公共ファイルハンドルを使ってローカルクライアントにマウントしています。標準のパス名の代わりに、NFS URL を使用することができます。ただし bee サーバで公共ファイルハンドルがサポートされていないと、マウント操作は失敗します。


    注 -

    この手順は、NFS サーバ上のファイルシステムが public オプションを使用して共有されていることと、クライアントとサーバの間のすべてのファイアウォールでポート 2049 による TCP 接続が可能であることが前提です。Solaris 2.6 からは、共有されているファイルシステムはすべて公共ファイルハンドルによるアクセスが可能です。


NFS URL を使用して NFS ファイルシステムをマウントする方法

  1. スーパーユーザになります。

  2. 手動でファイルシステムをマウントします。たとえば、次のようなコマンドを入力します 。


    # mount -F nfs nfs://bee:3000/export/share/local /mnt
    

    この例では、bee というサーバの /export/share/local というファイルシステムが、NFS ポート番号 3000 を使用してマウントされます。ポート番号は指定しなくてもかまいません。その場合、デフォルトの NFS ポート番号である 2049 が使用されます。NFS URL には public オプションを指定できます。public オプションを指定しない場合、サーバが公共ファイルハンドルをサポートしていなければ、MOUNT プロトコルが使用されます。public オプションを指定すると、必ず公共ファイルハンドルを使用するように指定され、公共ファイルハンドルがサポートされていないとマウントは失敗します。