Wiki

Clone wiki

comp-house.repo / LVM-Duplicate-VG-name

Надо признать, это хорошая практика - давать волю своему воображению и индивидуальности при выборе названия для LVM тома.

Я никогда не оставляю при создании новой группы LVM эти тупые дефолтные названия типа VGGroup00 и ни разу не пожалел об этом. Однако всякой фантазии есть предел и в один прекрасный день мне принесли sata винчестер, подключив нагорячую который, я обнаружил что его хозяин тоже назвал группу LVM с системными разделами незамысловатым именем и таким образом у меня в системе появились две одноименные LVM-группы "system".

Проявилось это следующим образом. В ответ на любые команды типа vgs, lvs etc lvm среди всего прочего бодренько сообщал, что:

[lvm] WARNING: Duplicate VG name system: Existing LuE3y2-m9LL-MYYe-tNoR-qa7g-sQRk-0tTJh1 (created here) takes precedence over K0qKAk-Ph5i-BcAX-y4yp-SPF3-TZgj-DufR3L

Как нетрудно заметить, lvm сообщает, что обнаружил две одноименные группы и предпочитает иметь дело с первой группой, которая имеет uuid (LuE3y2-...-0tTJh1) и плевать хотел на пришлую с uuid (K0qKAk-...-DufR3L).

Выход вроде очевиден - переименовать вторую группу утилитой vgrename oldname newname, но как, если она требует указать старое имя, а оно у нас показывает сразу на две группы?

Ответ прост, вместо старого имени надо указать соответствующий uuid. В нашем случае получается:

vgrename K0qKAk-Ph5i-BcAX-y4yp-SPF3-TZgj-DufR3L system2

После чего остается только включить новую группу, чтобы тома появились в системе:

vgchange -ay  system2

Все, теперь конфликт имен устранен и в /dev/system2 наблюдаются тома из второй группы.

Как узнать UUID lvm группы:

vgdisplay  | grep UUID

Глядя на успешную практику Apple, я подумываю о том, чтобы патентовать свои имена томов. В конце концов, какая разница что патентовать - очевидные технические решения или очевидные технические названия?

Updated