Solaris のシステム管理 (基本編)

CacheFS ファイルシステムの作成とマウント (作業マップ)

次の表の手順を使用して、CacheFS ファイルシステムを作成およびマウントしてください。

作業 

説明 

参照先 

1. キャッシュに書き込むファイルシステムを共有する  

キャッシュに書き込むファイルシステムが共有されていることを確認する 

share(1M) のマニュアルページ

2. キャッシュを作成する 

cfsadmin コマンドを使用してキャッシュを作成する

「キャッシュを作成する方法」

3. ファイルシステムをキャッシュにマウントする 

次のいずれかの方法を使用して、ファイルシステムをキャッシュにマウントする 

 

 

mount コマンドで、CacheFS ファイルシステムをマウントする

「CacheFS ファイルシステムのマウント方法 (mount)」

 

/etc/vfstab ファイルを編集して、CacheFS ファイルシステムをマウントする

「CacheFS ファイルシステムのマウント方法 (/etc/vfstab) 」

 

AutoFS を使用して、キャッシュされたファイルシステムをマウントする 

「CacheFS ファイルシステムのマウント方法 (AutoFS)」

キャッシュを作成する方法

  1. クライアントシステムでスーパーユーザーになります。

  2. キャッシュを作成します。


    # cfsadmin -c /cache-directory
    

    cache-directory は、キャッシュがあるディレクトリの名前を示します。

    詳細は、cfsadmin(1M) のマニュアルページを参照してください。


    注 -

    キャッシュを作成し終わったら、キャッシュディレクトリ内で処理を実行しないでください。何か実行すると、CacheFS ソフトウェア内で矛盾が生じる可能性があります。


例 - キャッシュを作成する

次の例は、デフォルトのキャッシュパラメータ値を使用して、/local/mycache ディレクトリ内にキャッシュを作成する方法を示しています。


# mkdir /local
# cfsadmin -c /local/mycache

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

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

次の表に、CacheFS ファイルシステムをマウントする 3 つの方法を示します。

CacheFS ファイルシステムのマウント方法 

CacheFS マウント方法の使用頻度 

mount コマンドを使用する方法

同じファイルにアクセスするには、システムをリブートするたびに mount コマンドを使用する

/etc/vfstab ファイルを編集する方法

一度だけですむ。/etc/vfstab ファイルの内容は、システムをリブートした後も変更されずに残る

AutoFS を使用する方法 

一度だけですむ。AutoFS のマップは、システムをリブートした後も変更されずに残る 

いずれかの方法を選択してファイルシステムをマウントしてください。

共有可能なファイルシステムしかマウントできません。ファイルシステムの共有については、share(1M) のマニュアルページを参照してください。


注 -

CacheFS ファイルシステムでは、ルート (/) と /usr のファイルシステムをキャッシュに書き込むことはできません。


CacheFS ファイルシステムのマウント方法 (mount)

  1. クライアントシステムでスーパーユーザーになります。

  2. 必要に応じて、マウントポイントを作成します。


    # mkdir /mount-point
    

    マウントポイントはどこからでも作成できますが、UFS ファイルシステムでなければなりません。次の手順のように、mount コマンドで CacheFS オプションを使用すると、作成するマウントポイントが指定したキャッシュディレクトリ内のキャッシュに書き込まれるように指定できます。

  3. ファイルシステムをキャッシュにマウントします。


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

    fstype

    バックファイルシステムのファイルシステムタイプ (NFS または HSFS)

    /cache-directory

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

    options

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

    /back-filesystem

    キャッシュにマウントするバックファイルシステムのマウントポイント。バックファイルシステムが NFS ファイルシステムである場合は、ファイルシステムのマウント元となるサーバーのホスト名と、キャッシュにマウントするファイルシステム名 (コロンで区切る) を指定する必要がある (たとえば、merlin: data/abc)

    /mount-point

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

  4. 作成したキャッシュが実際にマウントされたかどうかを確認します。


    # cachefsstat /mount-point 
    

    /mount-point は作成した CacheFS ファイルシステムです。

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


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

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


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

    cachefsstat コマンドの詳細は、「CacheFS の統計情報の収集」を参照してください。

例 - CacheFS ファイルシステムをマウントする (mount)

次の例は、NFS ファイルシステム merlin:/docs/docs という CacheFS ファイルシステムとして、/local/mycache というキャッシュにマウントする方法を示しています。


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

次の例は、Solaris 9 SPARC CD (HSFS ファイルシステム) を /cfssrc という CacheFS ファイルシステムとして使用できるようにする方法を示しています。CD には書き込めないので、引数 ro を指定して CacheFS ファイルシステムを読み取り専用にします。この例では、vold を実行していないものとします。


# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /sol9
# mount -F cachefs -o backfstype=hsfs,cachedir=/cfs/cache,ro,noconst,
backpath=/sol9 /dev/dsk/c0t6d0s0 /cfssrc
# ls /cfssrc
Copyright  Solaris_9

次の例は、vold を実行しながら、Solaris 9 SPARC CD を CacheFS ファイルシステムとしてマウントする方法を示しています。


# mount -F cachefs -o backfstype=hsfs,cachedir=/cfs/cache,ro,noconst,
backpath=/cdrom/sol_9_sparc/s0 /vol/dev/dsk/c0t2d0/sol_9_sparc/s0 /cfssrc

次の例は、vold を実行しながら、CD を CacheFS ファイルシステムとしてマウントする方法を示しています。


# mount -F cachefs -o backfstype=hsfs,cachedir=/cfs/cache,ro,noconst,
backpath=/cdrom/epson /vol/dev/dsk/c0t2d0/epson /drvrs

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


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

CacheFS ファイルシステムのマウント方法 (/etc/vfstab)

  1. クライアントシステムでスーパーユーザーになります。

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

    下の例を参照してください。

    /etc/vfstab ファイルの詳細は、/etc/vfstab ファイルのフィールドの説明」を参照してください。

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


    # mount /mount-point
    

    あるいはシステムをリブートします。

例 - CacheFS ファイルシステムをマウントする (/etc/vfstab)

次の例は、キャッシュされたディレクトリ /opt/cache にマウントされるリモートシステム starbug からの /data/abc ディレクトリ用の /etc/vfstab エントリを示しています。


 
#device           device             mount      FS     fsck  mount   mount
#to mount         to fsck            point      type   pass  at boot options
#
starbug:/data/abc /local/abc         /opt/cache cachefs 7    yes     local-access,bg,
nosuid,demandconst,backfstype=nfs,cachedir=/opt/cache

CacheFS ファイルシステムのマウント方法 (AutoFS)

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

  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 
    

AutoFS とマップの編集方法については、『Solaris のシステム管理 (資源管理とネットワークサービス)』の「autofs 管理作業の概要」を参照してください。

例 - CacheFS ファイルシステムをマウントする (AutoFS)

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


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