Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Jan 2010 15:29:20 -0300
From:      Fernan Aguero <fernan@iib.unsam.edu.ar>
To:        freebsd-geom@freebsd.org
Subject:   gstripe: delete one, and enlarge another partition?
Message-ID:  <20100105182920.GC12091@iib.unsam.edu.ar>

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

I've been using GEOM in a box successfully for years (both
mirrored (for the OS), and striped partitions (for a CPAN
mirror, a FreeBSD CVS mirror, tinderbox and other uses).

Now, I would like to do some reorganization with the striped
partitions (delete one of the striped partitions, and grow
one of the remaining striped partitions). 

/dev/stripe/gs0d    9.7G    604M    8.3G     7%    /usr/obj
/dev/stripe/gs0e     29G    9.0G     18G    34%    /freebsd
/dev/stripe/gs0f     29G    1.1G     26G     4%    /mirror
/dev/stripe/gs0g     85G    5.9G     73G     8%    /scratch

gama# gstripe list
Geom name: gs0
State: UP
Status: Total=2, Online=2
Type: AUTOMATIC
Stripesize: 4096
ID: 1659247043
Providers:
1. Name: stripe/gs0
   Mediasize: 169757777920 (158G)
   Sectorsize: 512
   Mode: r4w4e5
Consumers:
1. Name: ad4s3
   Mediasize: 84878889984 (79G)
   Sectorsize: 512
   Mode: r4w4e6
   Number: 0
2. Name: ad6s3
   Mediasize: 84878889984 (79G)
   Sectorsize: 512
   Mode: r4w4e6
   Number: 1

I would like to delete gs0f and make gs0g use the reclaimed
space .... or better still fuse the two (preserving
contents, is that possible at all?)

Of course I can do a backup, delete everything and recreate
the partitions, but, being lazy, I was wondering if there is
a painless and easy way to do this.

I've been reading some posts, some man pages, and was
tempted to try and delete gs0g and then use growfs. 

Would this work? I'd appreciate any tip or suggestion (or even a shout!)

i) gstripe stop gs0
ii) bsdlabel -e ad4s3 (ad6s3) and then delete ad4s3g (ad6s3g)?
iii) growfs -sXXXXXXXX /dev/ad4s3f (ad6s3f)?

where do I get the new size (XXXXXX) for growfs? 
Would 184757504 be OK? (from bsdlabel output, below):

# /dev/ad4s3:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  c: 331558160        0    unused        0     0         # "raw" part, don't edit
  d: 20971520       16    4.2BSD     2048 16384 28552 
  e: 62914560 20971536    4.2BSD     2048 16384 28552 
  f: 62914560 83886096    4.2BSD     2048 16384 28552 
  g: 184757504 146800656    4.2BSD     2048 16384 28552 
partition c: partition extends past end of unit
bsdlabel: partition c doesn't cover the whole unit!
bsdlabel: An incorrect partition c may cause problems for standard system utilities
partition g: partition extends past end of unit


This is on FreeBSD-6.4p8, i386 (RELENG_6_4)

Thanks,

--
fernan



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