Генерация ISO из установленной системы
В рамках моей инфраструктуры у меня много виртуальных машин, работающих под разными дистрибутивами Linux, в Proxmox с использованием OpenVz. Моя проблема заключается в том, что мне нужно экспортировать в персонализированные устанавливаемые ISO-образы некоторые из имеющихся у меня виртуальных машин (устанавливаемые снимки текущего состояния виртуальных машин), некоторые из них работают под управлением Ubuntu, некоторые из них CentOS, поэтому мой вопрос: 1- Есть ли способ, которым я могу сделать это, зная об ОС, на которой работает виртуальная машина?, 2- Экспорт виртуальных машин в ISO, способ, который я только что объяснил, это путь или есть какой-то другой подход? Я открыт для любых советов от тех, кто имеет опыт работы с этим предметом, даже если мне нужно настроить другой Virt. Технология для размещения виртуальных машин.
1 ответ
Ваш вопрос довольно расплывчат по вашим требованиям. Я постараюсь дать вам несколько идей:
Что вы подразумеваете под "текущим состоянием"? Если вы действительно хотите, чтобы все запущенные процессы, то вам нужно что-то вроде VirtualBox и сделать снимок. Вы можете легко загрузить его на другом компьютере и продолжить работу с того места, на котором остановились, и это не зависит от ОС.
Если вы действительно имеете в виду только файловую систему, то копирование файловой системы и ее запись на компакт-диск вряд ли даст вам хорошие результаты. Например, есть много областей, которые, как ожидается, будут доступны для записи (/var, /tmp. Даже /etc для /etc/resolv.conf)
Одна простая идея - просто "сменить" файловую систему и распаковать ее в другом дистрибутиве OpenVz. (Я уверен, что кто-то сделал загрузочный дистрибутив OpenVz..)
Если вы хотите настоящий загрузочный ISO, есть много разных вариантов. Например, вы можете заставить ядро монтировать ISO как root. Или вы можете загрузиться на RAMDisk от имени пользователя root и распаковать необходимую файловую систему. Или вы можете смонтировать ISO как root с файловой системой наложения AUFS. Или вы можете смонтировать некоторые каталоги как файловую систему SquashFS в корень ОЗУ.
Но если вы действительно хотите простоты в "перемещении виртуальных машин", загляните в Docker. У этого есть простой способ выдвинуть файловую систему к общедоступному или частному серверу, затем загрузить ее на другой стороне, но сохранить пропускную способность на общих элементах, таких как установка ОС и Apache. (Если вы делаете это правильно.)