[dm-devel] [linux-lvm] fixing mangled UUIDs

Zdenek Kabelac zkabelac at redhat.com
Thu Dec 10 20:59:55 UTC 2015


Dne 10.12.2015 v 16:15 John Stoffel napsal(a):
>>>>>> "Zdenek" == Zdenek Kabelac <zdenek.kabelac at gmail.com> writes:
>
> Zdenek> Dne 9.12.2015 v 21:39 John Stoffel napsal(a):
>>>>>>>> "Zdenek" == Zdenek Kabelac <zdenek.kabelac at gmail.com> writes:
>>>
> Zdenek> Dne 9.12.2015 v 17:40 John Stoffel napsal(a):
>>>>>
> Alasdair> Have you tried '--manglename none' if you aren't using a
> Alasdair> udev system that mangles names?  (Also available via
> Alasdair> environmnet variable - see man page.)
>>>>>
>>>>> That seems to be working, using the default Debbian Jessie lvm tools:
>>>>>
>>>>> dmsetup --manglename none status --target cache
>>>>> data-home: 0 1153433600 cache 8 2443/32768 128 54020/819200 80721
>>>>> 350897 64427 66938 0 23882 1 1 writeback 2 migration_threshold 2048
>>>>> smq 0 rw -
>>>>> data-local: 0 702545920 cache 8 2443/32768 128 1078/819200 6268 85795
>>>>> 1492 2715 0 1057 0 1 writeback 2 migration_threshold 2048 smq 0 rw -
>>>>>
>>>>>
>>>>> So now I can try to monitor my cache usage.
>>>>>
>>>>> So the question still remains, what is the long term fix so I don't
>>>>> have to deal with this breakage by default?  Do I have bad UUIDS on my
>>>>> volumes?
>>>
> Zdenek> Yep
>>>
> Zdenek> See supported charset:
>>>
> Zdenek> --
> Zdenek> Mangle any character not on a whitelist using mangling_mode when processing
> Zdenek> device-mapper device names and UUIDs. The names and UUIDs are mangled on
> Zdenek> input  and unmangled  on  output  where  the  mangling  mode  is one of: auto
> Zdenek> (only do the mangling if not mangled yet, do nothing if already mangled, error
> Zdenek> on mixed), hex (always do the mangling) and none (no mangling).  Default mode
> Zdenek> is auto.  Character whitelist: 0-9, A-Z, a-z, #+-.:=@_. This whitelist is also
> Zdenek> supported by udev. Any  character  not  on  a  whitelist  is replaced with its
> Zdenek> hex value (two digits) prefixed by \x.  Mangling mode could be also set
> Zdenek> through DM_DEFAULT_NAME_MANGLING_MODE environment variable.
> Zdenek> ---
>>>
> Zdenek> Udev create symlinks from UUID - so they need to be using udev-supported
> Zdenek> chars - and you   '!' in UUID -> unsupported and needs mangling.
>>>
>>> I'm happy to fix the UUIDs, the question is HOW.  Ideally without
>>> having to shutdown the system.
>>>
>>> As I explained in my earlier email, I tried using 'lvchange -an
>>> data/pete' to disable one of my LVs (after unmounting it) but then I
>>> can't see it to manage it with dmsetup to fix the UUIDs.
>>>
>
>
> Zdenek> dmsetup remove  unwanted-vg-lv-name
>
>
> Zdenek> vgcfgbackup
>
> Zdenek> vim   and fix UUID  (replace ! char) by hand
>
> Zdenek> vgcfgrestore
>
> Awesome, but can I do this with the system live?  Or do I need to boot
> into a rescue CD to make this?  Hidden assumptions are the killer
> here.


Yes - should be safe - as long as you  will not try to modify more things in 
parallel.

Anyway - this issue will need upstream fix.
But if you need something 'right now' - use the above sequence.

Regards

Zdenek





More information about the dm-devel mailing list