Как стать автором
Поиск
Написать публикацию
Обновить

Как примонтировать образ fsa

Время на прочтение2 мин
Количество просмотров13K
Не знал где это написать, думаю на хабре будет самое место. Везде пишут что fsarchiver — замечательная утилита, что может создавать архивы с файловой системой, хорошо их сжимает и т.д. И это действительно так! И самое главное что эти архивы можно деалать на работающих системах.

Но вот сегодня выходной день, сервера находятся в другом городе и один из них лег, на системнике лампочка с восклицательным знаком горит красным цветом, а значит тяжелая беда с железками. По удаленке поднять не можем. С сервером конечно разберемся и починим, но надо скорее поднимать сервис на резервной машине. Образы всех серверов конечно мною были заботливо сделаны при помощи замечательной утилиты fsarсhiver.
И вот встала задача как достать конфигурационные файлы из fsa-образа. Конечно если есть пустой жесткий диск подключенный к машине с бэкапами это не проблема, а если его нет?
Поисковый запрос типа: «как монтировать образ fsa» не дал положительных ответов. И даже на оборот не много ввел в заблуждение. На сайте разработчики сказали: «Unfortunately it won't be possible to do that we the current file format.» (к сожалению это невозможно сделать с этим форматом файла).
Стало печально. Но что то внутри меня говорило, что это возможно! Ведь это линукс!
Еще не много поиска в интернете и я нашел нужную информацию. Конечно же, все элементарно! Этой командой я уже пользовался — losetup, но почему то напрочь вылетела у меня из головы.

Теперь просто приведу пример.
Для начала, нам необходимо узнать какого размера нам нужно сделать файл, который будет эмулировать блочное устройство.

#fsarchiver archinfo backup.fsa

Получаем что типа:

===================== filesystem information ====================
Filesystem id in archive: 0
Filesystem format: ext4
Filesystem label: lboot
Filesystem uuid: f8eebcb0-ba54-47e4-8a86-769880291a3e
Original device: /dev/md0
Original filesystem size: 921.43 MB (966189056 bytes)
Space used in filesystem: 59.61 MB (62504960 bytes)


Здесь нас интересует параметр Space used in filesystem: 59.61 MB (62504960 bytes)
то есть сколько минимум подребуется места для развертывания имиджа. Файл-образ должен быть чуть большего объема.
Создаем пустой файл vd.img размером 100мегабайт(требуется 59.61 MB ).
Параметры говорят сами за себя count-количество блоков, bs-их размер.

#dd if=/dev/zero of=vd.img count=100 bs=1M

Затем посморим какие петлевые интерфейсы у нас не используются

#losetup -f

Если таковых нет, то можно добавить.

#modprobe loop max_loop=128

И связываем файл-образ с этим интерфейсом

#losetup /dev/loop0 vd.img

Затем восстанавливаем на него наш архив

#fsarchiver restfs backup.fsa id=0,dest=/dev/loop0

И монтируем

#mount -o loop=/dev/loop0 /mnt/vd

После того как мы вытащили из образа нужные нам файлы, необходимо его отмонтировать, отвязать и удалить — если не планируем использовать его снова. Следующие команды делают это

#umount /mnt/vd
#losetup -d /dev/loop0
#rm -f vd.img


Всем удачи, не забывайте делать бэкапы.
Теги:
Хабы:
Всего голосов 20: ↑17 и ↓3+14
Комментарии11

Публикации

Ближайшие события