Rebuilding the Solaris Operating System

Rebuild the operating system in the event of a disaster.

Before You Begin

  • Ensure that the destination client is same as source client while performing a disaster recovery.
  • Make sure to Install the Solaris Operating System on the system that you want to restore. Make sure to install the Operating System exactly as it existed prior to a hardware or software corruption problem.
  • The client computer must have a default install partition with the Solaris File System Agent installed on it. Make sure to enable the Networking option. The TCP/IP, hostname, and domain name settings of the default install must match those of the system that you are restoring.
  • Create and mount a root file system on the system that you want to restore.

Procedure

  1. From the Solaris Installation disk, navigate to the appropriate Tools directory.

    Example:

    s0/Solaris_<ver>/Tools directory

  2. Type the command to copy the jump start software to your machine.

    ./setup_install_server -b /opt/boot

  3. Type the appropriate command to add each client that you want to boot off of the jump start server.

    Example:

    ./add_* -i 172.19.71.226 -e 8:0:20:7c:89:1a -s pluto8:/jumpstart pluto6 sun4u

    ./add_* -i 172.19.71.227 -e 8:0:20:7d:e6:33 -s pluto8:/jumpstart pluto7 sun4m

    ./add_* -i 172.19.71.224 -e 8:0:20:7c:73:f -s pluto8:/jumpstart pluto4 sun4m 

  4. Copy <mnt_point>/Solaris_<ver>/Tools/Boot from the disk to a shareable directory.

    Example:

    /jumpstart

  5. Modify bootparams to reflect the new root directory.

    /etc/bootparams

  6. Modify the hosts to add the hosts needed to communicate with the Solaris File System iDataAgent.

    Example:

    <mnt_point>/Solaris_<ver>/Tools/Boot/.tmp_proto/root/etc/inet/hosts

  7. Add the shared memory information to system.

    Example:

    <mnt_point>/Solaris_<ver>/Tools/Boot/etc/system

    set shmsys:shminfo_shmmax=4199304
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=5824
    set shmsys:shminfo_shmseg=5824
    set semsys:seminfo_semmns=5824
    set semsys:seminfo_semmni=5824
    set semsys:seminfo_semmsl=5824

  8. Add System Services.

    Example:

    <mnt_point>/Solaris_<ver>/Tools/Boot/etc/services

    cvd 8400/tcp
    EvMgrS 8401/tcp
    EvMgrC 8402/tcp

  9. Create symbolic links for required writeable areas.

    Example:

    ln -s ../tmp/root/etc/inet/Galaxy.pkg Galaxy.pkg 
    ln -s /tmp/CommVaultRegistry CommVaultRegistry

  10. Restart the computer.
  11. Create and mount a /opt file system using an open slice.

    Example:

    swap slice

  12. Install the Solaris File System iDataAgent software. If the installer requests updates and the required updates have not been installed on the jump start server, skip the request to add the additional operating system updates.
  13. Type the command to create partitions/slices on the disk.

    format

  14. Type the command to create the root file system.

    newfs /dev/dsk/<DriveID>

    where <DriveID> is the Drive Identifier of the partition where you want to create the root file system.

    Example:

    newfs /dev/dsk/<root>

  15. Type the command to mount the new root file system at /mnt.

    mount /dev/dsk/<DriveID> /mnt

    where <DriveID> is the Drive Identifier of the partition containing the root file system.

    Example:

    mount /dev/dsk/<root> /mnt

  16. Create an empty directory called "proc" on /mnt.

    Example:

    mkdir /mnt/proc

  17. If you have recreated any file systems other than root, type the command to mount these as well.

    mkdir /mnt/<file_system_name>

    mount /dev/dsk/<DriveID>  /mnt/<file_system_name>

    where <file_system_name> is the name of the file system and <DriveID> is the Drive Identifier of the partition containing the file system.

    Example:

    mkdir /mnt/<devfs>

    mount /dev/dsk/<root>  /mnt/<devfs>

  18. Install the Jump start server on the Boot server.

    cd <jumpstart_install_directory>

  19. Type the command to unpack miniroot.

    <miniroot_mnt_dir>=`pwd`/boot

  20. Type the following commands if the software is installed at /opt:

    cd <miniroot_mnt_dir>/etc/

    ln –s /tmp/snapprotect/CommVaultRegistry CommVaultRegistry

    Type the following commands if the software is installed at a different directory:

    cd <miniroot_mnt_dir>

    ln –s /tmp/snapprotect opt/snapprotect

    ln –s  /tmp/snapprotect var/log/snapprotect

  21. Pack Miniroot

    /boot/solaris/bin/root_archive pack sparc.miniroot `pwd`/boot

  22. Use Network File System protocol to export a directory with RW (Read/Write) permissions for the client to be recovered.

    /export/<mydir>

    where <mydir> is the name of the directory. Make sure the client gets all required permissions on this directory and its contents.

    Example:

    /export/<dir1>

  23. From the CommCell console, restore CommVaultRegistry and /opt/snapprotect/* into /export/<mydir>,

    cd to /export/<mydir>

        mkdir Log_Files

        mv Base32 Base

        mv iDataAgent32 iDataAgent

    If you are using x64 Solaris, then:

    mv Base/snapprotect Base32

    rm –rf Base iDataAgent

  24. On the Client side, perform the following steps:
    • Jumpstart the client using the boot server.
    • Follow the prompts and get to a shell. Bring up all the interfaces.

    boot net -s

    • Configure a default route.

    route add default <172.x.x.x>

        where <;172.x.x.x> is the Gateway address

    • Add the client IP address and hostname to:

    /etc/hosts

    • Add the MediaAgent and CommServe to:

    /etc/hosts

  25. Type the command to create partitions/slices on the disk.

    fdisk /dev/rdsk/c1d0p0

  26. Type the command to create the root file system.

    newfs /dev/dsk/<DriveID>

    where <DriveID> is the Drive Identifier of the partition where you want to create the root file system.

    Example:

    newfs /dev/dsk/<root>

  27. If ZFS file system is on root partition, perform the following steps to create zpools and file systems:

    zpool create –R/a <pool name>

    where <pool name> is the zpool name created during the initial Solaris install.

    zfs create <pool name>/FS1

    where <pool name> is the zpool name created during the initial Solaris install and FS1 is the file system name

    zfs set mountpoint=<first_mountpoint><pool name>/FS1

    where <first_mountpoint> refers to its original mountpoint and FS1 is the file system name

    fs create <pool name>/FS2

    where <pool name> is the zpool name created during the initial Solaris install and FS2

    zfs set mountpoint=<first_mountpoint><pool name>/FS2

    where <first_mountpoint> refers to its original mountpoint and <pool name> is the zpool name created during the initial Solaris install.

  28. Type the following command to create a dump and swap a file system:

    zfs create –V <space required> <fsname>

    where <fsname> is the file system name.

    Example:

    /export/home

  29. Type the following commands to start the Recovery services:

    cd /opt/snapprotect

        mkdir /opt/snapprotect/Base/Temp/

        . ./galaxy_vm

        . ./Base/cvprofile

        svc_ctrl –focus $GALAXY_VM -start cvd

        svc_ctrl –focus $GALAXY_VM -start EvMgrC

        svc_ctrl –focus $GALAXY_VM -start cvfwd

  30. Set the variable.

    Example:

    platform=`uname –i`

  31. Use the variable as directory, to map it to the correct Boot block.

    Type the following command for Solaris 10 Update 6 or above:

    installboot –F zfs /a/usr/platform/$platform/lib/fs/zfs/bootblk /dev/rdsk/<boot_disk>

    where <boot_disk> is the name of the disk to be booted

    Type the following command for Solaris 10 Update 5 or below:

    installboot /a/usr/platform/$platform/lib/fs/ufs/bootblk /dev/rdsk/<boot_disk>

    where <boot_disk> is the name of the disk to be booted

    Type the following command for x86 systems:

    installgrub –fm /a/boot/grub/stage1/a/boot/grub/stage2 /dev/rdsk/<boot disk>

    bootadm update-archive –R /a

    init 6

  32. Restart the computer.