Installing DiskSuite
The DiskSuite packages have moved around a bit with each release of Solaris. For Solaris 2.6 and Solaris 7, the DiskSuite packages are located on the Easy Access CD. With Solaris 8, DiskSuite moved to the "Solaris 8 Software" cdrom number two, in the EA directory. Starting the Solaris 9, DiskSuite is now included with the operating system.
At the time of this writing, Solaris 8 is the most commonly deployed version of Solaris, so we'll use that as the basis for this example. The steps are basically identical for the other releases.
1. After having completed the installation of the Solaris 8 operating system, insert the Solaris 8 software cdrom number two into the cdrom drive. If volume management is enabled, it will automatically mount to /cdrom/sol_8_401_sparc_2 (depending on the precise release iteration of Solaris 8, the exact path may differ in your case):
2. # df -k
3. Filesystem kbytes used avail capacity Mounted on
4. /dev/dsk/c0t0d0s0 6607349 826881 5714395 13% /
5. /proc 0 0 0 0% /proc
6. fd 0 0 0 0% /dev/fd
7. mnttab 0 0 0 0% /etc/mnttab
8. /dev/dsk/c0t0d0s4 1016863 8106 947746 1% /var
9. swap 1443064 8 1443056 1% /var/run
10. swap 1443080 24 1443056 1% /tmp
11. /vol/dev/dsk/c0t6d0/sol_8_401_sparc_2
12. 239718 239718 0 100% /cdrom/sol_8_401_sparc_2
13. Change to the directory containing the DiskSuite packages:
# cd /cdrom/sol_8_401_sparc_2/Solaris_8/EA/products/Disksuite_4.2.1/sparc/Packages
14. Add the required packages (we're taking everything except the Japanese-specific package):
15. # pkgadd -d .
16.
17. The following packages are available:
18. 1 SUNWmdg Solstice DiskSuite Tool
19. (sparc) 4.2.1,REV=1999.11.04.18.29
20. 2 SUNWmdja Solstice DiskSuite Japanese localization
21. (sparc) 4.2.1,REV=1999.12.09.15.37
22. 3 SUNWmdnr Solstice DiskSuite Log Daemon Configuration Files
23. (sparc) 4.2.1,REV=1999.11.04.18.29
24. 4 SUNWmdnu Solstice DiskSuite Log Daemon
25. (sparc) 4.2.1,REV=1999.11.04.18.29
26. 5 SUNWmdr Solstice DiskSuite Drivers
27. (sparc) 4.2.1,REV=1999.12.03.10.00
28. 6 SUNWmdu Solstice DiskSuite Commands
29. (sparc) 4.2.1,REV=1999.11.04.18.29
30. 7 SUNWmdx Solstice DiskSuite Drivers(64-bit)
31. (sparc) 4.2.1,REV=1999.11.04.18.29
32.
33. Select package(s) you wish to process (or 'all' to process
34. all packages). (default: all) [?,??,q]: 1 3 4 5 6 7
35.
36. Processing package instance from
37. .
38. .
39. .
40. postinstall: configure driver
41.
42. (This may take a while.)
43.
44. Installation of was successful.
45.
46. The following packages are available:
47. 1 SUNWmdg Solstice DiskSuite Tool
48. (sparc) 4.2.1,REV=1999.11.04.18.29
49. 2 SUNWmdja Solstice DiskSuite Japanese localization
50. (sparc) 4.2.1,REV=1999.12.09.15.37
51. 3 SUNWmdnr Solstice DiskSuite Log Daemon Configuration Files
52. (sparc) 4.2.1,REV=1999.11.04.18.29
53. 4 SUNWmdnu Solstice DiskSuite Log Daemon
54. (sparc) 4.2.1,REV=1999.11.04.18.29
55. 5 SUNWmdr Solstice DiskSuite Drivers
56. (sparc) 4.2.1,REV=1999.12.03.10.00
57. 6 SUNWmdu Solstice DiskSuite Commands
58. (sparc) 4.2.1,REV=1999.11.04.18.29
59. 7 SUNWmdx Solstice DiskSuite Drivers(64-bit)
60. (sparc) 4.2.1,REV=1999.11.04.18.29
61.
62. Select package(s) you wish to process (or 'all' to process
63. all packages). (default: all) [?,??,q]: q
64.
65. *** IMPORTANT NOTICE ***
66. This machine must now be rebooted in order to ensure
67. sane operation. Execute
68. shutdown -y -i6 -g0
69. and wait for the "Console Login:" prompt.
70. # eject cdrom
71. # shutdown -y -i6 -g0
72. Once the system reboots, apply any DiskSuite patches. At the time of this writing, the latest recommended DiskSuite patch available from sunsolve.sun.com is 106627-18 (DiskSuite 4.2) or 108693-13 (DiskSuite 4.2.1). Note that the patch installation instructions require that a reboot be performed after the patch is installed
73. Proceed to the process of mirroring the operating system.
Mirroring the operating system
In the steps below, I'm using DiskSuite to mirror the active root disk (c0t0d0) to a mirror (c0t1d0). I'm assuming that partitions five and six of each disk have a couple of cylinders free for DiskSuite's state database replicas.
First, we start with a filesystem layout that looks as follows:
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 6607349 826881 5714395 13% /
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
/dev/dsk/c0t0d0s4 1016863 8106 947746 1% /var
swap 1443064 8 1443056 1% /var/run
swap 1443080 24 1443056 1% /tmp
We're going to be mirroring from c0t0d0 to c0t1d0. When the operating system was installed, we created unassigned slices five, six, and seven of roughly 10 MB each. We will use slices five and six for the DiskSuite state database replicas. The output from the "format" command is as follows:
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c0t1d0
/pci@1f,4000/scsi@3/sd@1,0
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted]
...
partition> p
Current partition table (original):
Total disk cylinders available: 5266 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 3994 6.40GB (3995/0/0) 13423200
1 swap wu 3995 - 4619 1.00GB (625/0/0) 2100000
2 backup wm 0 - 5265 8.44GB (5266/0/0) 17693760
3 unassigned wu 0 0 (0/0/0) 0
4 var wm 4620 - 5244 1.00GB (625/0/0) 2100000
5 unassigned wm 5245 - 5251 11.48MB (7/0/0) 23520
6 unassigned wm 5252 - 5258 11.48MB (7/0/0) 23520
7 unassigned wm 5259 - 5265 11.48MB (7/0/0) 23520
Note that much of the process of mirroring the root disk has been automated with the sdsinstall script. With the exception of the creation of device aliases, all of the work done in the following steps can be achieved via the following:
# ./sdsinstall -p c0t0d0 -s c0t1d0 -m s5 -m s6
1. Ensure that the partition tables of both disks are identical:
# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
2. Add the state database replicas. For redundancy, each disk has two state database replicas.
# metadb -a -f c0t0d0s5
# metadb -a c0t0d0s6
# metadb -a c0t1d0s5
# metadb -a c0t1d0s6
Note that there appears to be a lot of confusion regarding the recommended number and location of state database replicas. According the the DiskSuite reference manual:
State database replicas contain configuration and status information of all metadevices and hot spares. Multiple copies (replicas) are maintained to provide redundancy. Multiple copies also prevent the database from being corrupted during a system crash (at most, only one copy if the database will be corrupted).
State database replicas are also used for mirror resync regions. Too few state database replicas relative to the number of mirrors may cause replica I/O to impact mirror performance.
At least three replicas are recommended. DiskSuite allows a maximum of 50 replicas. The following guidelines are recommended:
· For a system with only a single drive: put all 3 replicas in one slice.
· For a system with two to four drives: put two replicas on each drive.
· For a system with five or more drives: put one replica on each drive.
In general, it is best to distribute state database replicas across slices, drives, and controllers, to avoid single points-of-failure.
Each state database replica occupies 517 KB (1034 disk sectors) of disk storage by default. Replicas can be stored on: a dedicated disk partition, a partition which will be part of a metadevice, or a partition which will be part of a logging - device.
Note - Replicas cannot be stored on the root (/), swap, or /usr slices, or on slices containing existing file systems or data.
Starting with DiskSuite 4.2.1, an optional /etc/system parameter exists which allows DiskSuite to boot with just 50% of the state database replicas online. For example, if one of the two boot disks were to fail, just two of the four state database replicas would be available. Without this /etc/system parameter (or with older versions of DiskSuite), the system would complain of "insufficient state database replicas", and manual intervention would be required on bootup. To enable the "50% boot" behaviour with DiskSuite 4.2.1, execute the following command:
# echo "set md:mirrored_root_flag=1" >> /etc/system
3. Define the metadevices on c0t0d0 (/):
# metainit -f d10 1 1 c0t0d0s0
# metainit -f d20 1 1 c0t1d0s0
# metainit d0 -m d10
The metaroot command edits the /etc/vfstab and /etc/system files:
# metaroot d0
Define the metadevices for c0t0d0s1 (swap):
# metainit -f d11 1 1 c0t0d0s1
# metainit -f d21 1 1 c0t1d0s1
# metainit d1 -m d11
Define the metadevices for c0t0d0s4 (/var):
# metainit -f d14 1 1 c0t0d0s4
# metainit -f d24 1 1 c0t1d0s4
# metainit d4 -m d14
4. Edit /etc/vfstab so that it references the DiskSuite metadevices instead of simple slices:
5. #device device mount FS fsck mount mount
6. #to mount to fsck point type pass at boot options
7. #
8. fd - /dev/fd fd - no -
9. /proc - /proc proc - no -
10. /dev/md/dsk/d1 - - swap - no -
11. /dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no logging
12. /dev/md/dsk/d4 /dev/md/rdsk/d4 /var ufs 1 no logging
13. swap - /tmp tmpfs - yes -
14. Reboot the system:
# lockfs -fa
# sync;sync;sync;init 6
15. After the system reboots from the metadevices for /, /var, and swap, set up mirrors:
# metattach d0 d20
# metattach d1 d21
# metattach d4 d24
The process of synchronizing the data to the mirror disk will take a while. You can monitor its progress via the command:
# metastat|grep -i progress
16. Capture the DiskSuite configuration in the text file md.tab. With Solaris 2.6 and Solaris 7, this text file resides in the directory /etc/opt/SUNWmd; however, more recent versions of Solaris place the file in the /etc/lvm directory. We'll assume that we're running Solaris 8 here:
# metastat -p | tee /etc/lvm/md.tab
17. In order for the system to be able to dump core in the event of a panic, the dump device needs to reference the DiskSuite metadevice:
# dumpadm -d /dev/md/dsk/d1
18. If the primary boot disk should fail, make it easy to boot from the mirror. Some sites choose to alter the OBP "boot-device" variable; in this case, we choose to simply define the device aliases "sds-root" and "sds-mirror". In the event that the primary boot device ("disk" or "sds-root") should fail, the administrator simply needs to type "boot sds-mirror" at the OBP prompt.
Determine the device path to the boot devices for both the primary and mirror:
# ls -l /dev/dsk/c0t0d0s0 /dev/dsk/c0t1d0s0
lrwxrwxrwx 1 root root 41 Oct 17 11:48 /dev/dsk/c0t0d0s0 -> ../..
/devices/pci@1f,4000/scsi@3/sd@0,0:a
lrwxrwxrwx 1 root root 41 Oct 17 11:48 /dev/dsk/c0t1d0s0 -> ../..
/devices/pci@1f,4000/scsi@3/sd@1,0:a
Use the device paths to define the sds-root and sds-mirror device aliases (note that we use the label "disk" instead of "sd" in the device alias path):
# eeprom "nvramrc=devalias sds-root /pci@1f,4000/scsi@3/disk@0,0
devalias sds-mirror /pci@1f,4000/scsi@3/disk@1,0"
# eeprom "use-nvramrc?=true"
Test the process of booting from either sds-root or sds-mirror.
Once the above sequence of steps has been completed. the system will look as follows:
# metadb
flags first blk block count
a m p luo 16 1034 /dev/dsk/c0t0d0s5
a p luo 16 1034 /dev/dsk/c0t0d0s6
a p luo 16 1034 /dev/dsk/c0t1d0s5
a p luo 16 1034 /dev/dsk/c0t1d0s6
# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/md/dsk/d0 6607349 845208 5696068 13% /
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
/dev/md/dsk/d4 1016863 8414 947438 1% /var
swap 1443840 8 1443832 1% /var/run
swap 1443848 16 1443832 1% /tmp
UFS filesystem logging was first supported with Solaris 7. Prior to that release, one could create trans metadevices with DiskSuite to achieve the same effect. For Solaris 7 and up, it's much easier to simply enable ufs logging by adding the word "logging" to the last field of the /etc/vfstab file. The following section is included for those increasingly rare Solaris 2.6 installations.
The following two steps assume that you are have an available (<=64MB) slice 3 available for logging.
1. Define the trans metadevice mirror (c0t0d0s3):
# metainit d13 1 1 c0t0d0s3
# metainit d23 1 1 c0t1d0s3
# metainit d3 -m d13
# metattach d3 d23
2. Make /var use the trans meta device for logging:
# metainit -f d64 -t d4 d3
Edit vfstab as follows:
/dev/md/dsk/d64 /dev/md/rdsk/d64 /var ufs 1 no -
Ensure that no volumes are syncing before running the following:
# sync;sync;sync;init 6
Mirroring Disks with Solstice DiskSuite
Introduction
This paper will present a short introduction to mirroring two disks using Solstice DiskSuite. Although not as robust as Veritas Volume Manager (VxVM) (also distributed by Sun as the "Sun Enterprise Volume Manager" (SEVM)), DiskSuite is nonetheless still a popular choice for doing basic disk mirroring. This tutorial will be presented using an actual mirroring session with comments and explanations interspersed.
Note that the following procedure is for DiskSuite 4.2, which runs on Solaris 2.6 and Solaris 7. This procedure will also work with DiskSuite 4.2.1, distributed with Solaris 8. Solstice DiskSuite is now known as Solaris Volume Manager in Solaris 9 and later. There are a few fundamental changes between the two versions, particularly in the size of state database replicas. The terms DiskSuite and Solaris Volume Manager are both used in this document to refer to the software. Where necessary, specific versions will be pointed out.
Installation
The first step to setting up mirroring using DiskSuite is to install the DiskSuite packages and any necessary patches for systems prior to Solaris 9. SVM is part of the base system in Solaris 9. The latest recommended version of DiskSuite is 4.2 for systems running Solaris 2.6 and Solaris 7, and 4.2.1 for Solaris 8.
There are currently three packages and one patch necessary to install DiskSuite 4.2. They are:
· SUNWmd
(Required)
· SUNWmdg
(Optional GUI)
· SUNWmdn
(Optional SNMP log daemon)
· 106627-19
(obtain latest revision)
The packages should be installed in the same order as listed above. Note that a reboot isnecessary after the install as new drivers will be added to the Solaris kernel.
For DiskSuite 4.2.1, install the following packages:
· SUNWmdu
(Commands)
· SUNWmdr
(Drivers)
· SUNWmdx
(64-Bit Drivers)
· SUNWmdg
(Optional GUI)
· SUNWmdnr
(Optional log daemon configs)
· SUNWmdnu
(Optional log daemon)
For Solaris 2.6 and 7, to make life easier, be sure to update your PATH
and MANPATH
variables to add DiskSuite's directories. Executables reside in /usr/opt/SUNWmd/sbin
and man pages in/usr/opt/SUNWmd/man
. In Solaris 8, DiskSuite files were moved to "normal" system locations (/usr/sbin
) so path updates are not necessary.
The Environment
In this example we will be mirroring two disks, both on the same controller. The first disk will be the primary disk and the second will be the mirror. The disks are:
Disk 1: c0t0d0
Disk 2: c0t1d0
The partitions on the disks are presented below. There are a few items of note here. Each disk is partitioned exactly the same. This is necessary to properly implement the mirrors. Slice 2, commonly referred to as the 'backup' slice, which represents the entire disk must not be mirrored. There are situations where slice 2 is used as a normal slice, however, this author would not recommend doing so.
The three unassigned partitions on each disk are configured to each be 10MB. These 10MB slices will hold the DiskSuite State Database Replicas, or metadb
s. More information on the state database replicas will be presented below. In DiskSuite 4.2 and 4.2.1, a metadb
only occupies 1034 blocks (517KB) of space. In SVM, they occupy 8192 blocks (4MB). This can lead to many problems during an upgrade if the slices used for the metadb
replicas are not large enough to support the new larger databases.
Disk 1:
c0t0d0s0: /
c0t0d0s1: swap
c0t0d0s2: backup
c0t0d0s3: unassigned
c0t0d0s4: /var
c0t0d0s5: unassigned
c0t0d0s6: unassigned
c0t0d0s7: /export
Disk 2:
c0t1d0s0: /
c0t1d0s1: swap
c0t1d0s2: backup
c0t1d0s3: unassigned
c0t1d0s4: /var
c0t1d0s5: unassigned
c0t1d0s6: unassigned
c0t1d0s7: /export
The Database State Replicas
The database state replicas serve a very important function in DiskSuite. They are the repositories of information on the state and configuration of each metadevice (A logical device created through DiskSuite is known as a metadevice). Having multiple replicas is critical to the proper operation of DiskSuite.
· There must be a minimum of three replicas. DiskSuite requires at least half of the replicas to be present in order to continue to operate.
· 51% of the replicas must be present in order to reboot.
· Replicas should be spread across disks and controllers where possible.
· In a three drive configuration, at least one replica should be on each disk, thus allowing for a one disk failure.
· In a two drive configuration, such as the one we present here, there must be at least two replicas per disk. If there were only three and the disk which held two of them failed, there would not be enough information for DiskSuite to function and the system would panic.
Here we will create our state replicas using the metadb
command:
# metadb -a -f /dev/dsk/c0t0d0s3
# metadb -a /dev/dsk/c0t0d0s5
# metadb -a /dev/dsk/c0t0d0s6
# metadb -a /dev/dsk/c0t1d0s3
# metadb -a /dev/dsk/c0t1d0s5
# metadb -a /dev/dsk/c0t1d0s6
The -a
and -f
options used together create the initial replica. The -a
option attaches a new database device and automatically edits the appropriate files.
Initializing Submirrors
Each mirrored meta device contains two or more submirrors. The meta device gets mounted by the operating system rather than the original physical device. Below we will walk through the steps involved in creating metadevices for our primary filesystems.
Here we create the two submirrors for the /
(root
) filesystem, as well as a one way mirror between the meta device and its first submirror.
# metainit -f d10 1 1 c0t0d0s0
# metainit -f d20 1 1 c0t1d0s0
# metainit d0 -m d10
The first two commands create the two submirrors. The -f
option forces the creation of the submirror even though the specified slice is a mounted filesystem. The second two options 1 1
specify the number of stripes on the metadevice and the number of slices that make up the stripe. In a mirroring situation, this should always be 1 1
. Finally, we specify the logical device that we will be mirroring.
After mirroring the root partition, we need to run the metaroot
command. This command will update the root entry in /etc/vfstab
with the new metadevice as well as add the appropriate configuration information into /etc/system
. Ommitting this step is one of the most common mistakes made by those unfamiliar with DiskSuite. If you do not run the metaroot
command before you reboot, you will not be able to boot the system!
# metaroot d0
Next, we continue to create the submirrors and initial one way mirrors for the metadevices which will replace the swap, and /var
partitions.
# metainit -f d11 1 1 c0t0d0s1
# metainit -f d21 1 1 c0t1d0s1
# metainit d1 -m d11
# metainit -f d14 1 1 c0t0d0s4
# metainit -f d24 1 1 c0t1d0s4
# metainit d4 -m d14
# metainit -f d17 1 1 c0t0d0s7
# metainit -f d27 1 1 c0t1d0s7
# metainit d7 -m d17
Updating /etc/vfstab
The /etc/vfstab
file must be updated at this point to reflect the changes made to the system. The / partition will have already been updated through the metaroot
command run earlier, but the system needs to know about the new devices for swap and /var
. The entries in the file will look something like the following:
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d4 /dev/md/rdsk/d4 /var ufs 1 yes -
/dev/md/dsk/d7 /dev/md/rdsk/d7 /export ufs 1 yes -
Notice that the device paths for the disks have changed from the normal style /dev/dsk/c#t#d#s#
and /dev/rdsk/c#t#d#s#
to the new metadevice paths, /dev/md/dsk/d#
and /dev/md/rdsk/d#
.
The system can now be rebooted. When it comes back up it will be running off of the new metadevices. Use the df
command to verify this. In the next step we will attach the second half of the mirrors and allow the two drives to synchronize.
Attaching the Mirrors
Now we must attach the second half of the mirrors. Once the mirrors are attached it will begin an automatic synchonization process to ensure that both halves of the mirror are identical. The progress of the synchonization can be monitored using the metastat
command. To attach the submirrors, issue the following commands:
# metattach d0 d20
# metattach d1 d21
# metattach d4 d24
# metattach d7 d27
Final Thoughts
With an eye towards recovery in case of a future disaster it may be a good idea to find out the physical device path of the root partition on the second disk in order to create an Open Boot PROM (OBP) device alias to ease booting the system if the primary disk fails. In order to find the physical device path, simply do the following:
# ls -l /dev/dsk/c0t1d0s0
This should return something similar to the following:
/sbus@3,0/SUNW,fas@3,8800000/sd@1,0:a
Using this information, create a device alias using an easy to remember name such as altboot
. To create this alias, do the following in the Open Boot PROM:
ok nvalias altboot /sbus@3,0/SUNW,fas@3,8800000/sd@1,0:a
For more information on creating OBP device aliases, refer to the following document: TechNote: Modifying the CD-ROM nvalias on an Ultra 10 (IDE based) System" .
It is now possible to boot off of the secondary device in case of failure using boot altboot
from the OBP.
For more information on DiskSuite, including configuring metatrans devices for filesystem transaction logging, see the second part of this document, Additional Solstice DiskSuite Topics .
Solstice Disksuite is a free RAID volume manager from Sun Microsystems. This article describes the method of mirroring a boot drive using Solstice Disksuite via the command line. It is best used as an example or reference rather than a complete learning tool. This article assumes that you already have a little understanding of the basic concepts of SDS. You should read the documentation from Sun SDS 4.2.1 for more information.
Typically, environments will use SDS to mirror the boot drive of a system and use VxVM(Veritas Volume Manager) to control RAID for the application data usually residing in an external disk array(s). The idea is that SDS is easier to recover from a disaster such as boot disk failure than VxVM. However, VxVM's latest versions have made improvements in its design and have alleviated a good deal of the issues involved with disaster recovery. Proper planning and management will decrease the amount of time and complexity of recovering from a disaster if the boot drives have been encapsulated by VxVM.
Solstice Disksuite comes bundled with the Solaris 8 operating system. In previous versions, you had to purchase the server media(as opposed to workstation media) that shipped with either "Internet extensions CD(Solaris 2.6)" or the "Easy Access Server 3.0 CD(Solaris 7)".
Install Solstice Disksuite 4.2.1 on Solaris 8
Insert 2 of 2 software for Solaris 8
Change directory to the source directory
# CD /cdrom/sol_8_1000_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packages
Install SDS. I usually install all the packages even though I do not use the GUI.
# pkgadd -d . ; type "all"; answer "y" to continue with the installation for all questions.
Reboot the server after the successful installation.
# init 6
Prepare the drives for SDS
SDS uses metadevice state databases to store information on disk about the state of your DiskSuite configuration. The metadevice state database records and tracks changes made to your configuration. These databases must reside on a dedicated slice(in the case of a boot drive). I typically leave a small amount of unused space on the boot drive when installing Solaris for these databases. That is, I leave at least one unused slice with approximately 6 MB of free space available for SDS when installing Solaris. If you do not have any unused space and you have an unused slice, then you may borrow space from swap. Seedocumentation from Sun to perform this step.
Use format command to select the boot disk and create the slice that will hold the state database.
The output from format of my boot disk looks like the following. I have the following filesystems carved: /, swap, /var, /opt, and /export/home
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 1392 3.13GB (1393/0/0) 6563816
1 swap wu 1393 - 3131 3.91GB (1739/0/0) 8194168
2 backup wm 0 - 7505 16.86GB (7506/0/0) 35368272
3 var wm 3132 - 4870 3.91GB (1739/0/0) 8194168
4 unassigned wm 4871 - 5740 1.95GB (870/0/0) 4099440
5 home wm 5741 - 7479 3.91GB (1739/0/0) 8194168
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
Notice that slice 6 and 7 are unassigned and also there are 26 unused cylinders (7480 to 7505).
Create the dedicated slice for the state databases:
partition> 6
Part Tag Flag Cylinders Size Blocks
6 unassigned wm 7480 - 7504 57.52MB (25/0/0) 117800
Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]: 7480
Enter partition size[117800b, 25c, 57.52mb, 0.06gb]: 26c
partition> p
Current partition table (unnamed):
Total disk cylinders available: 7506 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 1392 3.13GB (1393/0/0) 6563816
1 swap wu 1393 - 3131 3.91GB (1739/0/0) 8194168
2 backup wm 0 - 7505 16.86GB (7506/0/0) 35368272
3 var wm 3132 - 4870 3.91GB (1739/0/0) 8194168
4 unassigned wm 4871 - 5740 1.95GB (870/0/0) 4099440
5 home wm 5741 - 7479 3.91GB (1739/0/0) 8194168
6 unassigned wm 7480 - 7505 59.82MB (26/0/0) 122512
7 unassigned wm 0 0 (0/0/0) 0
partition> label
Ready to label disk, continue? y
Note: in this example the slice is 60 MB. I made this slice bigger than what is needed. This is because I intend on adding other features to this configuration at a later time and need more space. However, you should be fine with approx. 6 Mb.
The partition table of the mirrored drive should be identical to the boot drive. Simply copy the partition table of the boot drive to its mirror
# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t8d0s2
fmthard: New volume table of contents now in place
In this case c0t0d0s2 is the boot drive and c0t8d0s2 is the mirror. Notice that it is on the same controller. You should try to mirror drives across different controllers if at all possible. Basically, the fmthard command takes the partition table of the boot disk and replicates it to the mirror drive. Use the format command to verify that the partitions are exactly identical.
Configure Solstice Disksuite
Create at least 2 state database replicas on each disk. A state database replica stores DiskSuite configuration and state information. Before you can use DiskSuite, you must create state database replicas.
# metadb -a -f -c2 /dev/dsk/c0t0d0s6 /dev/dsk/c0t8d0s6
Where -a means adding; -f means force because this is the first time creating databases; and -c 2 means create 2 databases in each slice.
Create the mirror for / filesystem
Here we are creating a one-way mirror which for the time being is composed of 1 drive. Later we will attach the second drive to the mirror. The metainit command defines the metadevices that the mirror will use. The device numbers (d##) are arbitrary. I typically use 10's(1st set of submirrors), 20's(2nd set of submirrors), and 30's(mirror containing the submirrors).
# metainit -f d10 1 1 c0t0d0s0
# metainit d20 1 1 c0t8d0s0
# metainit d30 -m d10
The -f means force the creation. The "1 1" means we are creating a 1 way 1 slice metadevice. "metainit d30 -m d10" creates the metadevice mirror and attaches the submirror "d10" to it.
Update the /etc/vfstab for / filesystem and /etc/system. Do not try to edit /etc/vfstab or /etc/system manually - Use the metaroot command!
# metaroot d30
Take a look at your /etc/vfstab and notice that the / filesystem will be mounted on /dev/md/dsk rather than /dev/dsk.
Create the mirror for all other filesystems
Swap filesystem:
# metainit -f d11 1 1 c0t0d0s1
# metainit d21 1 1 c0t8d0s1
# metainit d31 -m d11
/var filesystem:
# metainit -f d12 1 1 c0t0d0s3
# metainit d22 1 1 c0t8d0s3
# metainit d32 -m d12
/opt filesystem:
# metainit -f d13 1 1 c0t0d0s4
# metainit d23 1 1 c0t8d0s4
# metainit d33 -m d13
/export/home filesystem:
# metainit -f d14 1 1 c0t0d0s5
# metainit d24 1 1 c0t8d0s5
# metainit d34 -m d14
Edit the /etc/vfstab to mount the new mirrors on boot.
The /etc/vfstab prior to updating it:
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes -
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0t0d0s1 - - swap - no -
/dev/md/dsk/d30 /dev/md/rdsk/d30 / ufs 1 no -
/dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /var ufs 1 no -
/dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /export/home ufs 2 yes -
/dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /opt ufs 2 yes -
swap - /tmp tmpfs - yes -
The /etc/vfstab after updating it:
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes -
FD - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/md/dsk/d31 - - swap - no -
/dev/md/dsk/d30 /dev/md/rdsk/d30 / ufs 1 no -
/dev/md/dsk/d32 /dev/md/rdsk/d32 /var ufs 1 no -
/dev/md/dsk/d34 /dev/md/rdsk/d34 /export/home ufs 2 yes
-
/dev/md/dsk/d33 /dev/md/rdsk/d33 /opt ufs 2 yes -
swap - /tmp tmpfs - yes -
Be very careful when editing this file. It is very easy to mistype something and not be able to mount that filesystem when you reboot. I suggest carefully reviewing this file before proceeding.
Suppress harmless warning messages (optional)
Typically, after a SDS install, you will receive the harmless but annoying messages on boot-up: "WARNING: forceload of misc/md_hotspares failed". This is a nuisance, so I typically suppress them by creating an empty hot spare pool:
# metainit hsp001
Reboot and allow the system to mount the mirrors.
# lockfs -fa
# init 6
Ignore the following errors on boot. Suns reason for these errors: "These warnings are harmless, and may be ignored. They are an artifact of the way drivers are loaded during the boot process when you have a mirrored root or /usr file system.":
WARNING: forceload of misc/md_trans failed
WARNING: forceload of misc/md_raid failed
WARNING: forceload of misc/md_hotspares failed
Attach the second submirror to the mirror. This will cause the data from the boot disk to be synchronized with the mirrored drive.
# metattach d30 d20
# metattach d31 d21
# metattach d32 d22
# metattach d33 d23
# metattach d34 d24
Use metastat to track progress
# metastat
d30: Mirror
Submirror 0: d10
State: Okay
Submirror 1: d20
State: Resyncing
Resync in progress: 21 % done
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 6563816 blocks
...
Enable the mirror disk to be bootable:
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t8d0s0
# ls -l /dev/rdsk/c0t8d0s0
lrwxrwxrwx 1 root root 50 Aug 1 10:48 /dev/rdsk/c0t8d0s0 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@1,0:a,raw
Notice the red font. This is the device path that you will use to define the alternate boot path at the ok prompt.
ok nvalias mirror /pci@1f,0/pci@1,1/ide@3/dad@1,0:a,raw
NOTE: You may have to replace the "dad" with "disk" depending on the boot prom. Issue a "show-disks" at the ok prompt to verify the correct path to the disk. Use "devalias" at the ok prompt to also give clues as to which device path to use.
In case of primary boot disk failure, boot from the alternate disk
ok boot mirror
Initial Installation of Solstice DiskSuite
The following sections describe how to get ready for a local or remote installation of Solstice DiskSuite on a SPARC or x86 machine that has never had the software installed.
How to Prepare for Local Installation
This procedure assumes that Volume Management is running on the system. This procedure should be used for both SPARC and x86 architectures.
1. Insert the CD containing the software into the CD-ROM drive.
If necessary, insert the CD into a caddy first.
2. Change to the /cdrom/cdrom0/products/DiskSuite_4.2 directory.
local# cd /cdrom/cdrom0/products/DiskSuite_4.2/`uname -p` |
3. uname with the -p option places you in the directory that contains the correct version of DiskSuite for your architecture (either sparc or i386). You are now ready to install Solstice DiskSuite 4.2.
How to Prepare for Remote Installation
1. On the remote machine, insert the CD containing the software into the CD-ROM drive.
If necessary, insert the CD into a caddy first.
2. Put a line similar to one of the following into the /etc/dfs/dfstab file.
share -F nfs -o ro -d "CD-ROM Directory" /cdrom/cdrom0/products |
3. This line may be different, depending on how your system is networked.
4. Export the /cdrom/cdrom0/ directory with the shareall command.
5. On the local machine, log in as root.
6. Create the directory /cdrom/cdrom0/ (if it doesn't already exist).
local# mkdir -p /cdrom/cdrom0/ |
7. You may choose another directory besides /cdrom/cdrom0/.
8. Mount the CD-ROM as follows.
local# mount remote_machinename:/cdrom/cdrom0/ /cdrom/cdrom0/ |
9. Change to the /cdrom/cdrom0/products/DiskSuite_4.2 directory.
local# cd /cdrom/cdrom0/products/DiskSuite_4.2/`uname -p` |
10. uname with the -p option places you in the directory that contains the correct version of DiskSuite for your architecture (either sparc or i386).
11. You are now ready to install Solstice DiskSuite 4.2.
Choosing Packages
This section describes the three Solstice DiskSuite 4.2 packages.
Table 1-2 Solstice DiskSuite 4.2 Packages
Package | Contains ... | Required or Optional |
SUNWmd | The base DiskSuite product | Required |
SUNWmdg | DiskSuite Tool graphical user interface | Optional, but recommended |
SUNWmdn | DiskSuite SNMP log daemon | Optional |
Adding Packages
This section describes three methods available for installing the DiskSuite packages. To install packages with the Software Manager graphical user interface, go to "How to Add Packages Using Software Manager". To install packages with the pkgaddcommand, go to "How to Add Packages Using the pkgadd Command".
How to Add Packages Using Software Manager
This procedure assumes that root is a member of the sysadmin group (GID 14).
1. As root, start Software Manager.
2. In Solaris 2.5 and later versions, Admintool is invoked.
3. Select Add from the Edit menu.
The Admintool: Set Source Media window may appear. If so, specify the path to the installation media then click OK. The default path is a mounted CD.
4. Choose the packages you want to install.
Click the box next to each software component in the Software list. There are multiple packages per component.
When you choose to install software using Admintool, the packages are installed in the proper order, regardless of the selection order.
5. Click the Add button.
A Command Tool window appears for the installation process.
6. Respond with y to any prompts about continuing the installation.
7. Ignore the following message that appears after the installation has finished.
System warning: No such file or directory, extras menu file /usr/lib/.text_extras_menu (Textsw package) |
How to Add Packages Using the pkgadd Command
1. As root, change to the directory on which the CD-ROM is mounted.
Use the directory that you specified when preparing for a local or remote installation. Change to the/cdrom/cdrom0/products/DiskSuite_4.2/`uname -p` directory to be placed automatically in the directory that contains the distribution for your system's architecture.
# cd /cdrom/cdrom0/products/DiskSuite_4.2/`uname -p` |
2. Run pkgadd to install packages.
3.
4. Note -
5. If the pkgadd command is not in your current path, you must specify the full path to the command (/usr/sbin/pkgadd).
6.
7. Choose the packages you want to install.
pkgadd displays the available packages and prompts you to enter the number associated with a package.
8. Respond with y to any prompts about continuing with the installation.
pkgadd installs the DiskSuite files in the /usr/opt/SUNWmd directory, as well as in other system directories. The program loops until you press q to quit.
Example -- SPARC: Adding Packages from a Local CD Using pkgadd
The example shown on the following pages demonstrates installing DiskSuite on a SPARC system running Solaris 2.6.
Note -
Do not be concerned if the screens displayed when you install this product do not appear exactly as shown in the following example.
# pkgadd -d . The following packages are available: 1 SUNWmd Solstice DiskSuite (sparc) 4.2 2 SUNWmdg Solstice DiskSuite Tool (sparc) 4.2 3 SUNWmdn Solstice DiskSuite Log Daemon (sparc) 4.2 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: all Processing package instance from Solstice DiskSuite (sparc) 4.2 Copyright 1998 Sun Microsystems, Inc. All rights reserved. . . . (miscellaneous copyright information) . . . Using as the package base directory. ## Processing package information. ## Processing system information. 10 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of [y,n,?] y Installing Solstice DiskSuite as ## Executing preinstall script. ## Installing part 1 of 1. /etc/init.d/SUNWmd.init /etc/init.d/SUNWmd.sync /etc/opt/SUNWmd/lock /etc/opt/SUNWmd/md.ctlrmap /etc/rc2.d/S95SUNWmd.sync /kernel/drv/md /kernel/drv/sparcv9/md /kernel/misc/md_hotspares /kernel/misc/md_mirror /kernel/misc/md_notify /kernel/misc/md_raid /kernel/misc/md_stripe /kernel/misc/md_trans /kernel/misc/sparcv9/md_hotspares /kernel/misc/sparcv9/md_mirror /kernel/misc/sparcv9/md_notify /kernel/misc/sparcv9/md_raid /kernel/misc/sparcv9/md_stripe /kernel/misc/sparcv9/md_trans /usr/lib/drv/config_md.so.1 /usr/lib/drv/preen_md.so.1 /usr/opt/SUNWmd/lib/libap_dmd.so.1 /usr/opt/SUNWmd/lib/libssd.so.1 /usr/opt/SUNWmd/locale/C/LC_MESSAGES/SUNW_MD.po /usr/opt/SUNWmd/man/man1m/growfs.1m /usr/opt/SUNWmd/man/man1m/metaclear.1m /usr/opt/SUNWmd/man/man1m/metadb.1m /usr/opt/SUNWmd/man/man1m/metadetach.1m /usr/opt/SUNWmd/man/man1m/metahs.1m /usr/opt/SUNWmd/man/man1m/metainit.1m /usr/opt/SUNWmd/man/man1m/metaoffline.1m /usr/opt/SUNWmd/man/man1m/metaonline.1m /usr/opt/SUNWmd/man/man1m/metaparam.1m /usr/opt/SUNWmd/man/man1m/metarename.1m /usr/opt/SUNWmd/man/man1m/metareplace.1m /usr/opt/SUNWmd/man/man1m/metaroot.1m /usr/opt/SUNWmd/man/man1m/metaset.1m /usr/opt/SUNWmd/man/man1m/metastat.1m /usr/opt/SUNWmd/man/man1m/metasync.1m /usr/opt/SUNWmd/man/man1m/metattach.1m /usr/opt/SUNWmd/man/man1m/rpc.metad.1m /usr/opt/SUNWmd/man/man1m/rpc.metamhd.1m /usr/opt/SUNWmd/man/man4/md.cf.4 /usr/opt/SUNWmd/man/man4/md.tab.4 /usr/opt/SUNWmd/man/man4/mddb.cf.4 /usr/opt/SUNWmd/man/man7/md.7 /usr/opt/SUNWmd/sbin/growfs /usr/opt/SUNWmd/sbin/metaclear /usr/opt/SUNWmd/sbin/metadb /usr/opt/SUNWmd/sbin/metadetach /usr/opt/SUNWmd/sbin/metahs /usr/opt/SUNWmd/sbin/metainit /usr/opt/SUNWmd/sbin/metaoffline /usr/opt/SUNWmd/sbin/metaonline /usr/opt/SUNWmd/sbin/metaparam /usr/opt/SUNWmd/sbin/metarename /usr/opt/SUNWmd/sbin/metareplace /usr/opt/SUNWmd/sbin/metaroot /usr/opt/SUNWmd/sbin/metaset /usr/opt/SUNWmd/sbin/metastat /usr/opt/SUNWmd/sbin/metasync /usr/opt/SUNWmd/sbin/metattach /usr/opt/SUNWmd/sbin/rpc.metad /usr/opt/SUNWmd/sbin/rpc.metamhd [ verifying class ] cp/tmp/solstice_disksuite_beta/root_sparc/SUNWmd/reloc/etc/opt/SUNWmd/devpath /etc/opt/SUNWmd/devpath cp/tmp/solstice_disksuite_beta/root_sparc/SUNWmd/reloc/etc/opt/SUNWmd/md.cf /etc/opt/SUNWmd/md.cf cp /tmp/solstice_disksuite_beta/root_sparc/SUNWmd/reloc/etc/opt/SUNWmd/md.tab /etc/opt/SUNWmd/md.tab cp/tmp/solstice_disksuite_beta/root_sparc/SUNWmd/reloc/etc/opt/SUNWmd/mddb.cf /etc/opt/SUNWmd/mddb.cf cp/tmp/solstice_disksuite_beta/root_sparc/SUNWmd/reloc/kernel/drv/md.conf /kernel/drv/md.conf [ verifying class ] ## Executing postinstall script. Installation of was successful. Processing package instance from Solstice DiskSuite Tool (sparc) 4.2 Copyright 1998 Sun Microsystems, Inc. All rights reserved. . . . (miscellaneous copyright information) . . . Using as the package base directory. ## Processing package information. ## Processing system information. 13 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of [y,n,?] y Installing Solstice DiskSuite Tool as ## Executing preinstall script. ## Installing part 1 of 1. /etc/opt/SUNWmd/SDStool.xpm /usr/opt/SUNWmd/lib/X11/app-defaults/Metatool /usr/opt/SUNWmd/lib/X11/bitmaps/battery_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/battery_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/browser_icon.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/browser_icon_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/concat_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/concat_16_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/concat_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/concat_32_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/concat_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/concat_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/controller_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/controller_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/diskview_icon.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/diskview_icon_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/drop_none.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/drop_none_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/drop_not_ok.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/drop_not_ok_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/drop_ok.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/drop_ok_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/drop_site_selection.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/editor_icon.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/editor_icon_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/fan_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/fan_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/fibre_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/fibre_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/help_icon.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/help_icon_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/hsp_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/hsp_16_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/hsp_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/hsp_32_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/hsp_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/hsp_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/lock_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/lock_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/log_icon.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/log_icon_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/metadb_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/metadb_16_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/metadb_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/metadb_32_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/metadb_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/metadb_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/mirror_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/mirror_16_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/mirror_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/mirror_32_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/mirror_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/mirror_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/multi_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/multi_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/perfview_icon.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/perfview_icon_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/raid_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/raid_16_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/raid_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/raid_32_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/raid_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/raid_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/slice_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/slice_16_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/slice_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/slice_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/spundown_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/spundown_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/trans_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/trans_16_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/trans_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/trans_32_insens.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/trans_drag.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/trans_drag_mask.xbm /usr/opt/SUNWmd/lib/X11/bitmaps/wrench_16.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/wrench_32.xpm /usr/opt/SUNWmd/lib/X11/bitmaps/wrench_8.xpm /usr/opt/SUNWmd/lib/X11/uid/Metatool/Editor.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/EditorTmpl.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/PerfMonWindow.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/concat.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/hsp.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/logs.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/md.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/mirror.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/physicalview.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/popups.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/raid.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/slice.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/slicer.uid /usr/opt/SUNWmd/lib/X11/uid/Metatool/stripe.uid /usr/opt/SUNWmd/lib/metatool-toolsmenu /usr/opt/SUNWmd/locale/C/help/metatool/howto/Howto /usr/opt/SUNWmd/locale/C/help/metatool/howto/help.h.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/Reference /usr/opt/SUNWmd/locale/C/help/metatool/reference/catinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/cflog.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/controllerinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/devicestats.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/diskinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/diskview.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/diskview.slicefilters.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/find.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/hspbrowser.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/hspfilters.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/hspinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/logtofile.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/mappingselect.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/mdbrowser.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/mded.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/mdfilters.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/metadbinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/mirrorinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/phytolog.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/problist.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/raidinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/restore.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/save.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/slicebrowser.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/slicefilters.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/sliceinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/statgraphs.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/stripeinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/transinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/reference/trayinfo.r.hlp /usr/opt/SUNWmd/locale/C/help/metatool/topics/Topics /usr/opt/SUNWmd/locale/C/help/metatool/topics/glossary.t.hlp /usr/opt/SUNWmd/man/man1m/metatool.1m /usr/opt/SUNWmd/man/man4/metatool-toolsmenu.4 /usr/opt/SUNWmd/sbin/metatool [ verifying class ] ## Executing postinstall script. Installation of was successful. Processing package instance from Solstice DiskSuite Log Daemon (sparc) 4.2 Copyright 1998 Sun Microsystems, Inc. All rights reserved. . . . (miscellaneous copyright information) . . . Using as the package base directory. ## Processing package information. ## Processing system information. 11 package pathnames are already properly installed. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of [y,n,?] y Installing Solstice DiskSuite Log Daemon as ## Installing part 1 of 1. /etc/init.d/init.mdlogd /etc/rc3.d/S25mdlogd ] cp /tmp/solstice_disksuite_beta/root_sparc/SUNWmdn/reloc/etc/opt/SUNWmd/\ mdlogd.cf /etc/opt/SUNWmd/mdlogd.cf [ verifying class ] Installation of was successful. The following packages are available: 1 SUNWmd Solstice DiskSuite (sparc) 4.2 2 SUNWmdg Solstice DiskSuite Tool (sparc) 4.2 3 SUNWmdn Solstice DiskSuite Log Daemon (sparc) 4.2 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: q # |
Viewing Installed Packages
You can confirm that the DiskSuite software has been installed by using the pkginfo command:
# pkginfo system SUNWaccr System Accounting, (Root) system SUNWaccu System Accounting, (Usr) system SUNWadmap System administration applications . . . (other package information) system SUNWmd Solstice DiskSuite system SUNWmdg Solstice DiskSuite Tool system SUNWmdn Solstice DiskSuite Log Daemon . . . (other package information) |
The -l option gives detailed information about packages:
# pkginfo -l SUNWmd PKGINST: SUNWmd NAME: Solstice DiskSuite CATEGORY: system ARCH: sparc VERSION: 4.2,REV=1998.05.08.11.05.59 BASEDIR: / VENDOR: Sun Microsystems, Inc. DESC: Solstice DiskSuite PSTAMP: 08/05/98-13:14:37 INSTDATE: Aug 05 1998 14:03 VSTOCK: 258-6252-11 HOTLINE: Please contact your local service provider STATUS: completely installed FILES: 95 installed pathnames 22 shared pathnames 25 directories 37 executables 22424 blocks used (approx) # |
Setting the Path Variables
After installing the software, you must set the environment variables PATH
and MANPATH
.
The general requirements are as follows:
· Modify your PATH
variable to include /usr/opt/SUNWmd/sbin.
If you do not set this path, you may get other versions of the software.
· Modify your MANPATH to include /usr/opt/SUNWmd/man.
If you do not set this path, you could get man pages for the wrong release, or no man pages at all.
You can set these paths by using an editor to change your $HOME/.profile or ~/.cshrc file, as follows.
If you installed DiskSuite in the default directory, and:
· If you're using the Bourne shell, your $HOME/.profile file should have lines like this:
PATH=/usr/opt/SUNWmd/sbin:$PATH MANPATH=/usr/opt/SUNWmd/man:$MANPATH export PATH MANPATH |
· If you're using the C shell (csh.1), the ~/.cshrc file should have lines that look something like this:
set path = (/usr/opt/SUNWmd/sbin $path) setenv MANPATH /usr/opt/SUNWmd/man:$MANPATH |
Removing Packages
If you want to remove a DiskSuite package, you can remove the installed files using the pkgrm command. For example, to remove the SUNWmd package, type the following (as root):
Note -
Do not remove DiskSuite files using the rm command. Using pkgrm is the only valid way to remove these files.
How to Find the System Boot Slice When Upgrading the Solaris Operating System
On machines with mirrored root file systems, the Solaris installation software will display all slices used in the root mirror as available for upgrade. The slice names may also contain different controller numbers than those used for the same slices in the system's vfstab and in the DiskSuite configuration database. BugIDs 4046177, 4043749, 4017614, and 4041649 describe this problem.
If all the upgradable slices are on the same controller, you can ignore controller number changes and choose the slice with the same target and disk number as the root slice in the system vfstab. You can display the system vfstab during the upgrade, and before choosing which slice to upgrade, by performing the following steps:
1. When the Solaris installation software displays the list of upgradable slices, either start up a subshell in the windowing system or write down the names of the slices and exit the installation program.
2. In a command shell, mount either of the slices displayed by the install software on /a:
# mount /dev/dsk/slice_name /a |
3. Display the system's vfstab:
4. Restart or resume the Solaris installation program and upgrade the slice with the same target and disk numbers as the one mounted on the root filesystem in /a/etc/vfstab.
If the slices are on different controllers, follow the procedure below to find out which slice is the boot slice.
1. When the Solaris installation software displays the list of upgradable slices, either start up a subshell in the windowing system or write down the names of the slices and exit the installation program.
2. In a command shell, mount either of the slices displayed by the install software on /a:
# mount /dev/dsk/slice_name /a |
3. Display the system's vfstab:
4. Find the root slice in the vfstab, and display its /device path:
# ls -l /a/dev/dsk/root_slice_name |
5. Find the device path for each of the miniroot's slice names, using the following command:
# ls -l /dev/dsk/slice_name |
6. Restart or resume the installation program and upgrade the slice that has the same /device pathname as that of the system root slice, or the pathname most similar to it. There are minor differences between the path names displayed in Solaris 7 and Solaris 2.5, 2.5.1, and 2.6, and cmdk(7D) has been replaced by sd(7D) at the ends of the pathnames of SCSI devices in Solaris 7. However, you should have little difficulty choosing the pathname most similar to that of the boot device.
If you can't figure out which slice to upgrade, contact Sun Enterprise Services.
If you choose incorrectly and upgrade the wrong slice, the system will reboot under the old version of Solaris. If that happens, rerun the upgrade on the other slice.