reutilizando RAIDs existentes na instalação preseed

5

Estou tentando automatizar o processo de reinstalação de instalações existentes do Ubuntu.

Layout da partição:

  • md0 (raid1, / dev / sda1 # / dev / sdb1) - troca (2G)
  • md1 (raid1, / dev / sda2 # / dev / sdb2) - / (20G)
  • md2 (raid1, / dev / sda3 # / dev / sdb3) - PV (espaço restante)

O que eu quero realizar é:

  • reutilize RAIDs existentes, se existirem

O mais importante é manter os dados em PVs existentes. Consegui fazer isso configurando um filtro no lvm.conf, que exclui todos os dispositivos de bloco, o suporte do ergo lvm está desabilitado.

O problema é que depois da instalação eu tenho que recriar / dev / md / 2, esperando que os dados estejam intactos.

A parte de pré-configuração da configuração é:

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 }    .

Talvez haja alguma outra maneira mais determinista de resolver esse problema?

    
por Frank 07.04.2014 / 14:10

1 resposta

1

Existem alguns exemplos de late_command nos Fóruns do Ubuntu, o exemplo proposto é baseado em um. Mas primeiro, dois pontos:

1) Automatizar uma instalação que force a formatação de um sistema de arquivos enquanto preserva outro é inerentemente perigoso. Se você não fizer backup antes de prosseguir, perderá dados. "Talvez não hoje. Talvez não amanhã, mas logo, e pelo resto de sua vida." ; -)

2) Recriar / dev / md2 é realmente a parte mais segura. Isso é um RAID de espelho mdadm, seus dados estão intactos, exceto duas falhas simultâneas no disco rígido.

De qualquer forma, você deve ser capaz de fazer algo assim para obter / dev / md2 reconstruído & montado onde você quer:

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;

testarei minha solução & adicionar um comentário com meus resultados, estou trabalhando em configurações de preseed para 14.04 LTS agora.

    
por 15.04.2015 / 21:40