# 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_install_client -i $[172.19.71.226] -e $[8:0:20:7c:89:1a] -s $[pluto8:/jumpstart pluto6 sun4u]

       ./add_install_client -i 172.19.71.227 -e $[8:0:20:7d:e6:33] -s $[pluto8:/jumpstart pluto7 sun4m]

       ./add_install_client -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

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/commvault/CommVaultRegistry CommVaultRegistry]

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

         cd $[miniroot_mnt_dir]

        ln –s $[/tmp/commvault opt/commvault]

        ln –s  $[/tmp/commvault var/log/commvault]

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/commvault/* 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/commvault 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/commvault

            mkdir /opt/commvault/Base/Temp/

            . ./galaxy_vm

            . ./Base/cvprofile

            svc_ctrl –focus $GALAXY_VM -start cvd

            svc_ctrl –focus $GALAXY_VM -start ClMgrS

            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.

×

Loading...