Переместить группу томов LVM на другой компьютер
Экспорт и импорт LVM в Linux — перенос группы томов (VG) на другой хост
В серии LVM мы видели, что такое снимки LVM и как их восстанавливать, в нашей последней статье. В этой статье мы обсудим еще одну важную функцию LVM, называемую экспорт и импорт. Команды экспорта и импорта LVM можно использовать для перемещения группы томов (VG) с одного компьютера и подключения ее к другому компьютеру в Linux.
Внимание! Для экспорта и импорта необходимо извлечь диск и подключить его к другому компьютеру.
Настройка лаборатории
Я использую ту же лабораторную установку, которую использовал в предыдущей статье. Если вам нужно повторить его, перейдите по следующей ссылке.
Как использовать моментальный снимок LVM для резервного копирования данных в Linux
В качестве первого шага вам следует проверить, как структурированы текущий физический том (pv), группа томов (vg) и логические тома (lv).
Проверьте, сколько дисков инициализировано как физический том, с помощью команды pvscan
. В моем случае у меня есть два диска общим размером 25 ГБ, инициализированные как физический том.
$ sudo pvscan
PV /dev/sdc VG ostechnix_lab lvm2 [<10.00 GiB / <5.00 GiB free]
PV /dev/sdd VG ostechnix_lab lvm2 [<15.00 GiB / <15.00 GiB free]
Total: 2 [24.99 GiB] / in use: 2 [24.99 GiB] / in no VG: 0 [0 ]
Оба диска физических томов добавляются в группу томов "ostechnix_lab". Это группа томов, которую я буду экспортировать на другой компьютер. Позвольте мне показать вам группу томов с помощью команды vgs
:
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
ostechnix_lab 2 1 0 wz--n- 24.99g 19.99g
В этой группе томов имеется только один логический том размером 5 ГБ. Мы можем просмотреть логический том с помощью команды lvs
:
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lab ostechnix_lab -wi-a----- 5.00g
Логический том смонтирован в /opt/lvm_lab
и содержит только 1 файл, который будет перемещен на другой компьютер при импорте группы томов.
$ df -h /dev/ostechnix_lab/lab
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ostechnix_lab-lab 4.9G 20M 4.6G 1% /opt/lvm_lab
$ ls -l /opt/lvm_lab/
total 4
-rw-r--r-- 1 vagrant vagrant 3771 Feb 24 02:39 datafile
Экспортировать группу томов LVM
ШАГ 1. Отключите файловую систему перед запуском команды export
.
umount <mount-point>
umount /opt/lvm_lab/
Вы можете запустить любую из следующих команд, чтобы проверить состояние точки монтирования, используя команду df
или mount
.
df -h
mount
ШАГ 2. Запустите команду lvchange
, которая отключит логический том.
sudo lvchange -an /dev/ostechnix_lab/lab
ШАГ 3. Запустите команду vgchange
, которая отключит группу томов.
$ sudo vgchange -an ostechnix_lab
0 logical volume(s) in volume group "ostechnix_lab" now active
ШАГ 4. Наконец, экспортируйте группу томов (VG) с помощью команды vgexport
.
$ sudo vgexport ostechnix_lab
Volume group "ostechnix_lab" successfully exported
Внимание! Во всех приведенных выше командах вам необходимо заменить логический том и группу томов соответствующими именами.
Импортировать группу томов LVM
Операцию импорта можно разделить на два этапа. На первом этапе вам необходимо удалить физический диск и перейти на другой компьютер. В моем случае для демонстрации я использую Oracle Virtualbox. Для этого следует использовать немного другое программное обеспечение для виртуализации, такое как Proxmox, KVM Virt-manager или Gnome Boxes. Я предлагаю вам обратиться к соответствующей документации по программному обеспечению, чтобы добавить диск хранения. Вы можете выполнить следующую процедуру, если используете Virtualbox.
Откройте графическое приложение Virtualbox и выберите "Настройки -> Хранилище" на виртуальной машине. Нажмите на диск, который хотите удалить, и нажмите значок, отмеченный красной стрелкой на снимке экрана ниже.
Выберите диск хранения в Virtualbox
Затем откройте "Настройки -> Память" на новом компьютере. Нажмите выделенный значок на изображении.
Добавить диск хранения в Virtualbox
Откроется селектор жесткого диска, где вы сможете выбрать диск, который был ранее удален.
Подключить диск в Virtualbox
Теперь диск подключен к новой машине. Запустите виртуальную машину.
Новый диск хранения подключен в Virtualbox
Теперь я нахожусь на своей новой машине с именем ubuntu1, и оба диска успешно подключены.
$ hostname
ubuntu1
$ lsblk /dev/sd[b-c]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 10M 0 disk
sdc 8:32 0 10G 0 disk
Запустите команду pvscan
, которая покажет экспортированный диск.
$ sudo pvscan
PV /dev/sdc is in exported VG ostechnix_lab [<10.00 GiB / <5.00 GiB free]
PV /dev/sdd is in exported VG ostechnix_lab [<15.00 GiB / <15.00 GiB free]
Total: 2 [24.99 GiB] / in use: 2 [24.99 GiB] / in no VG: 0 [0 ]
Вы также можете запустить команду pvs
, которая покажет физический том. Атрибут ax
указывает на экспортированную группу томов.
$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sdc ostechnix_lab lvm2 ax- <10.00g <5.00g
/dev/sdd ostechnix_lab lvm2 ax- <15.00g <15.00g
Чтобы импортировать группу томов, используйте команду vgimport
.
$ sudo vgimport ostechnix_lab
Volume group "ostechnix_lab" successfully imported
Запустите vgscan
или vgs
, чтобы просмотреть состояние группы томов.
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
ostechnix_lab 2 1 0 wz--n- 24.99g 19.99g
$ sudo vgscan
Found volume group "ostechnix_lab" using metadata type lvm2
Наконец, активируйте группу томов с помощью команды vgchange
.
$ sudo vgchange -ay ostechnix_lab
1 logical volume(s) in volume group "ostechnix_lab" now active
Моя виртуальная группа содержит всего 1 логический том, и он был успешно активирован.
Смонтируйте файловую систему. Мой файл данных, который был экспортирован как часть группы томов, теперь доступен на новом компьютере.
vagrant@ubuntu1:~$ sudo mkdir /opt/lvm/
vagrant@ubuntu1:~$ sudo mount /dev/ostechnix_lab/lab /opt/lvm/
vagrant@ubuntu1:~$ ls -l /opt/lvm/
total 4
-rw-r--r-- 1 vagrant vagrant 3771 Feb 24 02:39 datafile
Заключение
В этой статье мы рассмотрели пошаговую процедуру экспорта группы томов и импорта группы томов на другой компьютер. Несмотря на то, что шаги просты и понятны, я всегда использую другие варианты репликации данных. Этот метод требует много времени, учитывая размер данных и участие нескольких команд. Кроме того, если вы не будете осторожны, вы можете потерять данные.