gmirror on slices & glabel mess

Lev Serebryakov lev at serebryakov.spb.ru
Fri Jan 14 09:45:04 UTC 2011


Hello, Andrey.
You wrote 14 января 2011 г., 9:28:48:

>>> Also can you describe what you expect to see (how it should work?).
>>   Every parition on its own mirror, all FSes are seen and mountable
>>   via /dev/ufs/*
>>   Mirror components are ad*s1* and not /dev/ufs/* or /dev/ufsid/*, as
>>   it after reboot for LAST partition. All FSes available and mountable
>>   as /dev/ufs/LABEL. Now /dev/ufs/home id consumed as mirror component
>>   (!) and not-usable.
> I can only suggest do not do like that. (ССЗБ :)
> In your configuration you mixes several types of labels,
> and you do not use hardcoded providers names. In your case when GMIRROR
> does tasting it can take one of three providers which his metadata for
> each mirror (e.g. partition, ufs/label, ufsid/id).
  Really, I wonder why geom_label pickup only LAST parition. Why it
doesn't create labels for OTHER filesystems when geom_mirror is not
loaded?! Problem is only with ONE partition, that is what surprises
me.

> So, I see several ways to get what you want:
> 1. Use gmirror for the whole disk
   And very long synchronization in case of crash, mirror-per-partition
allows not to synchronize readonly (/, /usr) partitions...
> 2. Use hardcoded providers names
  And have problems with AHCI/ATA switches (main/rescue systems)...

  Really, it looks like global GEOM problem -- that user must choose
between "hardcoded" providers and non-deterministic tasting. Maybe,
adding user-configurable "class ranks" is good idea. So, it will be
possible to tell system, that geom_part taste first, geom_mirror
second and all other after that in any order, for example. Or
vice-versa, in case when geom_mirror is used on whole disk.

-- 
// Black Lion AKA Lev Serebryakov <lev at serebryakov.spb.ru>



More information about the freebsd-geom mailing list