Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Dec 2005 00:31:12 +0100
From:      Ferruccio Zamuner <nonsolosoft@diff.org>
To:        freebsd-geom@freebsd.org
Cc:        nonsolosoft@diff.org
Subject:   from vinum on FreeBSD 4.x to gvinum on 5.4 and 6.0
Message-ID:  <439CB6C0.30109@diff.org>

next in thread | raw e-mail | index | archive | help
Hi,

I was using vinum on FreeBSD 4.x (since x >= 8) without big problems: if 
for power failure sometime I'd a kernel panic during reboot on vinum
I've always restored vinum metadata from original creation file using 
resetconfig first and create -f mydefinitionfile after; and I've never 
lost data from vinum partitions.

-----vinum mydefinitionfile -------------
drive med device /dev/ad5s1e
drive new device /dev/ad6s1e

volume sicuro
     plex org concat
       sd length 10g drive med
     plex org concat
       sd length 10g drive new

volume veloce
     plex org striped 512k
       sd length 5g drive med
       sd length 5g drive new

volume vtmp
     plex org concat
       sd length 300m drive med

volume vvar
     plex org concat
       sd length 300m drive med
----- end of file -----

Before to upgrade my system to 5.4 I've done backup as usual and I don't 
expect that vinum partitions survive but using gvinum I've mount them 
(both mirror and stripped) without problem.

Yesterday I've upgrade 5.4 to 6.0 and at first reboot gvinum shows me 
that drive definitions has been lost: there were still volumes, plexes, 
subdisks but no drives.

I've tried to use gvinum commands:

1) "resetconfig" is not supported by gvinum.

2) I've create a new vinum definition file for only drives (to integrate 
current configuration)
--- mynewdefinitionfile --
drive med device /dev/ad5s1e
drive new device /dev/ad6s1e
--- end file ---

3) "create -f mynewdefinitionfile" on gvinum dumps current configuration 
with '#' char starting eachline in a vi, but drives were not yet.

4) "create mynewdefinitionfile" on gvinum stalled the OS and I'd to 
reset the box.

Then I thought to use FreeBSD 4.x recovery CDROM to restore vinum 
configuration:

1) fortunatly I still had a old 4.11 root partition in my system because 
FreeBSD 4.x recovery CDROM has not any vinum.ko module.

2) "# kldload /mnt/oldroot/modules/vinum.ko"

3) "# vinum" gives: "Can't get config for plex 0: Invalid argument" 
Segmentation fault (core dump)

4) then I tried to run vinum again and it starts.

5) while vinum "ld" has no drive defined, "lv" gives me all volumes 
list, "ls" the full subdisk list but "lp" gives the same error "Can't 
get config for plex 0".

6) "resetconfig" succeed

7) "create -f mydefinitionfile" gives me same error "Can't get config 
for plex 0".

Then from vinum man pages I've read that vinum stores metadata in first 
131,5Kb, so I've run "# dd if=/dev/zero of=/dev/ad5s1e count=263" and 
run again vinum:

8) "ld","lp","lv","ls" no output, it seems ok finally.

9) "create -f mynewdefinitionfile" apparently succeed writting drives: 
2, but "ld" shows no drives.

10) if I run again "create -f mynewdefinitionfile" it writes "drives: 
4", but again "ld" shows no drives.

11) "resetconfig" again in vinum, it succeed.

12) "create -f mydefinitionfile" it fails again with error "Can't get 
config for plex 0".

How can I reset really such vinum metadata to recover data stored in 
vinum partitions?


Actually I was very interested to content of partition "/vinum/sicuro" 
and it was simple:
# dd if=/dev/ad5s1e of=/usr/vinum_sicuro.bin skip=265 count=2097152
# mdconfig -a -t vnode -f /usr/vinum_sicuro -u 1
# bsdlabel -w md1 auto
# mount /dev/md1c /mnt/

Then I recover first data contents easly.


Bye,                            \fer
---
NonSoLoSoft (Italy) - http://www.nonsolosoft.com/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?439CB6C0.30109>