One Last Plea For Vinum Assistance

Drew Tomlinson drew at mykitchentable.net
Tue Jan 18 14:00:45 PST 2005


I sent the message below a couple of times but did not receive any response.
I assume that it's because either I have a really difficult problem or am
asking something really stupid.  :)  But anyway, I want to install 
additional
memory in this machine and am sure I will run across the same problems 
after
shutting down.  So if anyone has any suggestions on how I might solve this
issue, I'd really appreciate the input.

Thanks,

Drew

--- Original Message ---
Since an upgrade from 4.9 to 4.10, I've had problems with vinum.  The basic
problem is that upon reboot, two of my vinum drives show up as 
"referenced" and
thus create the associated chaos.  I've tried many things and fiddled 
around
quite a bit so I can't say exactly what I've done.  I can include all of 
the
entries in the history file since Oct. 31 if that's a help but it would 
be a
long list.

So prior to digging that deep, I will describe where I stand currently and
where I want to finish.  Currently, I have one vinum volume that I use for
/usr. Fortunately this volume is up and running or I would really be in a
mess. Here's the 'vinum list' output in this state:

blacklamb# vinum
vinum -> list
2 drives:
D disk1                 State: up       Device /dev/da0s1h      Avail: 
0/8383 MB (0%)
D disk2                 State: up       Device /dev/da1s1h      Avail: 
0/8383 MB (0%)

1 volumes:
V usr                   State: up       Plexes:       1 Size:         16 GB

1 plexes:
P usr.p0              S State: up       Subdisks:     2 Size:         16 GB

2 subdisks:
S usr.p0.s0             State: up       PO:        0  B Size:       8383 MB
S usr.p0.s1             State: up       PO:      256 kB Size:       8383 MB

I want to add another volume and mount it on /ftp.  After creating the 
volume,
vinum sees it and it appears OK as indicated in this output:

vinum -> list
5 drives:
D disk1                 State: up       Device /dev/da0s1h      Avail: 
0/8383 MB (0%)
D disk2                 State: up       Device /dev/da1s1h      Avail: 
0/8383 MB (0%)
D ftp1                  State: up       Device /dev/ad0s1h      Avail: 
0/76319 MB (0%)
D ftp2                  State: up       Device /dev/ad1s1h      Avail: 
0/76319 MB (0%)
D ftp3                  State: up       Device /dev/da3s1h      Avail: 
0/114473 MB (0%)

2 volumes:
V usr                   State: up       Plexes:       1 Size:         16 GB
V ftp                   State: up       Plexes:       1 Size:        260 GB

2 plexes:
P usr.p0              S State: up       Subdisks:     2 Size:         16 GB
P ftp.p0              C State: up       Subdisks:     3 Size:        260 GB

5 subdisks:
S usr.p0.s0             State: up       PO:        0  B Size:       8383 MB
S usr.p0.s1             State: up       PO:      256 kB Size:       8383 MB
S ftp.p0.s0             State: up       PO:        0  B Size:         74 GB
S ftp.p0.s1             State: up       PO:       74 GB Size:         74 GB
S ftp.p0.s2             State: up       PO:      149 GB Size:        111 GB

Next I 'quit' the vinum command line and fsck my newly created volume.  It
finishes successfully and I mount it:

blacklamb# df
Filesystem     1K-blocks      Used     Avail Capacity  Mounted on
/dev/da0s1a       302350    102088    176074    37%    /
/dev/vinum/usr  16639674   5433762   9874739    35%    /usr
procfs                 4         4         0   100%    /proc
/dev/vinum/ftp 265119539 119729707 132133856    48%    /ftp

I recheck with the 'vinum list' command and the output is the same as 
above.
Now I cross my fingers and reboot to see if the volume comes up properly on
startup.  However ftp3 (/dev/da3s1h) comes up 'referenced' and causes 
problems.

Mounting root from ufs:/dev/da0s1a
dumpon: crash dumps to /dev/da1s1b (13, 131081)
vinum: loaded
vinum: reading configuration from /dev/ad1s1h
vinum: ftp.p0.s2 is crashed
vinum: ftp.p0 is corrupt
vinum: updating configuration from /dev/ad0s1h
vinum: updating configuration from /dev/da1s1h
vinum: updating configuration from /dev/da0s1h
vinum: /dev is mounted read-only, not rebuilding /dev/vinum
Warning: defective objects

