Solarisでテープにバックアップする(ufsdump)




Solarisでテープにバックアップする

バックアップ対象はパーティション単位

基本的なコマンド
# ufsdump [オプション] [テープデバイス] [バックアップ対象]

例)
# ufsdump 0cfu /dev/rmt/0 /dev/rdsk/c0t0d0s0
意味:「/」を「/dev/rmt/0」にフルバックアップする

オプションについて、
0 : ダンプレベルの指定
c : カートリッジであることを指定。カートリッジテープを使用する場合にはこのオプションを付ける。
f : 出力デバイスの指定
u : ダンプレコードを更新する。ダンプが成功すると、/etc/dumpdatesに書き込む。

ダンプレベルについて、
レベルは「0〜9」が指定可能。
レベル「0」はフルバックアップを意味する。

他のレベルの使い方は、
ある時点でレベル「0」でバックアップを取得したとする。
次にレベル「1」でバックアップを取得すると、
レベル「0」で取得してから変更あるいは追加されたファイルだけがバックアップされる。
次にレベル「1」でバックアップを取得すると、
直前のレベル「1」で取得してから変更あるいは追加されたファイルだけがバックアップされる。
次にレベル「2」でバックアップを取得すると、
直前のレベル「1」で取得してから変更あるいは追加されたファイルだけがバックアップされる。
次にレベル「1」でバックアップを取得すると、
直前のレベル「1」で取得してから変更あるいは追加されたファイルだけがバックアップされる。

実際の使い方としては、
月に1回レベル「0」でバックアップを取得して、
週に1回レベル「1」でバックアップを取得して、
日に1回レベル「2」でバックアップを取得したりする。

毎日フルバックアップを取得すれば良いことなのだが、
時間もかかるし、テープの容量の問題もある。
こうしてレベルを使い分けることで、
これらの問題に対処している。

バックアップ対象のパーティションIDの調べ方
# df -k
Filesystem           kbytes     used     avail   capacity   Mounted on
/dev/dsk/c0t0d0s0    482455    79017    355193     19%      /
/dev/dsk/c0t0d0s6   1987399  1745619    182159     91%      /usr
/proc                     0        0         0      0%      /proc
mnttab                    0        0         0      0%      /etc/mnttab
fd                        0        0         0      0%      /dev/fd
/dev/dsk/c0t1d0s5  17413250   895221  16343897      6%      /var
swap                1926120       40   1926080      1%      /var/run
swap                1926080        0   1926080      0%      /tmp
/dev/dsk/c0t0d0s4   1987399      551   1927227      1%      /opt
/dev/dsk/c0t0d0s7  11142400   206729  10824247      2%      /export/home

実行例)
# ufsdump 0cfu /dev/rmt/0 /dev/rdsk/c0t0d0s0
  DUMP: Date of this level 0 dump: Fri Thu Sep 7 14:36:43 2006
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/rdsk/c0t0d0s0 ([ホスト名]:/) to /dev/rmt/0.
  DUMP: Mapping (Pass I) [regular files]
  DUMP: Mapping (Pass II) [directories]
  DUMP: Writting 63 killobytes records
  DUMP: Estimated 164116 blocks (80.13MB)
  DUMP: Dumping (Pass III) [directories]
  DUMP: Dumping (Pass IV) [regular files]
  DUMP: 164050 blocks (80.10MB) on 1 volume at 946 KB/sec
  DUMP: DUMP IS DOME
  DUMP: Level 0 dump on Thu Sep 7 14:36:43 2006
テープは自動的に巻き戻されるので、そのままufsrestoreで中身を見ることができる。

1つのテープにいくつかのパーティションをバックアップしたい時には、
テープを巻き戻さないようにして追記していく必要がある。
その場合は、
# ufsdump 0cfu /dev/rmt/0n /dev/rdsk/c0t0d0s0
この場合、バックアップを取った後そのままでは、ufsrestoreで中身を見ることができない
コマンドでテープを巻き戻す必要がある。

また、新たに上書きのようにして書き込みたい時は、
コマンドでテープを巻き戻してからufsdumpを実行すれば良い。