[mod.computers.vax] Comments about volume sets

MHJohnson@HI-MULTICS.ARPA (Mark Johnson) (09/11/86)

  I have been running our 785 system w/ a three disk volume set for
quite a while.  Over the Labor Day holiday, one of the disks died and
the data was not recoverable.  In the aftermath of this failure we noted
the following things that other users of volume sets might be interested
in:

  (1) Do NOT use MOUNT/BIND to add the newly initalized disk back into
the volume set.  We did this and had a four disk volume set (missing
drive 3) with only three disk drives.  We went through great gyrations
using the console floppy to make a volume 3 on disk & volume 4 on floppy
so we could mount all the volumes of the volume set.

  (2) You cannot remove a disk from a volume set once you have added it.

  (3) You cannot use BACKUP/IMAGE to restore a volume set made on a four
disk volume set onto a three disk volume set.

  (4) You cannot run ANALYZE/DISK unless all disks of the volume set are
mounted at the same time.

  (5) There is a limit to the size of a directory file (1024 blocks or
so).  We filled up [SYSLOST] when we ran ANALYZE/DISK on the volume set
described in (1).  We had to rename [SYSLOST] & make a new one & do
ANALYZE/DISK again.

  (6) Large directories (the 1024 block size ones) are VERY slow to add
or delete files from.  It took over 8 hours to delete the 22k files from
our filled up [SYSLOST] directory.

  Overall, I recommend the regular use of IMAGE backups of volume sets
along with a daily (or more frequent) incremental backups.  It is far
faster to recover from backup tapes than to try to extract the files on
the remaining disks of the volume set.  It took us almost 36 hours to
recover our volume set the hard way.  I estimate it would take us about
1/3 the time if we used our backup tapes & said `oh well' to the stuff
after the last incremental backup.

  By the way, we are still using the volume set even after the disaster.
The advantages of the volume set on a daily basis outweigh the problem
we had this last holiday weekend.
  --Mark <MHJohnson @ HI-MULTICS.ARPA>

carl@CITHEX.CALTECH.EDU (Carl J Lydick) (09/14/86)

It's not quite true that you can't remove a disk from a volume set once
it's been added; in fact, it's not even all that difficult to do.  You do,
however, have to edit the home block (and for consistency's sake, the backup
home block) of the disk in question and possibly [000000]VOLSET.SYS on the
first disk of the set.  The relative volume number is stored in bytes 38-39
of the home block, and the number of volumes in the set is stored in bytes
40-41.  In addition, there is a two-byte checksum in bytes 58-59 for the
home block up to that point, and another in bytes 510-511 for the entire
block.  The home block is virtual block 2 of the index file, and is the
first good physical block in the sequence 1 + n * delta, where delta is
obtained from the following table:
	Geometry	delta
	s x 1 x 1:	1
	1 x t x 1:	1
	1 x 1 x c:	1
	s x t x 1:	s + 1
	s x 1 x c:	s + 1
	1 x t x c:	t + 1
	s x t x c:	(t + 1) * s + 1
where s is the number of sectors per track, t the number of tracks per
cylinder, and c the number of cylinders on the disk.

The backup home block is a block further down in the sequence, (typically
the next good block in the sequence) located in one of virtual blocks
v * 2 + 1 through v * 3, where v is the cluster factor for the disk.  The 
entire cluster is made up of duplicates of the home block.
I've succeeded in removing a disk from a volume set by using the DCL OPEN,
READ, and WRITE commands, along with the lexical functions, so it's really
not all that difficult.