Я пытаюсь автоматизировать процесс переустановки существующих установок Ubuntu.
Схема перегородки:
Я хочу добиться:
Наиболее важно сохранить данные о существующих PV. Я смог добиться этого, установив фильтр в lvm.conf, который исключает все блочные устройства, поэтому поддержка lvm отключена.
Проблема в том, что после установки мне приходится воссоздавать / dev / md / 2, надеясь, что данные не повреждены.
Предварительная часть конфигурации:
d-i partman/early_command string sed 's/filter\ =\ \[\ "a\/.*\/\"\ \]/filter\ =\ \[\ "r\/.*\/\"\ \]/g' -i /etc/lvm/lvm.conf
d-i partman-auto-raid/recipe string \
1 2 0 swap - /dev/sda1#/dev/sdb1 .\
1 2 0 ext3 / /dev/sda2#/dev/sdb2 .
d-i partman-auto/expert_recipe string \
multiraid :: \
2000 10 2000 raid $primary{ } method{ raid } format{ } .\
20000 11 20000 raid $primary{ } method{ raid } format{ } . \
20000 12 2000000 raid $primary{ } method{ keep } .
Может, есть какой-нибудь другой, более детерминированный способ решить эту проблему?
На форумах Ubuntu есть несколько примеров late_command, предлагаемый пример основан на одном из них. Но сначала два момента:
1) Автоматическая установка, которая требует форматирования одной файловой системы с сохранением другой, по своей сути опасна. Если вы не сделаете резервную копию, прежде чем продолжить, вы потеряете данные. «Может, не сегодня. Может, не завтра, но скоро и на всю оставшуюся жизнь». ;-)
2) Воссоздание / dev / md2 на самом деле самая безопасная часть. Это зеркальный RAID-массив mdadm, ваши данные не повреждены, за исключением одновременного отказа двух жестких дисков.
В любом случае, вы должны иметь возможность сделать что-то вроде этого, чтобы / dev / md2 был перестроен и смонтирован там, где вы хотите:
d-i preseed/late_command string \
in-target sed 's/^ARRAY/#&/g' -i /etc/mdadm/mdadm.conf; \
in-target mdadm --detail --scan >> /etc/mdadm/mdadm.conf; \
in-target mkdir /md2; \
in-target echo '/dev/md2 /md2 ext3 defaults 0 0' >>/etc/fstab;
Я протестирую свое решение и добавлю комментарий к своим результатам, сейчас я работаю над конфигами preseed для 14.04 LTS.