Solaris のシステム管理 (第 1 巻)

ファイルシステム全体を復元する方法


注 -

この手順は、ルート (/) または /usr の復元には使用できません。これらのファイルシステムを復元する方法については、「ルート (/) と /usr を復元する方法」を参照してください。


  1. スーパーユーザーになります。

  2. 必要があれば、ファイルシステムをマウント解除します。


    # umount /dev/rdsk/device-name
    
  3. newfs コマンドを使って新しいファイルシステムを作成します。


    # newfs /dev/rdsk/device-name
    

    raw デバイス上で新しいファイルシステムを構築したいかどうかをたずねるプロンプトが表示されます。意図しないファイルシステムを間違って損失してしまわないように、デバイス名が正しいことを確認します。

  4. 新しいファイルシステムを作成しなければならないかどうかを確認します。


    newfs: construct a new file system /dev/rdsk/cwtxdysz:(y/n)? y
    

    新しいファイルシステムが作成されます。

  5. 一時的なマウントポイントに新しいファイルシステムをマウントします。


    # mount /dev/dsk/device-name /mnt
    
  6. ディレクトリを /mnt に変更します。


    # cd mnt
    

    マウントポイントディレクトリに変更しました。

  7. テープを書き込み保護します。

  8. レベル 0 テープの第 1 ボリュームをテープドライブに挿入します。

  9. ufsrestore コマンドを使ってテープ上のファイルを復元します。


    # ufsrestore rvf /dev/rmt/n
    

    レベル 0 ダンプが復元されます。ダンプの実行に複数のテープが必要な場合は、番号の順でテープをロードするようにプロンプトが表示されます。

  10. テープを取り出して、ドライブに次のレベルのテープをロードします。

    テープの復元は必ず 0 から始め、一番高いレベルまで続けてください。

  11. 最低レベルから最高レベルまで、ダンプのレベルごとに、手順 7 から 手順 10 までを繰り返します。

  12. ファイルシステムが復元されていることを確認します。


    # ls
    
  13. restoresymtable ファイルを削除します。


    # rm restoresymtable
    

    ufsrestore によって作成された restoresymtable が削除されます。

  14. 別のディレクトリに変更します。


    # cd /
    
  15. 新しく復元されたファイルシステムをマウント解除します。


    # umount /mnt
    
  16. 最後のテープを取り出し、書き込み保護されていない新しいテープをテープドライブに挿入します。

  17. ufsdump コマンドを使って、新しく復元されたファイルシステムのレベル 0 のバックアップをとります。


    # ufsdump 0uf /dev/rmt/n /dev/rdsk/device-name
    

    ufsrestore はファイルの位置を移動し、i ノード割り当てを変更するので、新しく作成したファイルシステムについては、ただちにバックアップをとるようにしてください。(復元されたファイルシステムは、以前のバックアップ以降に変更されているように見えます)。

  18. 復元されたファイルシステムをマウントします。


    # mount /dev/dsk/device-name /mount-point
    

    復元されたファイルシステムがマウントされ、使用できるようになります。

  19. 復元されマウントされたファイルシステムが使用できることを確認します。


    # ls /mount-point
    

例 - ファイルシステム全体を復元する

この例では、/export/home ファイルシステムが復元されます。


# umount /export/home
# newfs /dev/rdsk/c0t3d0s7
newfs: construct a new file system /dev/rdsk/c0t3d0s7: (y/n)? y
/dev/rdsk/c0t3d0s7:	410400 sectors in 270 cylinders of 19 tracks, 80 sectors
		200.4MB in 17 cyl groups (16 c/g, 11.88MB/g, 5696 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 24432, 48832, 73232, 97632, 122032, 146432, 170832, 195232, 219632,
 244032, 268432, 292832, 317232, 341632, 366032, 390432,
# mount /dev/dsk/c0t3d0s7 /mnt
# cd /mnt
# ufsrestore rvf /dev/rmt/0
Verify volume and initialize maps
Media block size is 126
Dump   date: Wed Jul 14 08:49:33 1999
Dumped from: the epoch
Level 0 dump of /export/home on earth:/dev/dsk/c0t3d0s7
Label: none
Begin level 0 restore
Initialize symbol table.
Extract directories from tape
Calculate extraction list.
Warning: ./lost+found: File exists
Make node ./kryten
Make node ./kryten/letters
Make node ./kryten/reports
Extract new leaves.
Check pointing the restore
extract file ./kryten/.cshrc
extract file ./kryten/.login
extract file ./kryten/b
extract file ./kryten/memos
extract file ./kryten/letters/b
extract file ./kryten/letters/letter1
extract file ./kryten/letters/letter2
extract file ./kryten/letters/letter3
extract file ./kryten/reports/reportA
extract file ./kryten/reports/reportB
extract file ./kryten/reports/reportC
Add links
Set directory mode, owner, and times.
Check the symbol table.
Check pointing the restore
# ls
# rm restoresymtable
# cd /
# umount /mnt
# ufsdump 0ucf /dev/rmt/0 /export/home
                    .
                    .
                    .
# mount /dev/dsk/c0t3d0s7 /export/home
# ls /export/home