Gmirror + gpart corruption on 9.3-PRE

Warren Block wblock at wonkity.com
Fri Jul 25 05:34:59 UTC 2014


On Thu, 24 Jul 2014, Dave Hayes wrote:

> On 07/24/2014 21:04, Warren Block wrote:
>> I believe that GPT tables somehow work only on the drive level.  That
>> is, the GPT partitioning created inside the mirror actually overwrites
>> the existing one on the drive.  As odd as it sounds, I think this is
>> intentional: GPT tables are only supposed to be at the beginning and end
>> of a physical drive.  But I'm also not the one to explain it.
>> 
>> However, the attempted GPT partitioning inside the mirrors is not needed
>> and can be left out.
>
> I did this because newfs seemed to corrupt the partition table if I did not 
> do this.

Following the procedure in my GPT partition link, I did not have that 
problem.  The old Handbook procedure for creating mirrors did some 
questionable things which could have caused problems.  The new (current) 
one does it right.

>> GPT tests got more strict at some point.  Maybe the rules for GPT tables
>> did also.
>
> That sounds like the simplest explanation.
>
>> For reference, here is my article on mirroring GPT disk partitions.  I
>> do not recommend it.  (Consider the head contention when multiple
>> mirrors on the same drive attempt to rebuild.  Or disable automatic
>> rebuilding, but then it's going to be unpleasant in an emergency.)
>
> Since I'm only having two mirrors, would it be better to disable just the 
> automatic rebuilding on the swap space?

I think that would be ideal.  Swap doesn't need to be rebuilt anyway, 
the mirror could just be destroyed and recreated.

> Would graid be better to use to achieve a mirrored volume?

Seems unlikely to me.  The main advantage graid(8) has is the BIOS being 
able to boot from the mirror directly.

>> For drives under 2TB, use MBR and bsdlabels, as ugly as it is.  The
>> recently-rewritten Handbook procedure shows the right way to do it,
>> including alignment:
>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-mirror.html
>
> Yeah, I'd do this except there will come a day when 2TB drives cannot be 
> found, and I have a significant history of having machines more than 6-7 
> years old.

True.  But partitioning can be specific to the drive.  It's not like 
GPT-partitioned drives can be copied with dd (well, not correctly).  A 
new drive would be partitioned and then the data transferred, hopefully 
just with labels instead of device names.

> Sadly, I cannot use ZFS in this circumstance due to heavy memory requirements 
> of what the machine will be used for.

A lot of legacy machines just can't accept enough memory for ZFS anyway.


More information about the freebsd-stable mailing list