Solaris のシステム管理 (デバイスとファイルシステム)

UFS スナップショットの作成と削除

fssnap コマンドを使用して UFS スナップショットを作成する場合、バッキングストアファイルがどれだけのディスク容量を消費するかを監視してください。バッキングストアファイルは、はじめは容量をまったく使用しませんが、その後特によく使用されているシステムにおいて急速に拡大します。バッキングストアファイルが拡大するのに十分な容量を必ず確保してください。または -o maxsize=n [k,m,g] オプション (n [k,m,g] はバッキングストアファイル最大限のサイズ) でそのサイズを制限してください。


注意 – 注意 –

バッキングストアファイルに容量が不足する場合、スナップショットが削除されてしまうことがあり、バックアップが失敗します。スナップショットのエラーの可能性を調べるため、/var/adm/messages ファイルを検査してください。


バッキングストアパスのディレクトリを指定して、バッキングストアファイルは指定のディレクトリに作成することもできます。たとえば、/var/tmp を指定した場合、次のバッキングストアファイルが作成されます。


/var/tmp/snapshot0

/export/home/usr などのファイルシステムを個別に作成する代わりに大容量のルート (/) ファイルシステムを 1 つ作成した場合、これらのファイルシステムのスナップショットを個別に作成することはできません。たとえば、このシステムは、/usr 用の個別のファイルシステムを持ちません。次の Mounted on カラムの下を参照してください。


# df -k /usr
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0t0d0s0    3618177 2190002 1391994    62%    /

/usr ファイルシステムのスナップショットを作成しようとすると、次のようなメッセージが表示されます。


# fssnap -F ufs -o bs=/snaps/usr.back.file /usr
snapshot error: Invalid backing file path

ここで、スナップショットを作成するファイルシステム (この例の場合、/usr ファイルシステム) 上にバッキングストアファイルを作成することはできません。

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

マルチテラバイト UFS のスナップショットの作成

マルチテラバイト UFS のスナップショットの作成は、より小さいサイズの UFS ファイルシステムに対するスナップショットの作成とほとんど同じです。唯一の違いは、ファイルシステム領域の 512G バイトごとにバッキングストアファイルが作成されるという点です。

512G バイトを超えるファイルシステムのスナップショットを作成する際には、次の注意点に留意してください。

512G バイトを超えるファイルシステムのスナップショットの作成例については、例 25–2 を参照してください。

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

ProcedureUFS スナップショットを作成する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. ファイルシステムに、バッキングストアファイル用の十分なディスク容量が存在することを確認してください。


    # df -k 
    
  3. 同じ場所に同じ名前の既存のバッキングストアファイルがないことを確認します。


    # ls /backing-store-file
    
  4. UFS スナップショットを作成します。


    # fssnap -F ufs -o bs=/backing-store-file /file-system
    

    注 –

    バッキングストアファイルは、UFS スナップショットを使用して取り込むファイルシステムとは異なるファイルシステムに存在する必要があります。


  5. スナップショットが作成されたことを確認します。


    # /usr/lib/fs/ufs/fssnap -i /file-system
    

例 25–1 UFS スナップショットを作成する

次の例は、/usr ファイルシステムのスナップショットを作成する方法を示します。バッキングストアファイルは /scratch/usr.back.file です。仮想デバイスは /dev/fssnap/1 です。


# fssnap -F ufs -o bs=/scratch/usr.back.file /usr
/dev/fssnap/1

次の例は、バッキングストアファイルを 500M バイトに制限する方法を示します。


# fssnap -F ufs -o maxsize=500m,bs=/scratch/usr.back.file /usr 
/dev/fssnap/1


例 25–2 マルチテラバイト UFS のスナップショットの作成

次の例は、1.6T バイトの UFS ファイルシステムのスナップショットの作成方法を示しています。


# fssnap -F ufs -o bs=/var/tmp /datab
/dev/fssnap/2
# /usr/lib/fs/ufs/fssnap -i /datab
Snapshot number               : 2
Block Device                  : /dev/fssnap/2
Raw Device                    : /dev/rfssnap/2
Mount point                   : /datab
Device state                  : idle
Backing store path            : /var/tmp/snapshot3
Backing store size            : 0 KB
Maximum backing store size    : Unlimited
Snapshot create time          : Mon Jul 12 10:37:50 2010
Copy-on-write granularity     : 32 KB

ProcedureUFS スナップショットの情報を表示する方法

fssnap -i オプションを使用すると、システムの現在のスナップショットを表示できます。1 つのファイルシステムを指定する場合、そのファイルシステムのスナップショットについての詳細な情報が表示されます。特定のファイルシステムを指定しない場合は、現在の UFS スナップショットすべておよび対応する仮想デバイスの情報が表示されます。


注 –

次の例に示すように、拡張スナップショット情報を表示する場合は、UFS ファイルシステム固有の fssnap コマンドを使用してください。


  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. 現在のすべてのスナップショットをリスト表示します。

    次に例を示します。


    # /usr/lib/fs/ufs/fssnap -i
    Snapshot number               : 0
    Block Device                  : /dev/fssnap/0
    Raw Device                    : /dev/rfssnap/0
    Mount point                   : /export/home
    Device state                  : idle
    Backing store path            : /var/tmp/snapshot0
    Backing store size            : 0 KB
    Maximum backing store size    : Unlimited
    Snapshot create time          : Mon Jul 12 10:37:50 2010
    Copy-on-write granularity     : 32 KB
  3. 特定のスナップショットについての詳細な情報を表示します。

    次に例を示します。


    # /usr/lib/fs/ufs/fssnap -i /export
    Snapshot number               : 1
    Block Device                  : /dev/fssnap/1
    Raw Device                    : /dev/rfssnap/1
    Mount point                   : /export
    Device state                  : idle
    Backing store path            : /var/tmp/snapshot1
    Backing store size            : 0 KB
    Maximum backing store size    : Unlimited
    Snapshot create time          : Mon Jul 12 10:37:50 2010
    Copy-on-write granularity     : 32 KB

UFS スナップショットの削除

UFS スナップショットを作成する際、バッキングストアファイルがリンクされないように指定できます。リンクされていないバッキングストアファイルは、スナップショットを削除した後で削除されます。UFS スナップショットを作成する際に -o unlink オプションを指定しない場合は、あとでバッキングストアファイルを手動で削除する必要があります。

バッキングストアファイルは、バッキングストアファイルの削除に -o unlink オプションを使用した場合はスナップショットが削除されるまで、またはバッキングストアファイルを手動で削除するまで、ディスク容量を使用します。

ProcedureUFS スナップショットを削除する方法

スナップショットは、システムをリブートするか、あるいは fssnap -d コマンドを使用して削除できます。このコマンドを使用するときには、UFS スナップショットを含むファイルシステムのパスを指定する必要があります。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. 削除するスナップショットを特定します。


    # /usr/lib/fs/ufs/fssnap -i
    
  3. スナップショットを削除します。


    # fssnap -d /file-system
    Deleted snapshot 1.
  4. スナップショットの作成時に -o unlink オプションを使用しなかった場合は、そのバッキングストアファイルを手動で削除してください。


    # rm /file-system/backing-store-file
    

例 25–3 UFS スナップショットの削除

次の例では、-o unlink オプションを使用しなかった場合にスナップショットを削除する方法を示します。


# fssnap -i
    0    /export/home
    1    /export
   # fssnap -d /export
 Deleted snapshot 1.
# rm /var/tmp/snapshot1