Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Dec 2005 12:05:01 -0800
From:      Lapo Nustrini <lapo@seanet.com>
To:        Pawel Jakub Dawidek <pjd@freebsd.org>
Cc:        freebsd-geom@freebsd.org
Subject:   Re: gconcat
Message-ID:  <0A47F650-AEDC-439D-B5D7-B3FA7C410DB1@seanet.com>
In-Reply-To: <20051216163217.GC14985@garage.freebsd.pl>
References:  <8B452D98-4FD5-4755-AB7F-31D278DF33F7@seanet.com> <20051216021759.GA14087@garage.freebsd.pl> <52A581CA-EC39-4C83-8C77-CB373F68D3FB@seanet.com> <20051216163217.GC14985@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 16, 2005, at 8:32 AM, Pawel Jakub Dawidek wrote:

> On Fri, Dec 16, 2005 at 08:10:51AM -0800, Lapo Nustrini wrote:
> +>
> +> On Dec 15, 2005, at 6:17 PM, Pawel Jakub Dawidek wrote:
> +>
> +> >On Thu, Dec 15, 2005 at 04:06:08PM -0800, Lapo Nustrini wrote:
> +> >+>
> +> >+> Can anyone tell me whether it is possible to expand a  
> gconcat volume (by adding a drive to the end of it) without having  
> to wipe the data from the existing set and recreate from scratch?
> +> >+> I don't mind having to manually edit bsdlabels and such.   
> Just wondering if its possible at all.
> +> >+> I've been looking for some docs on this but can't seem to  
> find a definitive answer.
> +> >
> +> >It should just work be relabeling providers.
> +> >If you did something like:
> +> >
> +> >	# gconcat label foo da0 da1
> +> >
> +> >You can expand it with:
> +> >
> +> >	# gconcat label foo da0 da1 da2 da3
> +> >
> +> >etc. Just be sure the order of old providers is the same.
> +> >
> +> >PS. You'd need to stop device 'foo' first.
> +> >
> +>
> +> This is what I tried:
> +>
> +> 	# mount /dev/concat/gc0 /mnt
> +> 	# cp -pr ttt /mnt
> +> 	# ls -la /mnt
> +> 	total 8
> +> 	drwxr-xr-x   4 root  wheel      512 Dec 16 07:49 .
> +> 	drwxr-xr-x  25 root  wheel     1024 Dec 15 15:02 ..
> +> 	drwxrwxr-x   2 root  operator   512 Dec 16 07:48 .snap
> +> 	drwxr-xr-x   2 lapo  wheel      512 Nov  9 22:48 ttt
> +> 	# umount /mnt
> +> 	# gconcat stop gc0
> +> 	# gconcat label gc0 ad1 ad3 ad4 ad6 ad7
> +> 	# mount /dev/concat/gc0 /mnt
> +> 	# ls -la /mnt
> +> 	ls: ttt: Bad file descriptor
> +> 	total 6
> +> 	drwxr-xr-x   4 root  wheel      512 Dec 16 07:49 .
> +> 	drwxr-xr-x  25 root  wheel     1024 Dec 15 15:02 ..
> +> 	drwxrwxr-x   2 root  operator   512 Dec 16 07:48 .snap
> +>
> +> Am I missing a step?
> +> Thanks!
>
> Are you sure you gave correct order? It works here just fine...
> What was the previous 'gconcat label' command you gave?
>

I was thought the previous command was,	"#gconcat label gc0 ad1 ad3 ad4"
However, to make sure I tried this again and it does indeed appear to  
work.
I do have a further question.
If I create a new volume with:
	#gconcat label gc0 ad1 ad3
Then place a file system on it:
	#newfs -U /dev/concat/gc0
And mount it, the output from "df" will be:
	/dev/concat/gc0     15135708       4 13924848     0%    /mnt

If I then umount and stop the gconcat  volume, add aother drive to it  
with:
	#gconcat label gc0 ad1 ad3 ad5
I can't run newfs on it or I will lose any data, but the output of  
"df" will still only show:
	/dev/concat/gc0     15135708       4 13924848     0%    /mnt

Is there a way to tell the system the drive is now bigger?  Should I  
be using bsdlabel / fdisk at some point?

Thanks again,

Lapo Nustrini
  



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0A47F650-AEDC-439D-B5D7-B3FA7C410DB1>