2009-04-18 2 views
2

Я пытаюсь программно смонтировать образ диска, созданный с помощью создателя Fedora LiveUSB, и я сталкиваюсь с некоторыми проблемами.Наложить наложения/снимки LVM?

Из того, что мне сказали, очень сложно установить снимки LVM вне хост-системы. У меня есть как «первозданный» образ, так и постоянный снимок, поэтому я подумал, что это должно быть технически возможно.

Любые идеи?

+0

Возможно, это поможет добавить более подробную информацию к вашему вопросу. – hlovdal

+0

@hlovdal, Я не уверен, что еще добавить. Я просто пытаюсь установить снимок LVM, созданный в одной системе на другой. – lfaraone

ответ

2

Концепция томов 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 
+0

один предмет, все же. это не * фактические * разделы LVM; они просто обычные файлы на жирном разделе. Любая идея о том, как получить LVM, чтобы найти их тогда? :) – lfaraone

+0

Вы использовали бы loopback mount. Это превращает файл в «устройство», затем вы используете обычную команду монтирования для достижения «устройства». Очень похоже на файлы OS X.dmg. Конечно, если вы можете сделать это «устройством», не должно быть никаких оснований, вы не можете заставить LVM идентифицировать установки PV/LV на нем. –

+0

Кстати, надеюсь, что маленький скрипт был полезен. Это не большая проблема, но с ней легче работать, когда я вижу весь статус LVM передо мной. –

1

Система изображение операционного в Fedora LiveCD или LiveUSB может быть установлен после экспонирования внедренной корневой файловой системы. Пакет livecd-tools от Fedora предоставляет утилиту liveimage-mount, которая делает это с помощью Python.

В технологии Fedora LiveOS image (Live CD/USB) используется привязка моментального снимка устройства-картографа, чтобы сделать сжатую, доступную только для чтения копию корневой файловой системы, доступной для установки на чтение и запись во время загрузки, в которую записывается файловая система временное или постоянное наложение на запись. Все выполняется командой dmsetup. LVM не задействован (хотя он также использует технологию Device-mapper).

Установленное устройство LiveOS будет иметь каталог/LiveOS/в базовой файловой системе. Файл /LiveOS/squashfs.img содержит сжатую (и только для чтения) файловую систему ext4, которая сама содержит каталог/LiveOS/и внутри этой распределенной корневой файловой системы в файле с именем ext3fs.img. Таким образом, файл squashfs.img содержит каталог и файл /LiveOS/ext3fs.img, который сам содержит корневую файловую систему (с/bin,/boot,/dev,/etc,/home, ...).

Если существует настоятельная файл наложения установлен на устройстве, оно будет сохранено как
               /LiveOS/overlay- <LABEL> - <UUID>
где LABEL и UUID являются метки раздела устройства и UUID, как сообщается следующей командой:
                lsblk -o LABEL,UUID

можно программно

  1. петля смонтировать squashfs.img файл, а затем
  2. настроить устройство обратной связи для файла ext3fs.img найденного в держателе 1.
  3. Если не является постоянным наложением, вы можете просто установить файл ext3fs.img или loop device с
    шаг 2 (только для чтения, базовое изображение).
  4. Если есть постоянный файл наложения, настройте для него устройство цикла.
  5. Определить размер корневой файловой системы в единицах 512-байтных секторов,

    blockdev --getsz <basefs_loop>

  6. Затем настройка целевой снимок Прибор-преобразователь с этой общей командой,

    dmsetup create <target_name> --table "0 <size> snapshot <basefs_loop> <overlay_loop> P 8"

  7. Наконец, смонтируйте целевую карту устройства в нужную точку монтирования,

    mount /dev/mapper/<target_name> <mount point>

Смежные вопросы