Назад | Перейти на главную страницу

Можно ли одновременно смонтировать 2 тома LVM, которые являются точными копиями друг друга (с одинаковыми UUID)?

Я клонировал (используя dd) жесткий диск в действующей системе на несколько резервных жестких дисков. Корневой раздел в живой системе - это том LVM. Резервные копии предназначены для замены оригинала, и это означает, что они должны иметь тот же UUID, что и мастер.

Быстрый вопрос: можно ли смонтировать один из резервных HD-дисков в живой системе? Когда я пытаюсь это сделать, LVM по понятным причинам сбивает с толку из-за тех же UUID и имен групп томов. Следуя подсказке, найденной в [этот ответ] [1], чтобы сначала переименовать исходную группу LVM, я попробовал:

  1. подключение внешнего резервного HD-диска к USB-порту

  2. работает (обратите внимание, что строка 'test' - это имя группы в этой системе)

# vgrename test test-live
Volume group "test" successfully renamed to "test-live"
vgscan --mknodes
Reading all physical volumes.  This may take a while...
Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0
Found volume group "test" using metadata type lvm2
# vgchange -ay
Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0
2 logical volume(s) in volume group "test" now active

На этом этапе я ожидал получить доступ к отдельным логическим томам в /dev/test/. Бег lvdisplay производит.

Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0

  --- Logical volume ---
  LV Name                /dev/test/root
  VG Name                test
  LV UUID                UuKUH3-yzPo-CbOz-tU4B-W6om-qdMn-0XSNZU
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                126.48 GiB
  Current LE             32378
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Name                /dev/test/swap_1
  VG Name                test
  LV UUID                OGJhJu-QByo-6AzG-sk1x-jh3e-dU9L-sHk91t
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                3.90 GiB
  Current LE             999
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

Тем не мение, /dev/test/ не существует вообще, поэтому я не могу получить доступ к логическим томам в /dev/test/root и /dev/test/swap_1 как предложил lvdisplay.

Если вы хотите смонтировать lv с клонированного диска, я нашел этот полезный метод здесь http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-cloned-drive-device-left-open-4175470893/

vgimportclone -n orignalvgname_clone   /dev/sdx [/dev/sdy....]

sdx, sdy .. это клонированные диски, из которых состоит vg.

vgchange -ay orignalvgname_clone

После этого вы сможете смонтировать lvs с клонированного диска.

Ответ trekkerboy / modonnell @ linuxquestions наиболее прост, используйте vgimportclone.

Также обратите внимание, что после создания клона вы должны активировать его с помощью vgchange -a y newvgname, и вам нужно очистить узлы устройства oldvgname с помощью dmsetup remove /dev/oldvgname/*.

Для справки, ниже приводится более ручной метод, который, по-видимому, напоминает подмножество того, что можно прочитать в источнике vgimportclone.


Вы можете сделать это, если можете сначала временно отключить управление исходной копией, добавив шаблон, соответствующий оригиналу, в devices фильтровать в lvm.conf. Например, если вы клонировали /dev/sdx в /dev/sdy, вам нужно временно добавить /dev/sdx в filter в пределах devices { ... } раздел.

Исходные устройства останутся в сети, но инструменты LVM проигнорируют их. Смонтированные на них файловые системы останутся смонтированными и работоспособными, это не будет тесно связано с управлением LVM.

После установки фильтра сделайте новый vgscan, чтобы убедиться, что дубликаты и только они теперь находятся под управлением LVM. Вы можете убедиться, что видите дубликат /dev/sdy устройства, например, pvs.

Затем сделайте:

vgchange -a n originalvgname

Это отключит группу томов под названием originalvgname, но поскольку видны только повторяющиеся устройства, он деактивирует его на них (исходный originalvgname уже невидим из-за фильтра выше). Этот шаг необходим, чтобы вы могли свободно изменять атрибуты теперь неактивной группы томов и составляющих ее физических томов.

pvchange -u physicaldevice
vgchange -u originalvgname

Это даст дубликатам новые UUID.

vgrename originalvgname newvgname

Это переименует дублированную группу томов.

После этого вы можете снять фильтр с lvm.conf и повторно просканируйте, и оба набора устройств LVM будут видны под разными именами и UUID.

В качестве альтернативы, если вы на самом деле не заинтересованы в сохранении исходного имени VG и UUID PV / VG, вы можете вместо этого избавиться от них, см. https://superuser.com/questions/256061/lvm-and-cloning-hds

Вся суть UUID в том, чтобы однозначно идентифицировать что-то, а то, что вы пытаетесь сделать, делает их неуникальными. Я очень сомневаюсь, что это возможно. Я играл с pvchange -u чтобы изменить UUID дублированного PV, но операция всегда завершалась неудачно.

Если вам действительно нужно смонтировать резервные копии на активном хосте, я предлагаю вам сделать резервную копию LV по отдельности (т.е. создать новые PV, VG и LV на устройстве резервного копирования и dd каждый LV отдельно).

Я столкнулся с этой проблемой буквально вчера. У меня есть конфигурация файловой системы (LVM (MD (sda, sdb, sdc-syncing-only-weekly-based))) в Linux, и мне нужно получить доступ к старым данным на sdc.

Я несколько решил проблему, подключив резервный диск (sdc) к виртуальной машине. Это безопасная операция, если я подключаю диск с помощью «qemu ... -drive file = / dev / sdc, только для чтения» (или использую опцию моментального снимка для конфигурации копирования при записи).