Solstice Disksuite can do quite a bit more than mirror the operating system. That, however, is all I've ever used it for. To find out what else it can do, and to find out how to do what else it can do, please see the Solstice Disksuite reference and users' guide at http://docs.sun.com
The procedures below show how to go about initially configuring Solstice Disk suite, mirroring the / filesystem, then mirroring all operating system filesystems and swap.
State Database Replicas
contain configuration and state information. There should be at least three of them. The system will continue to run as long as at least half of the state database replicas are available. It will panic if less than half of the state database replicas are available. The system will refuse to boot unless 1 more than half of the state database replicas are available (the old n+1 thing...)Obviously, the state database replicas should be put on separate disks when/where possible to ensure availability. Use the following table as a guide to state database replica placement:
| Disks | Placement |
|---|---|
| 1 | 3 all on one slice. |
| 2-4 | 2 on each disk |
| 5+ | 1 on each disk |
The logic for the "2 on each disk" middle entry is simple. Assume you have three disks and 2 state database replicas on one disk and one on the other. Now, the disk with the 2 replicas goes away. You now have less than half of the available replicas and your system panics and won't reboot because there's less than half plus one. Bummer.
There are three ways to initially create the State Database Replicas depending on how established your system is:
metadb -c 2 -a -f c0t1d0s3 c1t1d0s3 c2t1d0s3 c3t1d0s3
| -a | Attach a new device |
| -f | Force creation/deletion of database replica on listed device. |
| -c # | Create the listed number of copies on the listed devices. |
If, at some future point, you add additional disks and want to incread the number of state database replicas, execute metadb -a ${slice}. To delete state database replicas, execute metadb -d ${slice}
Use the following procedure to mirror the / filesystem:
metainit -f d11 1 1 c0t3d0s0
| -f | Forces the command to continue even if opeating on a mounted filesystem (like /, /usr, etc). |
| d11 | The name of the new concat |
| 1 | The number of stripes |
| 1 | The number of slices making up the stripe |
| c0t3d0s0 | Self explanatory; ensure you use the correct driver. |
metainit d21 1 1 c1t3d0s0
metainit d1 -m d11
metaroot d1
lockfs -fa
| -f | Flushes any active transactions |
| -a | Do this on all mounted filesytems. |
matattach d1 d21
Use the following procedure to mirror all other operating system related slices including swap.
metainit -f d12 1 1 c0t3d0s6
metainit d22 1 1 c1t3d0s6
metainit d2 -m d12
metattach d2 d22
| Document: | |
| URL: | |
| Last updated: |