Я клонировал (используя dd) жесткий диск в действующей системе на несколько резервных жестких дисков. Корневой раздел в живой системе - это том LVM. Резервные копии предназначены для замены оригинала, и это означает, что они должны иметь тот же UUID, что и мастер.
Быстрый вопрос: можно ли смонтировать один из резервных HD-дисков в живой системе? Когда я пытаюсь это сделать, LVM по понятным причинам сбивает с толку из-за тех же UUID и имен групп томов. Следуя подсказке, найденной в [этот ответ] [1], чтобы сначала переименовать исходную группу LVM, я попробовал:
подключение внешнего резервного HD-диска к USB-порту
работает (обратите внимание, что строка '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, только для чтения» (или использую опцию моментального снимка для конфигурации копирования при записи).