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
    

    注 –

    バッキングストアファイルは、スナップショットを作成するファイルシステムとは異なるファイルシステムに存在する必要があります。


  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                   : /export/home
    Device state                  : idle
    Backing store path            : /var/tmp/bs.file
    Backing store size            : 0 KB
    Maximum backing store size    : Unlimited
    Snapshot create time          : Wed Aug 29 15:22:06 2001
    Copy-on-write granularity     : 32 KB

    特定の 1 つのスナップショットについての詳細な情報を表示する場合は、次のように実行します。


    # /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/bs.file
    Backing store size            : 0 KB
    Maximum backing store size    : Unlimited
    Snapshot create time          : Wed Aug 29 15:23:35 2001
    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 スナップショットの削除

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


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