Solaris のシステム管理

ルート (/) と /usr を復元する方法

  1. 新しいシステムディスクを、ルート (/) と /usr ファイルシステムが復元されるシステムに追加します。

    システムディスクを追加する方法についての詳細は、第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86 : ディスク追加の手順」を参照してください。

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

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

        # cd /mnt
    
  4. テープデバイスのエントリを作成します。

        # tapes
    
  5. テープを書き込み保護します。

  6. ufsrestore コマンドを使ってルートファイルシステムを復元します。

        # ufsrestore rvf /dev/rmt/n
    

    レベル 0 のテープが復元されます。

  7. テープを外し、次のレベルのテープをドライブにロードします。

    テープの復元は必ず 0 から始め、最も低いレベルから最も高いレベルまで続けます。

  8. ufsrestore コマンドは必要なだけ続けて使用します。

        # ufsrestore rvf /dev/rmt/n
    

    次のレベルのテープが復元されます。

  9. テープを追加するたびに、手順 7 と手順 8 を繰り返します。

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

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

        # rm restoresymtable
    

    ufsrestore によって作成され、復元のチェックポイントに使用された restoresymtable ファイルを削除します。

  12. ルートディレクトリに変更します。

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

        # umount /mnt
    
  14. 新しいファイルシステムをチェックします。

        # fsck /dev/rdsk/device-name
    

    復元されたファイルシステムが完全であるかどうかがチェックされます。

  15. installboot コマンドで、ルートパーティションにブートブロックを作成します。

        # installboot  /usr/platform/`uname-i`/lib/fs/ufs/bootblk /dev/rdsk/ devicename
    

    SPARC システム上で installboot コマンドを使用する方法については「例 - SPARC システム上でルート (/) と /usr を復元する」を、x86 システム上で installboot コマンドを使用する方法については「例 - x86 システム上でルート (/) ファイルシステムを復元する」をそれぞれ参照してください。

  16. 新しいテープをテープドライブに挿入します。

  17. 新しいファイルシステムのバックアップをとります。

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

    レベル 0 のバックアップが実行されます。ufsrestore はファイルの位置を移動し、i ノード割当てを変更するので、新しく作成されたファイルシステムのバックアップは、必ずすぐにとるようにしてください。

  18. 必要があれば、/usr ファイルシステムのために手順 5 から 18 までを繰り返します。

  19. システムをリブートします。

        # init 6
    

    システムがリブートされます。

例 - SPARC システム上でルート (/) と /usr を復元する

# mount /dev/dsk/c0t3d0s0 /mnt
# cd /mnt
# tapes
# ufsrestore rvf /dev/rmt/0
# ls
# rm restoresymtable
# cd /
# umount /mnt
# fsck /dev/rdsk/c0t3d0s0
# installboot /usr/platform/`uname -i`
/lib/fs/ufs/bootblk /dev/rdsk/c0t3d0s0
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0
# init 6

例 - x86 システム上でルート (/) ファイルシステムを復元する

# mount /dev/dsk/c0t3d0s0 /mnt
# cd /mnt
# tapes
# ufsrestore rvf /dev/rmt/0
# ls
# rm restoresymtable
# cd /
# umount /mnt
# fsck /dev/rdsk/c0t3d0s0
# installboot /usr/platform/`uname -i`/lib/fs/ufs/pboot
/usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t3d0s0
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0
# init 6