D ftp3                  State: referenced       Device  Avail: 0/0 MB
P ftp.p0              C State: corrupt  Subdisks:     3 Size:        260 GB
S ftp.p0.s2             State: crashed  PO:      149 GB Size:        111 GB
swapon: adding /dev/da1s1b as swap device
Automatic boot in progress...
/dev/da0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/da0s1a: clean, 100130 free (938 frags, 12399 blocks, 0.6% 
fragmentation)
/dev/vinum/ftp: CANNOT READ: BLK 546979872
/dev/vinum/ftp: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
/dev/vinum/ftp: CANNOT WRITE: BLK 2800
/dev/vinum/ftp: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
/dev/vinum/usr: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/vinum/usr: clean, 11205903 free (152463 frags, 1381680 blocks, 0.9% 
fragmentation)
THE FOLLOWING FILE SYSTEM HAD AN UNEXPECTED INCONSISTENCY:
     /dev/vinum/ftp (/ftp)
File system preen failed, trying fsck -y . . .
** /dev/da0s1a
** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2053 files, 51045 used, 100130 free (938 frags, 12399 blocks, 0.6% 
fragmentation)
** /dev/vinum/usr
** Last Mounted on /usr
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
401072 files, 5433771 used, 11205903 free (152463 frags, 1381680 blocks, 
0.9% fragmentation)
** /dev/vinum/ftp

CANNOT READ: BLK 546979872
UNEXPECTED SOFT UPDATE INCONSISTENCY

CONTINUE? yes

THE FOLLOWING DISK SECTORS COULD NOT BE READ: 546979872, 546979873, 
546979874, 546979875,
/dev/vinum/ftp: CANNOT FIGURE OUT FILE SYSTEM PARTITION

UNEXPECTED SOFT UPDATE INCONSISTENCY
WARNING: R/W mount of /ftp denied.  Filesystem is not clean - run fsck
mount: /dev/vinum/ftp: Operation not permitted
Mounting /etc/fstab filesystems failed, startup aborted
Enter full pathname of shell or RETURN for /bin/sh:

I enter the shell and run 'vinum list':

vinum -> list
4 drives:
D ftp1                  State: up       Device /dev/ad0s1h      Avail: 
0/76319 MB (0%)
D ftp2                  State: up       Device /dev/ad1s1h      Avail: 
0/76319 MB (0%)
D disk1                 State: up       Device /dev/da0s1h      Avail: 
0/8383 MB (0%)
D disk2                 State: up       Device /dev/da1s1h      Avail: 
0/8383 MB (0%)
D ftp3                  State: referenced       Device  Avail: 0/0 MB

2 volumes:
V usr                   State: up       Plexes:       1 Size:         16 GB
V ftp                   State: up       Plexes:       1 Size:        260 GB

2 plexes:
P usr.p0              S State: up       Subdisks:     2 Size:         16 GB
P ftp.p0              C State: corrupt  Subdisks:     3 Size:        260 GB

5 subdisks:
S usr.p0.s0             State: up       PO:        0  B Size:       8383 MB
S usr.p0.s1             State: up       PO:      256 kB Size:       8383 MB
S ftp.p0.s0             State: up       PO:        0  B Size:         74 GB
S ftp.p0.s1             State: up       PO:       74 GB Size:         74 GB
S ftp.p0.s2             State: crashed  PO:      149 GB Size:        111 GB

Now I delete all references to the ftp volume by running these commands:

vinum -> rm -f ftp.p0.s2
vinum: removing ftp.p0.s2
Correcting length of ftp.p0: was 547043829, is 312602446
vinum: ftp.p0 is up
vinum -> rm -f ftp.p0.s1
vinum: removing ftp.p0.s1
Correcting length of ftp.p0: was 312602446, is 156301223
vinum -> rm -f ftp.p0.s0
vinum: removing ftp.p0.s0
vinum -> rm -f ftp.p0  vinum: removing ftp.p0
vinum: ftp is down
vinum -> rm -f ftp  vinum: removing ftp
vinum -> rm -f ftp3
vinum -> rm -f ftp2
vinum -> rm -f ftp1

Yet the 'reference to ftp3 remains.

vinum -> list
1 drives:
D disk1                 State: up       Device /dev/da0s1h      Avail: 
0/8383 MB (0%)
D disk2                 State: up       Device /dev/da1s1h      Avail: 
0/8383 MB (0%)
D ftp3                  State: referenced       Device  Avail: 0/0 MB

