[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sorely missing gvinum start or attach
Hi there,
I'm setting up a system (STABLE from around Jan 11th) with gvinum, and
I'm wondering how to add my second drive to the setup. I've can boot
from gvinum, and knowing that 'attach' is not yet implemented, I've
tried zeroing the gvinum on-disk configuration and recreating it with
the second disk. This works, but (a) gvinum marks both disks as up,
which I know is not true, so I (b) 'setstate stale' my second drive.
Trying to 'start' it doesn't work, but what's worse, (c) upon rebooting
(hoping that gvinum will start to rebuild the stale drive) gvinum marks
everything as stale!!
I figure I can just dd the whole vinum slice, but I'd like to see gvinum
rebuilding a drive...
Attached are two script files (*.out), the vinum config files used and
the detailed vinum versions used. gvinum's messages in stderr (not
recorded in the script) were:
a) on creating the configuration:
gvinum: size of sd scratch.p0.s0 is not a multiple of plex stripesize,
taking off 314368 bytes
gvinum: size of sd scratch.p0.s1 is not a multiple of plex stripesize,
taking off 314368 bytes
GEOM_VINUM: subdisk swap.p1.s0 state change: stale -> up
GEOM_VINUM: plex swap.p1 state change: down -> up
GEOM_VINUM: subdisk std-root.p1.s0 state change: stale -> up
GEOM_VINUM: plex std-root.p1 state change: down -> up
GEOM_VINUM: subdisk base.p1.s0 state change: stale -> up
GEOM_VINUM: plex base.p1 state change: down -> up
GEOM_VINUM: subdisk apps.p1.s0 state change: stale -> up
GEOM_VINUM: plex apps.p1 state change: down -> up
GEOM_VINUM: subdisk package.p1.s0 state change: stale -> up
GEOM_VINUM: plex package.p1 state change: down -> up
GEOM_VINUM: subdisk std-var.p1.s0 state change: stale -> up
GEOM_VINUM: plex std-var.p1 state change: down -> up
GEOM_VINUM: subdisk scratch.p0.s1 state change: down -> up
GEOM_VINUM: subdisk home.p1.s0 state change: stale -> up
GEOM_VINUM: plex home.p1 state change: down -> up
GEOM_VINUM: subdisk swap.p0.s0 state change: down -> up
GEOM_VINUM: plex swap.p0 state change: down -> up
GEOM_VINUM: subdisk std-root.p0.s0 state change: down -> up
GEOM_VINUM: plex std-root.p0 state change: down -> up
GEOM_VINUM: subdisk base.p0.s0 state change: down -> up
GEOM_VINUM: plex base.p0 state change: down -> up
GEOM_VINUM: subdisk apps.p0.s0 state change: down -> up
GEOM_VINUM: plex apps.p0 state change: down -> up
GEOM_VINUM: subdisk package.p0.s0 state change: down -> up
GEOM_VINUM: plex package.p0 state change: down -> up
GEOM_VINUM: subdisk std-var.p0.s0 state change: down -> up
GEOM_VINUM: plex std-var.p0 state change: down -> up
GEOM_VINUM: subdisk scratch.p0.s0 state change: down -> up
GEOM_VINUM: plex scratch.p0 state change: down -> up
GEOM_VINUM: subdisk home.p0.s0 state change: down -> up
GEOM_VINUM: plex home.p0 state change: down -> up
b) on setstate stale estribor
GEOM_VINUM: subdisk swap.p1.s0 state change: up -> down
GEOM_VINUM: plex swap.p1 state change: up -> down
GEOM_VINUM: subdisk std-root.p1.s0 state change: up -> down
GEOM_VINUM: plex std-root.p1 state change: up -> down
GEOM_VINUM: subdisk base.p1.s0 state change: up -> down
GEOM_VINUM: plex base.p1 state change: up -> down
GEOM_VINUM: subdisk apps.p1.s0 state change: up -> down
GEOM_VINUM: plex apps.p1 state change: up -> down
GEOM_VINUM: subdisk package.p1.s0 state change: up -> down
GEOM_VINUM: plex package.p1 state change: up -> down
GEOM_VINUM: subdisk std-var.p1.s0 state change: up -> down
GEOM_VINUM: plex std-var.p1 state change: up -> down
GEOM_VINUM: subdisk scratch.p0.s1 state change: up -> down
GEOM_VINUM: plex scratch.p0 state change: up -> down
GEOM_VINUM: subdisk home.p1.s0 state change: up -> down
GEOM_VINUM: plex home.p1 state change: up -> down
c) on rebooting
GEOM_VINUM: subdisk scratch.p0.s1 state change: down -> stale
GEOM_VINUM: subdisk swap.p0.s0 state change: down -> stale
GEOM_VINUM: subdisk std-root.p0.s0 state change: down -> stale
GEOM_VINUM: subdisk base.p0.s0 state change: down -> stale
GEOM_VINUM: subdisk apps.p0.s0 state change: down -> stale
GEOM_VINUM: subdisk package.p0.s0 state change: down -> stale
GEOM_VINUM: subdisk std-var.p0.s0 state change: down -> stale
GEOM_VINUM: subdisk scratch.p0.s0 state change: down -> stale
GEOM_VINUM: subdisk home.p0.s0 state change: down -> stale
How can I workaround this lack of gvinum functionality?
--
pica
Script started on Sat Jan 14 23:12:18 2006
gromit# dd if=/dev/zero of=/dev/ad4s1d count=9
9+0 records in
9+0 records out
4608 bytes transferred in 0.001490 secs (3092376 bytes/sec)
gromit# dd if=/dev/zero of=/dev/ad4s1d count=9
9+0 records in
9+0 records out
4608 bytes transferred in 0.001460 secs (3156001 bytes/sec)
gromit# kldload geom_vinum
gromit# gvinum create ./both-drives.vinum
2 drives:
D estribor State: up /dev/ad6s1d A: 214405/237444 MB (90%)
D babor State: up /dev/ad4s1d A: 214405/237444 MB (90%)
8 volumes:
V home State: up Plexes: 2 Size: 10 GB
V scratch State: up Plexes: 1 Size: 3071 MB
V std-var State: up Plexes: 2 Size: 2048 MB
V package State: up Plexes: 2 Size: 1024 MB
V apps State: up Plexes: 2 Size: 5120 MB
V base State: up Plexes: 2 Size: 512 MB
V swap State: up Plexes: 2 Size: 2047 MB
V std-root State: up Plexes: 2 Size: 512 MB
15 plexes:
P home.p1 C State: up Subdisks: 1 Size: 10 GB
P home.p0 C State: up Subdisks: 1 Size: 10 GB
P scratch.p0 S State: up Subdisks: 2 Size: 3071 MB
P std-var.p1 C State: up Subdisks: 1 Size: 2048 MB
P std-var.p0 C State: up Subdisks: 1 Size: 2048 MB
P package.p1 C State: up Subdisks: 1 Size: 1024 MB
P package.p0 C State: up Subdisks: 1 Size: 1024 MB
P apps.p1 C State: up Subdisks: 1 Size: 5120 MB
P apps.p0 C State: up Subdisks: 1 Size: 5120 MB
P base.p1 C State: up Subdisks: 1 Size: 512 MB
P base.p0 C State: up Subdisks: 1 Size: 512 MB
P swap.p1 C State: up Subdisks: 1 Size: 2047 MB
P swap.p0 C State: up Subdisks: 1 Size: 2047 MB
P std-root.p1 C State: up Subdisks: 1 Size: 512 MB
P std-root.p0 C State: up Subdisks: 1 Size: 512 MB
16 subdisks:
S home.p1.s0 State: up D: estribor Size: 10 GB
S home.p0.s0 State: up D: babor Size: 10 GB
S scratch.p0.s1 State: up D: estribor Size: 1535 MB
S scratch.p0.s0 State: up D: babor Size: 1535 MB
S std-var.p1.s0 State: up D: estribor Size: 2048 MB
S std-var.p0.s0 State: up D: babor Size: 2048 MB
S package.p1.s0 State: up D: estribor Size: 1024 MB
S package.p0.s0 State: up D: babor Size: 1024 MB
S apps.p1.s0 State: up D: estribor Size: 5120 MB
S apps.p0.s0 State: up D: babor Size: 5120 MB
S base.p1.s0 State: up D: estribor Size: 512 MB
S base.p0.s0 State: up D: babor Size: 512 MB
S swap.p1.s0 State: up D: estribor Size: 2047 MB
S swap.p0.s0 State: up D: babor Size: 2047 MB
S std-root.p1.s0 State: up D: estribor Size: 512 MB
S std-root.p0.s0 State: up D: babor Size: 512 MB
gromit# gvinum setstate stale estribor
gromit# gvinum start estribor
gvinum: can't start: cannot start 'estribor' - not yet supported
gromit# D
gromit# ^Dexit
Script done on Sat Jan 14 23:13:13 2006
Script started on Sat Jan 14 23:17:49 2006
gromit# kldload geom_vinum
gromit# gvinum l
2 drives:
D babor State: up /dev/ad4s1d A: 214405/237444 MB (90%)
D estribor State: up /dev/ad6s1d A: 214405/237444 MB (90%)
8 volumes:
V std-root State: down Plexes: 2 Size: 512 MB
V swap State: down Plexes: 2 Size: 2047 MB
V base State: down Plexes: 2 Size: 512 MB
V apps State: down Plexes: 2 Size: 5120 MB
V package State: down Plexes: 2 Size: 1024 MB
V std-var State: down Plexes: 2 Size: 2048 MB
V scratch State: down Plexes: 1 Size: 3071 MB
V home State: down Plexes: 2 Size: 10 GB
15 plexes:
P std-root.p0 C State: down Subdisks: 1 Size: 512 MB
P std-root.p1 C State: down Subdisks: 1 Size: 512 MB
P swap.p0 C State: down Subdisks: 1 Size: 2047 MB
P swap.p1 C State: down Subdisks: 1 Size: 2047 MB
P base.p0 C State: down Subdisks: 1 Size: 512 MB
P base.p1 C State: down Subdisks: 1 Size: 512 MB
P apps.p0 C State: down Subdisks: 1 Size: 5120 MB
P apps.p1 C State: down Subdisks: 1 Size: 5120 MB
P package.p0 C State: down Subdisks: 1 Size: 1024 MB
P package.p1 C State: down Subdisks: 1 Size: 1024 MB
P std-var.p0 C State: down Subdisks: 1 Size: 2048 MB
P std-var.p1 C State: down Subdisks: 1 Size: 2048 MB
P scratch.p0 S State: down Subdisks: 2 Size: 3071 MB
P home.p0 C State: down Subdisks: 1 Size: 10 GB
P home.p1 C State: down Subdisks: 1 Size: 10 GB
16 subdisks:
S std-root.p0.s0 State: stale D: babor Size: 512 MB
S std-root.p1.s0 State: stale D: estribor Size: 512 MB
S swap.p0.s0 State: stale D: babor Size: 2047 MB
S swap.p1.s0 State: stale D: estribor Size: 2047 MB
S base.p0.s0 State: stale D: babor Size: 512 MB
S base.p1.s0 State: stale D: estribor Size: 512 MB
S apps.p0.s0 State: stale D: babor Size: 5120 MB
S apps.p1.s0 State: stale D: estribor Size: 5120 MB
S package.p0.s0 State: stale D: babor Size: 1024 MB
S package.p1.s0 State: stale D: estribor Size: 1024 MB
S std-var.p0.s0 State: stale D: babor Size: 2048 MB
S std-var.p1.s0 State: stale D: estribor Size: 2048 MB
S scratch.p0.s0 State: stale D: babor Size: 1535 MB
S scratch.p0.s1 State: stale D: estribor Size: 1535 MB
S home.p0.s0 State: stale D: babor Size: 10 GB
S home.p1.s0 State: stale D: estribor Size: 10 GB
gromit# ^Dexit
Script done on Sat Jan 14 23:18:14 2006
drive babor device /dev/ad4s1d
# vol root is after swap
volume std-root
plex org concat
sd len 1048576s driveoffset 4194288s drive babor
# vol swap is the first one, starts after vinum labels
# offset is 281-16
volume swap
plex org concat
sd len 4194023s driveoffset 265s drive babor
volume base
plex org concat
sd len 1048576s driveoffset 5242864s drive babor
# 5GB
volume apps
plex org concat
sd len 10485760s driveoffset 6291440s drive babor
# 1 GB
volume package
plex org concat
sd len 2097152s driveoffset 16777200s drive babor
# vol std-var: 2GB
volume std-var
plex org concat
sd len 4194304s driveoffset 18874352s drive babor
# vol scratch
# should be striped, but for now...
# sd len 3145728s
# ends at 20971504s
volume scratch
plex org concat
sd len 3145728s driveoffset 23068656s drive babor
volume home
plex org concat
sd len 20971520s driveoffset 29360112s drive babor
drive babor device /dev/ad4s1d
drive estribor device /dev/ad6s1d
# vol root is after swap
volume std-root
plex org concat
sd len 1048576s driveoffset 4194288s drive babor
plex org concat
sd len 1048576s driveoffset 4194288s drive estribor
# vol swap is the first one, starts after vinum labels
# offset is 281-16
volume swap
plex org concat
sd len 4194023s driveoffset 265s drive babor
plex org concat
sd len 4194023s driveoffset 265s drive estribor
volume base
plex org concat
sd len 1048576s driveoffset 5242864s drive babor
plex org concat
sd len 1048576s driveoffset 5242864s drive estribor
# 5GB
volume apps
plex org concat
sd len 10485760s driveoffset 6291440s drive babor
plex org concat
sd len 10485760s driveoffset 6291440s drive estribor
# 1 GB
volume package
plex org concat
sd len 2097152s driveoffset 16777200s drive babor
plex org concat
sd len 2097152s driveoffset 16777200s drive estribor
# vol std-var: 2GB
volume std-var
plex org concat
sd len 4194304s driveoffset 18874352s drive babor
plex org concat
sd len 4194304s driveoffset 18874352s drive estribor
# vol scratch
# sd len 3145728s
# ends at 20971504s
volume scratch
plex org striped 479k
sd len 3145728s driveoffset 23068656s drive babor
sd len 3145728s driveoffset 23068656s drive estribor
volume home
plex org concat
sd len 20971520s driveoffset 29360112s drive babor
plex org concat
sd len 20971520s driveoffset 29360112s drive estribor
gromit# ident /sbin/gvinum
/sbin/gvinum:
$FreeBSD: src/lib/csu/i386-elf/crti.S,v 1.7 2005/05/19 07:31:06 dfr Exp $
$FreeBSD: src/lib/csu/i386-elf/crtn.S,v 1.6 2005/05/19 07:31:06 dfr Exp $
$FreeBSD: src/lib/csu/common/crtbrand.c,v 1.4 2003/10/17 15:43:13 peter Exp $
$FreeBSD: src/lib/csu/i386-elf/crt1.c,v 1.14 2005/05/19 07:36:07 dfr Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_share.c,v 1.4 2004/11/15 12:30:59 le Exp $
gromit# ident /boot/kernel/geom_vinum.ko
/boot/kernel/geom_vinum.ko:
$FreeBSD: src/sys/geom/vinum/geom_vinum.c,v 1.16.2.3 2005/12/10 14:36:17 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_drive.c,v 1.18.2.4 2005/12/10 14:36:17 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_plex.c,v 1.15.2.1 2005/08/19 08:48:04 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_volume.c,v 1.8.2.2 2005/10/09 04:35:42 delphij Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_subr.c,v 1.13 2005/01/19 13:57:09 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_raid5.c,v 1.10 2004/11/26 11:59:51 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_share.c,v 1.4 2004/11/15 12:30:59 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_list.c,v 1.3 2005/01/06 18:27:30 imp Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_rm.c,v 1.6.2.3 2005/11/26 11:06:11 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_init.c,v 1.10.2.1 2005/10/09 04:36:44 delphij Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_state.c,v 1.7 2005/01/21 18:27:23 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_rename.c,v 1.3.2.1 2005/11/26 11:06:11 le Exp $
$FreeBSD: src/sys/geom/vinum/geom_vinum_move.c,v 1.2.2.1 2005/11/26 11:06:11 le Exp $
gromit#