glabel, gmirror, and gpart

Warren Block wblock at wonkity.com
Sat Aug 27 01:33:44 UTC 2011


Trying to use labeled devices and filesystems where possible, and adding 
gmirror into the mix.  (This is with 8-STABLE, i386.)

glabel two disks "primary" and "secondary".

gmirror the two:
gmirror label -v -b round-robin data /dev/label/primary /dev/label/secondary

Use gpart to create *and label* partitions on the mirror device:

=>        34  1465149099  mirror/data  GPT  (698G)
           34          64            1  gpboot  (32k)
           98        1950               - free -  (975k)
         2048     4194304            2  gprootfs  (2.0G)
      4196352     8388608            3  gpswap  (4.0G)
     12584960    16777216            4  gpvarfs  (8.0G)
     29362176    16777216            5  gptmpfs  (8.0G)
     46139392   251658240            6  gpusrfs  (120G)
    297797632   419430400            7  gpotherfs  (200G)
    717228032   747921101               - free -  (356G)

Then install/restore as usual, refer to /dev/gpt/labelname in 
/etc/fstab.

So far, it works.  My concerns are with correctness, doing it right the 
first time to avoid unpleasant surprises later.

Question 1 is whether using slashes in labels is going to be a problem 
later?  gpart can find /dev/mirror/data and mirror/data, but not just 
"data".  gmirror status shows the, uh, path-like labels in both the Name 
and the Components:

          Name    Status  Components
   mirror/data  DEGRADED  label/primary (ACTIVE)
                          label/secondary (SYNCHRONIZING, 23%)

Question 2 is maybe simpler.  On boot, it shows this:
   gptboot: invalid backup GPT header

I can speculate on what causes that (whether the various g-things use 
the absolute last block of the device, or the last block of their area 
and provide their total minus one block; or it could be that gptboot 
is seeing the disk rather than the gmirror device).  Can it be fixed?


More information about the freebsd-questions mailing list