1 volumes:
V usr                   State: up       Plexes:       1 Size:         16 GB

1 plexes:
P usr.p0              S State: up       Subdisks:     2 Size:         16 GB

2 subdisks:
S usr.p0.s0             State: up       PO:        0  B Size:       8383 MB
S usr.p0.s1             State: up       PO:      256 kB Size:       8383 MB

Why does the list output show "1 drives:" when there are three listed 
and two
working?  Anyway, I've been here before and I quit vinum.  Then I issue 
these
commands:

# df
Filesystem     512-blocks     Used    Avail Capacity  Mounted on
/dev/da0s1a        604700   204180   352144    37%    /
/dev/vinum/usr   33279348 10867544 19749458    35%    /usr
procfs                  8        8        0   100%    /proc
# umount /usr
# vinum stop
vinum: unloaded
vinum unloaded
# vinum start
vinum: loaded
vinum: reading configuration from /dev/da1s1h
vinum: updating configuration from /dev/da0s1h

Then I issue a 'vinum list' and all seems well.

# vinum
vinum -> list
2 drives:
D disk1                 State: up       Device /dev/da0s1h      Avail: 
0/8383 MB (0%)
D disk2                 State: up       Device /dev/da1s1h      Avail: 
0/8383 MB (0%)

1 volumes:
V usr                   State: up       Plexes:       1 Size:         16 GB

1 plexes:
P usr.p0              S State: up       Subdisks:     2 Size:         16 GB

2 subdisks:
S usr.p0.s0             State: up       PO:        0  B Size:       8383 MB
S usr.p0.s1             State: up       PO:      256 kB Size:       8383 MB
vinum ->

Since everything appears correct, this seems like a good place to do 'vinum
saveconfig'.  Next I edit /etc/fstab so only /ftp is not mounted and 
reboot.
The system reboots fine and the 'vinum list' is as it is immediately above.


Running in full production mode, I create the ftp volume again:

vinum -> create -f vinum_ftp.conf
Dec 24 16:37:45 blacklamb /kernel: vinum: drive ftp1 is up
Dec 24 16:37:45 blacklamb /kernel: vinum: drive ftp2 is up
Dec 24 16:37:45 blacklamb /kernel: vinum: drive ftp3 is up
5 drives:
D disk1                 State: up       Device /dev/da0s1h      Avail: 
0/8383 MB (0%)
D disk2                 State: up       Device /dev/da1s1h      Avail: 
0/8383 MB (0%)
D ftp1                  State: up       Device /dev/ad0s1h      Avail: 
0/76319 MB (0%)
D ftp2                  State: up       Device /dev/ad1s1h      Avail: 
0/76319 MB (0%)
D ftp3                  State: up       Device /dev/da3s1h      Avail: 
0/114473 MB (0%)

2 volumes:
V usr                   State: up       Plexes:       1 Size:         16 GB
V ftp                   State: up       Plexes:       1 Size:        260 GB

2 plexes:
P usr.p0              S State: up       Subdisks:     2 Size:         16 GB
P ftp.p0              C State: up       Subdisks:     3 Size:        260 GB

5 subdisks:
S usr.p0.s0             State: up       PO:        0  B Size:       8383 MB
S usr.p0.s1             State: up       PO:      256 kB Size:       8383 MB
S ftp.p0.s0             State: up       PO:        0  B Size:         74 GB
S ftp.p0.s1             State: up       PO:       74 GB Size:         74 GB
S ftp.p0.s2             State: up       PO:      149 GB Size:        111 GB
Dec 24 16:37:45 blacklamb /kernel: vinum: ftp.p0.s0 is up
Dec 24 16:37:45 blacklamb /kernel: vinum: ftp.p0.s1 is up
Dec 24 16:37:45 blacklamb /kernel: vinum: ftp.p0.s2 is up
Dec 24 16:37:45 blacklamb /kernel: vinum: ftp.p0 is up
Dec 24 16:37:45 blacklamb /kernel: vinum: ftp is up

After running fsck, I can mount and access the volume.  The system 
continues to
run fine until the next reboot where the same problems start all over 
again.  I
also have the same problem with another volume I wish to run called 
"backup".
How can I fix my vinum volumes so they survive reboots?

Thanks for your help and Happy Holidays!

Drew


More information about the freebsd-questions mailing list