345 lines
8.8 KiB
Plaintext
345 lines
8.8 KiB
Plaintext
.nr H1 5
|
|
.H 1 "Documentation Errors"
|
|
.\"
|
|
.\"List of errors in the product's user's/programmer's guides.
|
|
.\"
|
|
.\"
|
|
The following are some additional information about using the
|
|
Disk Plexing Option.
|
|
.H 2 "Creating a plexed root volume"
|
|
You can put your root filesystem on a plexed volume for greater
|
|
reliability. A plexed root volume allows your system to continue
|
|
running even if one of the root disks fail.
|
|
.P
|
|
A root volume can contain only a data subvolume. This subvolume can
|
|
be plexed. However, each plex can contain only a single disk.
|
|
The root filesystem can be either an EFS filesystem or an XFS
|
|
filesystem with an internal log.
|
|
.P
|
|
The following is the procedure for creating a plexed root volume:
|
|
.AL
|
|
.LI
|
|
We assume that we are starting with a system disk that already has
|
|
a filesystem and the right software installed.
|
|
If not, prepare the system disk by running
|
|
.I mkfs
|
|
and installing all the necessary software.
|
|
.LI
|
|
Make the root disk into an XLV volume. For this example, assume
|
|
that
|
|
.I /dev/dsk/dks0d1s0
|
|
is the root disk.
|
|
.P
|
|
.Ex
|
|
\f7xfs4 5# \f8xlv_make\f7
|
|
xlv_make> \f8vol xlv_root\f7
|
|
xlv_root
|
|
xlv_make> \f8data\f7
|
|
xlv_root.data
|
|
xlv_make> \f8ve -force /dev/dsk/dks0d1s0\f7
|
|
xlv_root.data.0.0
|
|
xlv_make> \f8end\f7
|
|
Object specification completed
|
|
xlv_make> exit
|
|
Newly created objects will be written to disk.
|
|
Is this what you want?(yes) \f8yes\f7
|
|
Invoking xlv_assemble
|
|
|
|
xfs4 6#
|
|
|
|
.Ee
|
|
.P
|
|
The result is that we have an XLV volume named
|
|
.I xlv_root
|
|
that contains
|
|
the root disk. Since XLV preserves the data in the user partitions,
|
|
the contents of the root disk are preserved.
|
|
Note that we used the
|
|
.I -force
|
|
option in
|
|
.IR xlv_make (1m)
|
|
because we are making a mounted disk partition into an XLV volume.
|
|
.LI
|
|
Prepare the second plex. This involves creating the plex in XLV and
|
|
also copying
|
|
.I sash
|
|
into the volume header in that plex. (We need to have a copy of
|
|
.I sash
|
|
on the alternate plex so we can boot off the alternate plex should
|
|
the primary plex fail.)
|
|
|
|
.Ex
|
|
\f7xfs4 7# \f8xlv_make\f7
|
|
xlv_make> \f8show\f7
|
|
|
|
Completed Objects
|
|
(1) vol xlv_root
|
|
ve xlv_root.data.0.0 [active]
|
|
start=0, end=1992629, (cat)grp_size=1
|
|
/dev/dsk/dks0d1s0 (1992630 blks)
|
|
|
|
xlv_make> \f8plex plex1\f7
|
|
plex1
|
|
xlv_make> \f8ve /dev/dsk/dks0d2s0\f7
|
|
plex1.0
|
|
xlv_make> \f8end\f7
|
|
Object specification completed
|
|
xlv_make> \f8exit\f7
|
|
Newly created objects will be written to disk.
|
|
Is this what you want?(yes) \f8yes\f7
|
|
Invoking xlv_assemble
|
|
|
|
|
|
.Ee
|
|
.P
|
|
Now we update the volume header of the second plex with
|
|
.IR sash .
|
|
Since
|
|
.I sash
|
|
is normally installed in the volume header of the root disk,
|
|
we can use
|
|
.IR dvhtool (1m)
|
|
to do so.
|
|
.Ex
|
|
\f7xfs4 3# \f8dvhtool -v get sash /tmp/sash /dev/rdsk/dks0d1vh\f7
|
|
xfs4 4# \f8dvhtool -v add /tmp/sash sash /dev/rdsk/dks0d2vh\f7
|
|
xfs4 5#
|
|
.Ee
|
|
.P
|
|
If they exist in the volume header of the root disk, you may also wish to
|
|
copy over
|
|
.I symmon
|
|
and
|
|
.I ide
|
|
into the volume header of the second plex using the same procedure.
|
|
.LI
|
|
At this point, you have a root volume that consists of a single
|
|
plex and a standalone plex of the same size. You can now attach the
|
|
plex to the volume using
|
|
.IR xlv_mgr (1m).
|
|
.Ex
|
|
\f7xfs4 9# \f8xlv_mgr\f7
|
|
xlv_mgr> \f8attach plex plex1 xlv_root.data\f7
|
|
xlv_mgr>
|
|
.Ee
|
|
.LI
|
|
You can make sure that the disk labels are updated correctly
|
|
by running
|
|
.I xlv_assemble
|
|
.IR -n .
|
|
The
|
|
.I -n
|
|
option tells
|
|
.IR xlv_assemble (1m)
|
|
to just read the disk labels but not make the volume active.
|
|
.Ex
|
|
|
|
\f7xfs4 10# \f8xlv_assemble -n\f7
|
|
VOL xlv_root flags=0x1, [complete]
|
|
DATA flags=0x0() open_flag=0x0() device=(192, 4)
|
|
PLEX flags=0x0
|
|
VE [active]
|
|
start=0, end=1992629, (cat)grp_size=1
|
|
/dev/dsk/dks0d1s0 (1992630 blks)
|
|
PLEX flags=0x0
|
|
VE [empty]
|
|
start=0, end=1992629, (cat)grp_size=1
|
|
/dev/dsk/dks0d2s0 (1992630 blks)
|
|
.Ee
|
|
Note how the root volume
|
|
.I xlv_root
|
|
now has two plexes. At this point,
|
|
you should see disk activity because XLV will start a plex revive
|
|
operation which will copy the contents of the original plex to the newly added plex.
|
|
.LI
|
|
At this point, we've created our plexed root volume. However,
|
|
the system is still running directly off the original boot disk,
|
|
.IR /dev/dsk/dks0d1s0 .
|
|
We now need to reboot the system so that it will
|
|
run on the XLV volume instead. Note that you do not need for the plex
|
|
revive to finish because revive will be restarted when the system
|
|
comes back up.
|
|
.P
|
|
.IR Warning ,
|
|
you should not mount the root volume at this time. This is because the
|
|
one of the underlying physical disks
|
|
.I /dev/dsk/dks0d1s0
|
|
is still
|
|
mounted as the root filesystem. Mounting the same set of disks at two
|
|
different mount points simultaneously can corrupt your filesystem.
|
|
.Ex
|
|
|
|
|
|
\f7xfs4 12# \f8init 6\f7
|
|
xfs4 13#
|
|
INIT: New run level: 6
|
|
The system is shutting down.
|
|
Please wait.
|
|
Unmounting cache file systems:
|
|
Removing swap areas.
|
|
Unmounting filesystems:
|
|
|
|
|
|
Starting up the system...
|
|
|
|
IRIX Release 5.3-xfs IP22 Version 11221102 System V
|
|
Copyright 1987-1994 Silicon Graphics, Inc.
|
|
All Rights Reserved.
|
|
|
|
WD95A SCSI controller 4 - differential external, rev 0, min xfer period 100ns
|
|
WD95A SCSI controller 5 - differential external, rev 0, min xfer period 100ns
|
|
xpi0: missing from slot 1
|
|
xpi0: missing from slot 0
|
|
xpi0: not an FDDI board in slot 2
|
|
gtr0: missing
|
|
gtr0: missing
|
|
|
|
The system is coming up.
|
|
rootfs=/dev/dsk/xlv_root
|
|
Starting XLV:
|
|
XLV Volume "xlv_root" [complete]
|
|
The system is coming up.
|
|
Mounting filesystems:
|
|
|
|
Configuring ec0 as xfs4
|
|
...
|
|
Mounting cache file systems:
|
|
The system is ready.
|
|
|
|
|
|
|
|
xfs4 login: \f8root\f7
|
|
IRIX Release 5.3-xfs IP22 xfs4
|
|
Copyright 1987-1994 Silicon Graphics, Inc. All Rights Reserved.
|
|
Last login: Wed Nov 23 12:16:13 PST 1994 on ttyd1
|
|
Welcome to xfs4
|
|
TERM = (iris-ansi)
|
|
|
|
.Ee
|
|
.P
|
|
At this point, we are running off the
|
|
.I xlv_root
|
|
volume. You can verify this by looking at
|
|
.IR /dev/root .
|
|
Note how its device number
|
|
.I (192,0)
|
|
matches that displayed by
|
|
.IR xlv_assemble (1m):
|
|
.Ex
|
|
|
|
\f7xfs4 1# \f8ls -l\f7
|
|
brw------- 2 root sys 192, 0 Oct 31 17:58 /dev/root
|
|
xfs4 2# \f8xlv_assemble -n\f7
|
|
VOL xlv_root flags=0x1, [complete]
|
|
DATA flags=0x0() open_flag=0x0() device=(192, 0)
|
|
PLEX flags=0x0
|
|
VE [active]
|
|
start=0, end=1992629, (cat)grp_size=1
|
|
/dev/dsk/dks0d1s0 (1992630 blks)
|
|
PLEX flags=0x0
|
|
VE [stale]
|
|
start=0, end=1992629, (cat)grp_size=1
|
|
/dev/dsk/dks0d2s0 (1992630 blks)
|
|
.Ee
|
|
|
|
.LI
|
|
At this point, we are running off both plexes. However, XLV
|
|
is still copying the data from the original plex to the newly
|
|
created plex. You can tell that a plex copy is in progress by typing:
|
|
.Ex
|
|
\f7xfs4 3# \f8ls -ef | grep xlv_plexd\f7
|
|
|
|
root 881 27 0 14:06:58 ? 0:00 xlv_plexd -v 2 -n root_vol.data -d 50331648 -b 128 -w 0 0 1992629
|
|
.Ee
|
|
|
|
The command line arguments to the xlv_plexd shows the volume being
|
|
revived. The revive is done when that daemon exits.
|
|
|
|
|
|
.H 2 "Booting off an alternate plex"
|
|
Once you have a plexed XLV root volume, you can boot off a secondary
|
|
plex if the primary plex became unavailable. Note that you should
|
|
do this only after the secondary plex has become active. (You can
|
|
see its state by running
|
|
.I xlv_mgr
|
|
or by running
|
|
.I xlv_assemble
|
|
.IR -n .)
|
|
.P
|
|
Since the boot prom does not understand logical volumes, you need
|
|
manually reconfigure the system to use an alternate disk. In this
|
|
case, you need to specify the disk that makes up the alternate plex
|
|
that you want to boot off.
|
|
This is how you do it for a Challenge S system:
|
|
.Ex
|
|
|
|
System Maintenance Menu
|
|
|
|
1) Start System
|
|
2) Install System Software
|
|
3) Run Diagnostics
|
|
4) Recover System
|
|
5) Enter Command Monitor
|
|
|
|
\f7Option? \f85\f7
|
|
Command Monitor. Type "exit" to return to the menu.
|
|
|
|
>> \f8printenv\f7
|
|
SystemPartition=dksc(0,1,8)
|
|
OSLoadPartition=dksc(0,1,0)
|
|
OSLoader=sash
|
|
OSLoadFilename=/unix
|
|
AutoLoad=No
|
|
rbaud=9600
|
|
TimeZone=PST8PDT
|
|
console=d
|
|
|
|
...
|
|
|
|
ConsoleIn=serial(0)
|
|
cpufreq=150
|
|
>> \f8setenv SystemPartition dksc(0,2,8)\f7
|
|
>> \f8setenv OSLoadPartition dksc(0,2,0)\f7
|
|
>> \f8boot\f7
|
|
84032+11488+3024+331696+26176d+4088+6240 entry: 0x89f97610
|
|
Standalone Shell SGI Version 5.3 ARCS Nov 18, 1994 (BE)
|
|
sash: boot
|
|
2922736+845584+212992 entry: 0x88062950
|
|
|
|
IRIX Release 5.3-xfs IP22 Version 11221102 System V
|
|
Copyright 1987-1994 Silicon Graphics, Inc.
|
|
All Rights Reserved.
|
|
|
|
WD95A SCSI controller 4 - differential external, rev 0, min xfer period 100ns
|
|
WD95A SCSI controller 5 - differential external, rev 0, min xfer period 100ns
|
|
xpi0: missing from slot 1
|
|
xpi0: missing from slot 0
|
|
xpi0: not an FDDI board in slot 2
|
|
gtr0: missing
|
|
gtr0: missing
|
|
|
|
rootfs=/dev/dsk/xlv_root
|
|
Starting XLV:
|
|
XLV Volume "xlv_root" [complete]
|
|
The system is coming up.
|
|
Mounting filesystems:
|
|
|
|
Configuring ec0 as xfs4
|
|
|
|
...
|
|
|
|
Mounting cache file systems:
|
|
The system is ready.
|
|
|
|
|
|
|
|
xfs4 login: \f8root\f7
|
|
IRIX Release 5.3-xfs IP22 xfs4
|
|
Copyright 1987-1994 Silicon Graphics, Inc. All Rights Reserved.
|
|
Last login: Sat Nov 26 07:40:05 PST 1994 on ttyd1
|
|
Welcome to xfs4 -- XFS group's test system
|
|
17-Nov-94 -- Running 5.3+xfs, bitbucket:/e/dist/XFS.oct17h
|
|
TERM = (iris-ansi)
|
|
|
|
.Ee
|