Назад | Перейти на главную страницу

повторное использование существующих RAID-массивов при предварительной установке

Я пытаюсь автоматизировать процесс переустановки существующих установок 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.