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

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

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


注意 – 注意 –

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


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

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

  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
    

例 — 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 /export/home 
/dev/fssnap/1

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

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                   : /usr
    Device state                  : idle
    Backing store path            : /var/tmp/snapshot3
    Backing store size            : 256 KB
    Maximum backing store size    : Unlimited
    Snapshot create time          : Wed Oct 08 10:38:25 2003
    Copy-on-write granularity     : 32 KB
    Snapshot number               : 1
    Block Device                  : /dev/fssnap/1
    Raw Device                    : /dev/rfssnap/1
    Mount point                   : /
    Device state                  : idle
    Backing store path            : /tmp/bs.home
    Backing store size            : 448 KB
    Maximum backing store size    : Unlimited
    Snapshot create time          : Wed Oct 08 10:39:29 2003
    Copy-on-write granularity     : 32 KB
  3. 特定のスナップショットについての詳細な情報を表示します。

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


    # /usr/lib/fs/ufs/fssnap -i /usr
    Snapshot number               : 0
    Block Device                  : /dev/fssnap/0
    Raw Device                    : /dev/rfssnap/0
    Mount point                   : /usr
    Device state                  : idle
    Backing store path            : /var/tmp/snapshot3
    Backing store size            : 256 KB
    Maximum backing store size    : Unlimited
    Snapshot create time          : Wed Oct 08 10:38:25 2003
    Copy-on-write granularity     : 32 KB

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

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

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

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

スナップショットは、システムをリブートするか、あるいは 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
    

例 — UFS スナップショットを削除する

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


# fssnap -i
    0    /    1    /usr
# fssnap -d /usr
 Deleted snapshot 1.
# rm /scratch/usr.back.file