Solaris のシステム管理 (第 3 巻)

ファイルシステムの自動共有

NFS 環境でファイルシステムを共有することにより、サーバーのファイルシステムにアクセスできるようになります。共有するファイルシステムは、share コマンドや /etc/dfs/dfstab ファイルに指定します。

/etc/dfs/dfstab ファイルの項目は、NFS サーバーオペレーションを起動したときに自動的に共有されます。同じファイルシステムを定期的に共有する必要がある場合は、自動共有を設定しなければなりません。たとえばサーバーがホームディレクトリをサポートしている場合、ホームディレクトリを常に使用できるようにしておく必要があります。ファイルシステムの共有はほとんどが自動的に行われます。共有を手動で実行するのは、テストか障害追跡の場合だけです。

dfstab ファイルには、サーバーがクライアントと共有するすべてのファイルシステムが列挙されており、どのクライアントがファイルシステムをマウントできるかを制御します。dfstab を修正してファイルシステムの追加や削除を行う場合、または共有方法を修正する場合には、ファイルを vi などのテキストエディタで編集します。コンピュータが次に実行レベル 3 に入ったときに、システムが更新された dfstab を読み、ファイルシステムの共有方法が自動的に判断されます。

dfstab ファイルの各行は、share コマンドで構成されています。その share コマンドは、コマンド行プロンプトに入力してファイルシステムを共有するのと同じコマンドです。share コマンドは、/usr/sbin に保存されています。

表 30-1 ファイルシステム共有作業マップ

作業 

説明 

参照個所 

自動ファイルシステムの共有を確立する 

 サーバーのリブート時、ファイルシステムが自動的に共有されるようにサーバーを設定する手順「ファイルシステム自動共有を設定する方法」

WebNFS を有効にする 

 ユーザーが WebNFS を使用してファイルにアクセスできるようにサーバーを設定する手順「WebNFS アクセスを有効にする方法」

NFS サーバーログを有効にする 

 NFS ログが選択したファイルシステム上で動作するようにサーバーを設定する手順「NFS サーバーログを有効にする方法」

ファイルシステム自動共有を設定する方法

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

  2. 共有する対象の各ファイルシステムに関してエントリを追加します。

    /etc/dfs/dfstab を編集し、自動的に共有したい各ファイルシステムのファイルにエントリを 1 つ追加します。各エントリは、ファイルの 1 行に納める必要があり、次のような構文を使用します。


    share [-F nfs] [-o specific-options] [-d description] pathname

    すべてのオプションを記載したリストについては、share_nfs(1M) のマニュアルページを参照してください。

  3. NFS サービスがサーバーで動作していることを確認します。

    share コマンド、または share コマンドセットを初めて実行する場合は、NFS デーモンが動作していないことがあります。次のコマンドでデーモンを終了し、再起動してください。


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

    これで NFS サービスがサーバーで実行されます。ブート時にサーバーが実行レベル3になったときには、自動的に再起動されます。

次の手順

次の手順は、サーバー上で共有化したファイルシステムにクライアントがアクセスできるよう autofs マップを設定する手順です。「autofs 管理作業の概要」を参照してください。

WebNFS アクセスを有効にする方法

リリース 2.6 から採用した機能で、デフォルトでは、NFS のマウントが利用可能なファイルシステムはすべて、WebNFS アクセスも自動的に利用できます。この手順が必要とされるのは、NFS のマウントがまだ許可されていないサーバー上で、NFS の URL を短くするのに有効な公共ファイルハンドルのリセットが必要とされる場合、または -index オプションが必要な場合です。

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

  2. WebNFS サービスを使用して、共有する各ファイルシステムのエントリを追加します。

    /etc/dfs/dfstab を編集し、-public オプションを使用して各ファイルシステムについて、エントリを 1 つ追加します。次に示す例の -index タグはオプションです。


    share -F nfs -o ro,public,index=index.html /export/ftp

    すべてのオプションを記載したリストについては、share_nfs(1M) のマニュアルページを参照してください。

  3. NFS サービスがサーバー上で動作していることを確認します。

    share コマンドまたは share コマンドのセットを初めて実行する場合、NFS デーモンが動作していないことがあります。その場合、次のコマンドでデーモンを終了し、デーモンを再起動してください。


    # /etc/init.d/nfs.server stop
    # /etc/init.d/nfs.server start
    
  4. ファイルシステムを共有します。

    エントリを /etc/dfs/dfstab に追加したあと、システムをリブートするか、shareall コマンドを使用して、ファイルシステムを共有可能にできます。NFS デーモンが手順 2 で再起動されている場合、このコマンドはスクリプトにより実行されているため、実行する必要はありません。


    # shareall
    
  5. 情報が正しいことを確認します。

    share コマンドを実行し、適切なオプションが表示されていることを確認します。


    # share
    -        /export/share/man   ro   ""
    -        /usr/src     rw=eng   ""
    -        /export/ftp    ro,public,index=index.html  ""

NFS サーバーログを有効にする方法

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

  2. ファイルシステム構成の設定を変更します (省略可)。

    /etc/nfs/nfslog.conf で、global タグに関連するデータを変更してすべてのファイルシステムについてデフォルトの設定を編集するか、このファイルシステムに新しいタグを追加することができます。これらの変更が必要でない場合には、このファイルを変更する必要はありません。/etc/nfs/nfslog.conf の形式については、nfslog.conf(1) のマニュアルページで説明しています。

  3. NFS サーバーログを使用して、共有する各ファイルシステムについてエントリを追加します。

    /etc/dfs/dfstab を編集し、NFS サーバー記録を有効にしたいファイルシステムについてエントリを 1 つ追加します。log=tag オプションと共に使用するタグは、/etc/nfs/nfslog.conf にも記述する必要があります。次の例では、global タグ内のデフォルト設定を使用しています。


    share -F nfs -o ro,log=global /export/ftp

    すべてのオプションを記載したリストについては、share_nfs(1M) のマニュアルページを参照してください。

  4. NFS サービスがサーバー上で動作していることを確認します。

    share コマンドまたは share コマンドセットを初めて実行する場合、NFS デーモンが動作していないことがあります。その場合、次のコマンドでデーモンを終了し、デーモンを再起動してください。


    # /etc/init.d/nfs.server stop
    # /etc/init.d/nfs.server start
    
  5. ファイルシステムを共有します。

    エントリを /etc/dfs/dfstab に追加したあと、システムをリブートするか、shareall コマンドを使用して、ファイルシステムを共有可能にできます。NFS デーモンがすでに再起動されている場合、このコマンドはスクリプトにより実行されているため、実行する必要はありません。


    # shareall
    
  6. 情報が正しいことを確認します。

    share コマンドを実行し、適切なオプションが表示されていることを確認します。


    # share
    -        /export/share/man   ro   ""
    -        /usr/src     rw=eng   ""
    -        /export/ftp    ro,log=global  ""
  7. NFS ログデーモン nfslogd がすでに実行されていなければ、起動します。

    nfs.server スクリプトを使用して NFS デーモンの再起動をすると、nfslog.conf ファイルが存在している場合、デーモンが起動されます。それ以外の場合には、サーバーのリブート時にコマンドが自動的に再起動されるように、一度手動でコマンドを実行してファイルを作成する必要があります。


    # /usr/lib/nfs/nfslogd