Монтировать оверлеи / моментальные снимки LVM?[закрыто]
-
11-09-2019 - |
Вопрос
Я пытаюсь программно смонтировать образ диска, созданный с помощью Fedora LiveUSB creator, и я сталкиваюсь с некоторыми проблемами.
Из того, что мне сказали, очень сложно смонтировать моментальные снимки LVM вне хост-системы.У меня есть как "первозданное" изображение, так и постоянный снимок, поэтому я подумал, что это должно быть технически возможно.
Есть какие-нибудь идеи?
Решение
Концепция томов LVM не переносима между системами в том же смысле, в каком вы можете объединить несколько дисков md вместе, и они все равно будут работать.Каждый LVM vg имеет уникальный идентификатор, и вам нужно заставить LVM вашей системы принять его.Другими словами, LVM не может "увидеть" группу томов, пока вы не "сообщите" ей о ее присутствии.Как только вы это сделаете, дальше все должно пройти гладко.
Снимок состоит из записанных дельт секторов.Вы правы, вы должны быть в состоянии сделать так, чтобы ваш снимок отображался при наличии как оригинала, так и моментального снимка.Моментальный снимок сам по себе работать не будет.
Я предполагаю, что вы рассматриваете возможность совместного написания сценариев, потому что вам просто нужен набор инструментов lvm, чтобы это произошло.
Небольшой прощальный подарок, который поможет вам в вашем пути.Сохраните его как / usr/ sbin / lvms, установите владельца как root / root, chmod 755 и используйте его для сохранения ваших кончиков пальцев.
#!/bin/sh
#lvms command - consolidates all LVM views into a single command
pvscan 1>/dev/null 2>/dev/null
vgscan 1>/dev/null 2>/dev/null
lvscan 1>/dev/null 2>/dev/null
echo "Available Physical Volumes - - - - - - -"
pvs
echo
echo "Active Volume Groups - - - - - - - - - -"
vgs
echo
echo "Active Logical Volumes - - - - - - - - -"
lvs
Другие советы
Образ операционной системы в Fedora LiveCD или LiveUSB может быть смонтирован после предоставления доступа к встроенной корневой файловой системе.Пакет livecd-tools от Fedora предоставляет утилиту живое изображение-монтировать который делает это с помощью Python.
В Изображение Fedora LiveOS (Операционная система Live CD / USB) технология использует целевой моментальный снимок устройства сопоставления, чтобы сделать сжатую копию корневой файловой системы, доступную только для чтения, доступной для монтирования на чтение и запись во время загрузки, когда записи в файловой системе выполняются во временном или постоянном наложении копирования при записи.Все достигается с помощью dmsetup
команда.LVM не задействован (хотя он также использует технологию отображения устройств).
Установленное устройство с LiveOS будет иметь каталог /LiveOS/ в своей базовой файловой системе.Файл /LiveOS/squashfs.img содержит сжатую (и доступную только для чтения) файловую систему ext4, которая сама содержит каталог /LiveOS/, а внутри него распределенную корневую файловую систему в файле с именем ext3fs.img.Итак, файл squashfs.img содержит каталог и файл /LiveOS/ext3fs.img, который сам содержит корневую файловую систему (с /bin, /boot, /dev, /etc, /home, ...).
Если на устройстве установлен постоянный файл наложения, он будет сохранен как
/LiveOS/наложение-<LABEL>-<UUID>
где LABEL и UUID - это метка раздела устройства и UUID, сообщаемые следующей командой,
lsblk -o LABEL,UUID
Можно программно
- смонтируйте файл squashfs.img в цикле, затем
- настройте циклическое устройство для файла ext3fs.img, найденного в mount 1.
- Если постоянное наложение отсутствует, вы можете просто смонтировать файл ext3fs.img или циклическое устройство из
шаг 2 (базовое изображение, доступное только для чтения). - Если существует постоянный файл наложения, настройте для него циклическое устройство.
Определите размер корневой файловой системы в единицах измерения секторов по 512 байт,
blockdev --getsz <basefs_loop>
Затем настройте целевой снимок устройства-картографа с помощью этой общей команды,
dmsetup create <target_name> --table "0 <size> snapshot <basefs_loop> <overlay_loop> P 8"
Наконец, смонтируйте целевое устройство сопоставления в желаемой точке монтирования,
mount /dev/mapper/<target_name> <mount point>