Solaris のシステム管理

キャッシュにマウントするファイルシステムの指定

指定したファイルシステム内のファイルにユーザーがローカルにアクセスできるように、キャッシュにマウントされるファイルシステムを指定します。実際には、各ファイルは、ユーザーがアクセスするまではキャッシュに書き込まれません。

キャッシュにマウントされるファイルシステムを指定するには、次の 3 つの方法があります。

mount を使用してキャッシュにマウントするファイルシステムを指定する方法

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

  2. マウントポイントを作成します。

    マウントポイントを作成すると、ユーザーはそのマウントポイントで指定されたファイルシステムにアクセスできます。マウントポイントはどこからでも作成できます。次の手順のように、マウントコマンドで使用する CacheFS オプションによって、作成するマウントポイントを、指定したキャッシュディレクトリ内のキャッシュに書き込むように決めます。

  3. mount コマンドを使用して、ファイルシステムをキャッシュにマウントします。

    # mount -F cachefs -o backfstype=fstype,cachedir=cache-directory[,options] 
    back-filesystem mount-point
    

    fstype

    nfs など、バックファイルシステムのタイプ

    cache-directory

    キャッシュがあるディレクトリ名。これは、「キャッシュを作成する方法」でキャッシュを作成するときの指定と同じ

    options

    ファイルシステムをキャッシュにマウントするときに追加できる他のマウントオプションを指定する。CacheFS マウントオプションの詳細は、mount_cachefs(1M) のマニュアルページを参照

    back-filesystem

    キャッシュにマウントするバックファイルシステムのマウントポイント。バックファイルシステムが NFS ファイルシステムであれば、merlin: /usr/openwin など、ファイルシステムのマウント元となるサーバーのホスト名と、キャッシュにマウントするファイルシステム名 (コロンで区切る) を指定しなければならない

    mount-point

    ファイルシステムのマウント先となるディレクトリ 

  4. 作成したキャッシュが実際にマウントされたかどうかを確認するには、次のように cachefsstat(1M) コマンドを使用します。

    # cachefsstat mount-point 
    

    たとえば、次のようになります。

    # cachefsstat /docs
    /docs
    	         cache hit rate:   100% (0 hits, 0 misses)
    	     consistency checks:      1 (1 pass, 0 fail)
    	               modifies:      0
    	     garbage collection:      0

    マウントポイントは、作成したキャッシュファイルシステムです。cachefsstat コマンドの詳細は、「CacheFS の統計情報」を参照してください。

    ファイルシステムがキャッシュにマウントされなかった場合は、次のようなエラーメッセージが表示されます。

    # cachefsstat mount-point
    cachefsstat: mount-point: not a cachefs mountpoint

例 - mount を使用してキャッシュにマウントするファイルシステムを指定する

次の例では、マウントポイント /docs を作成し、NFS ファイルシステム merlin:/docs を、キャッシュされたファイルシステム /docs としてキャッシュ /local/mycache にマウントします。

# mkdir /docs
# mount -F cachefs -o backfstype=nfs,cachedir=/local/mycache 
merlin:/docs /docs

次の例では、CD-ROM (HSFS ファイルシステム) をキャッシュされたファイルシステム /docs として使用可能にします。CD-ROM には書き込めないので、引数 ro を指定してキャッシュされたファイルシステムを読み込み専用にします。CD-ROM は挿入時にボリューム管理によって自動的にマウントされるので、引数 backpath を指定しなければなりません。マウント場所は /cdrom ディレクトリにあり、CD-ROM 名によって決まります。マウントする特殊デバイスは、引数 backpath の値と同じです。

# mount -F cachefs -o backfstype=hsfs,cachedir=/local/mycache,ro,
backpath=/cdrom/cdrom_name /cdrom/cdrom_name /docs

次の例では、demandconst オプションを使用して、NFS キャッシュファイルシステム /docs の整合性チェックを指定します。/docs のバックファイルシステムは merlin:/docs です。詳細は、「キャッシュされたファイルシステムとバックファイルシステムとの整合性チェック」を参照してください。

# mount -F cachefs -o backfstype=nfs,cachedir=/local/mycache,
demandconst merlin:/docs /docs

/etc/vfstab ファイルを編集してファイルシステムをキャッシュにマウントする方法

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

  2. エディタを使用して、マウントするファイルシステムを /etc/vfstab ファイル内で指定します。

    #device     device             mount  FS    fsck  mount   mount
    #to mount         to fsck            point  type  pass  at boot options
    #
    /dev/dsk/devicename /dev/rdsk/devicename /mount-point cachefs  2    yes  -

    最終行は新しいエントリを表します。

  3. 次のように mount コマンドを使用してキャッシュされたファイルシステムをマウントするか、リブートします。

    # mount /mount-point
    

例 - /etc/vfstab ファイルを編集してキャッシュにファイルシステムをマウントする

次の例は、キャッシュファイルシステム用の /etc/vfstab エントリを示します。

#device     device             mount  FS    fsck  mount   mount
#to mount         to fsck            point  type  pass  at boot options
#
/dev/dsk/c0t1d0s0 /dev/rdsk/c0t1d0s0 /usr/local cachefs    2       yes     -

次のように入力して、/usr/local ディレクトリをキャッシュディレクトリにマウントします。

# mount /usr/local

AutoFS を使用してファイルシステムをキャッシュにマウントする方法

自動マウントマップ内で -fstype=cachefs マウントオプションを指定して、AutoFS によりキャッシュにファイルシステムをマウントします。CacheFS のマウントオプション (backfstypecachedir など) も、自動マウントマップ内で指定します。自動マウントマップの詳細は、automount(1M) のマニュアルページや、『NFS の管理』も参照してください。

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

  2. エディタを使用して、次の 1 行を auto_direct マップに追加します。

    /mount-point -fstype=cachefs,cachedir=/directory,backfstype=nfs server:/file-system
    
  3. エディタを使用して、次の 1 行を auto_master マップに追加します。

    /-

    /- エントリは、auto_direct マップをチェックするポインタです。

  4. システムをリブートします。

  5. エントリが正しく作成されたか確認するには、次のようにキャッシュにマウントしたファイルシステムにカレントディレクトリを変更して内容を表示します。

    # cd filesystem
    # ls filesystem
    

AutoFS とマップを編集する方法の詳細は、『NFS の管理』の AutoFS に関する章を参照してください。

例 - AutoFS を使用してファイルシステムをキャッシュにマウントする

次の auto_master エントリは、キャッシュファイルシステムを /docs ディレクトリに自動的にマウントします。

/docs	 -fstype=cachefs,cachedir=/local/mycache,backfstype=nfs merlin:/docs