По сути, я хочу переместить / скопировать несколько логических томов (lv) в новую группу томов (vg). Новая группа томов находится на новом наборе физических томов. Кто-нибудь знает, как сделать это безопасно, не повреждая данные внутри этих логических томов?
partitioning
hard-drive
lvm
никто
источник
источник
Ответы:
vgmerge позволяет объединить два VG. Вы также можете использовать pvmove для перемещения данных в VG и vgsplit, если вы хотите вернуться к нескольким VG.
источник
Нет причин сначала копировать его в файл .img, просто сначала выполните lvcreate, а затем непосредственно скопируйте его:
источник
Хорошо, я смог справиться с ситуацией по-своему. Вот шаги, которые я предпринял:
1) Сделайте снимок целевого логического тома.
lvcreate --snapshot --name <the-name-of-the-snapshot> --size <the size> /dev/volume-group/logical-volume
2) Создайте копию изображения снимка с помощью
dd
dd if=/dev/volume-group/snapshot-name of=/tmp/backup.img
3) Создайте новый логический том достаточного размера в целевой (новой) группе томов.
lvcreate --name <logical-volume-name> --size <size> the-new-volume-group-name
4) Запишите данные на новый логический том из резервной копии образа, используя
dd
dd if=/tmp/backup.img of=/dev/new-volume-group/new-logical-volume
5) удалить снимок и резервную копию изображения, используя
lvremove
иrm
соответственно.Вот и все, ребята ... Надеюсь, это кому-нибудь поможет :)
источник
По состоянию на LVM в Debian участке (9.0), а именно 2.02.168-2, это возможно сделать копию логического тома по группам томов , используя комбинацию
vgmerge
,lvconvert
иvgsplit
. Поскольку перемещение - это комбинация копии и удаления, это также будет работать для перемещения.Кроме того, вы можете использовать,
pvmove
чтобы просто переместить громкость.Полный автономный пример сеанса с использованием петлевых устройств и далее
lvconvert
.Резюме: мы создаем группу томов vg1 с логическим томом lv1 и vg2 с lv2, и делаем копию lv1 в vg2.
Создавайте файлы.
Настройте устройства петли на файлах.
Создайте физические тома на петлевых устройствах (инициализируйте петлевые устройства для использования LVM).
Создайте группы томов vg1 и vg2 в / dev / loop1 и / dev / loop2 соответственно.
Создайте логические тома lv1 и lv2 на vg1 и vg2 соответственно.
Создайте файловые системы ext4 на lv1 и lv2.
При желании напишите что-нибудь на lv1, чтобы позже вы могли проверить, правильно ли была создана копия. Сделайте vg1 неактивным.
Запустите команду слияния в тестовом режиме. Это сливает lv1 в lv2.
А потом по-настоящему.
Затем создайте зеркальную пару RAID 1 с
lv1
помощьюlvconvert
. <> Аргумент говорит ,lvconvert
чтобы сделать зеркальную копиюlv1_copy
на/dev/loop2
.Затем разделите зеркало. Новый LV теперь lv1_copy.
Сделайте vg2 неактивным.
Тогда (режим тестирования)
Серьезно
Результирующий вывод:
ПРИМЕЧАНИЯ:
1) Большинство из этих команд нужно будет выполнять от имени пользователя root.
2) Если есть какое-либо дублирование имен логических томов в двух группах томов,
vgmerge
откажется продолжить.3) При слиянии:
И на раскол:
источник
До сих пор все 4 ответа пропускают, что точный размер объема часто неизвестен.
lvdisplay
показывает только значения, округленные до 2 десятичных знаков, иman lvdisplay
указывает только на другие команды для доступных параметров. Далее выбирается MiB, что является достаточно точным с размером блока LVM по умолчанию 4 MiB:lvdisplay --units m
MiB также является единицей по умолчанию для
--size
oflvcreate
. В случае сомнений дважды проверьте правильный размерlvdisplay
после создания целевого тома. Затем, как и в других ответах, сделайте копию. Кроме того, я бы порекомендовал проверить копию , например, сcmp
.Вот почему используется снимок и что он защищает и не защищает:
Снимок сделан таким образом, что все данные копируются так, как это было на момент создания снимка. Действия на исходном томе в процессе копирования не будут отражены в копии.
Снимок также защищает исходный том от человеческих ошибок в
dd
командной строке. Если вы случайно записали снимок, будут повреждены только данные снимка, и вы можете просто удалить снимок и начать все сначала.Целевой том не защищен во время процессов копирования. Если другой администратор (или автоматический процесс, такой как os-prober of
dracut
) монтирует неполный том, монтирование может испортить вещи. (Даже монтирование только для чтения может записывать записи журнала в том.)источник
Я предложу свое:
если все хорошо, удали источник
источник
Если вам нужно скопировать логический том из VG A в другой VG B, я нашел интересный вариант, используя
partclone
. Снимок и копирование с использованием dd - хороший метод, но он может быть медленным, если ваши файловые системы не переполнены. Это решение очень быстрое, потому что оно копирует только используемые блоки.--size
здесь сколько записи может произойти до того , как снимок будет отключенnew_lv_size
должен быть не меньше размера исходного LVfs_type
может бытьext4
,fat32
,btrfs
,xfs
, ... любой FS поддерживается partcloneисточник