На одной из виртуальных машин, из за кривости рук “убилась” система. И нужно было восстановить данные которые на ней были. Казалось бы задача очень простая, нужно диск примонтировать к другой рабочей машине и скопировать данные. Но трудность заключалась в том, что диски были lvm томами. Поэтому просто сделать mount не получится. Если мы попытаемся сразу примонтировать диск то получим ошибку «mount: unknown filesystem type ‘LVM2_member‘».
Поэтому порядок действий следующий.
Смотрим разделы lvm
Считаем что диск с которого нужно получить данные уже подключен к рабочему компьютеру.
lvscan
Видим что на нашем подключенном диске lvm разделы не активны. Но при попытке активировать их нас ждет сюрприз
[root@localhost ~]# vgchange -ay 2 logical volume(s) in volume group "centos" now active device-mapper: create ioctl on centos-swap LVM-XdEJP3Hsfbd211xy3MtwxKFDy7bgVOKqlBvYSL2wKZ0AnQyMeDzu6UNWJ9PlLL09 failed: Устройство или ресурс занято device-mapper: create ioctl on centos-root LVM-XdEJP3Hsfbd211xy3MtwxKFDy7bgVOKqpWEuYBN58Q7hIFRFh1Z93wuOP98yBH76 failed: Устройство или ресурс занято 0 logical volume(s) in volume group "centos" now active
Дело в том, что lvm том с именем “centos” уже есть. Поэтому для начала нужно переименовать подключенный том в другое имя.
Если же у вас этой проблемы не возникло, и разделы успешно активировались, то смело пропускайте следующие два пункта и переходите к пункту «монтирование»
Переименовываем lvm том
что бы переименовать том, нужно определить его id
vgdisplay
Нужный нам том имеет размер 48.99 Гб, и id XdEJP3-Hsfb-d211-xy3M-twxK-FDy7-bgVOKq.
Теперь дадим этому тому другое имя.
vgrename <VG UUID> <new_name>
Видим что том успешно переименован и идем дальше.
Активируем lvm разделы
vgchange –ay
Как видим на этот раз все прошло успешно
lvscan
Все разделы активны
Монтирование LVM разделов
Монтируем наши «новые-старые» разделы. Раздел swap нам не нужен поэтому монтируем только корневой раздел root, полное имя которого как показала команда lvscan в предыдущем пункте /dev/centos_old/root
mkdir /mnt/disk_old mount /dev/centos_old/root /mnt/disk_old
На этом все. Старый диск доступен в каталоге /mnt/disk_old
и из него можно извлечь нужные данные.
Интересно, если а если у меня Ubuntu 22.04 и файловая система ZFS это как-то повлияет на выше описанную процедуру или нет? Я имею в виду вот что, подключение драйверов LVM как-то скажется на работе ZFS?