Instalando o EFI no RAID 1 usando o arquivo partman e seed, em ambas as unidades

2

Então, minha pergunta é: é possível instalar a partição EFI em ambas as unidades ao fazer uma instalação de semente no Ubuntu? Dessa forma, se uma unidade for acionada, a partição / dados efi relevante estará lá na segunda unidade, e ela poderá ser inicializada. Ou só é possível instalá-lo na primeira unidade. Aqui está o meu arquivo de semente de trabalho para instalá-lo apenas na primeira unidade, configuração RAID 1 e LVM. Mas eu gostaria de saber como fazer as duas coisas

d-i     partman-md/device_remove_md                   boolean true 
d-i     partman-lvm/device_remove_lvm                 boolean true
d-i     partman-lvm/confirm                           boolean true
d-i     partman-auto/disk                             string /dev/sda /dev/sdb
d-i     partman-auto/method                           string raid
d-i     partman-auto-lvm/new_vg_name                  string vg0
d-i     partman-auto-lvm/guided_size                  string 90%
d-i     partman-auto/expert_recipe string \
    efi-lvm ::      \
1 1 1 free            \
    $bios_boot{ }       \
    method{ biosgrub }  \
.                       \
256 10 256 fat32        \
    $primary{ }         \
    $lvmignore{ }       \
    method{ efi }       \
    format{ }           \
.\
    20000 30 1000000000 raid    \
    $lvmignore{ }      \
    $primary{ }        \
    method{ raid }      \
    .\
    20000 50 400000 ext4    \
    $defaultignore{ }  \
    $lvmok{ }      \
    lv_name{ root }     \
    method{ format }    \
    format{ }       \
    use_filesystem{ }   \
    filesystem{ ext4 }  \
    mountpoint{ / }     \
    label{ Root }       \
    .\
    2048 40 2048 swap   \
    $defaultignore{ }  \
    $lvmok{ }      \
    lv_name{ swap }     \
    method{ swap }      \
    format{ }       \
    .

d-i     partman-auto-raid/recipe string \
    1 2 0 lvm - /dev/sda2#/dev/sdb2 \
    .
d-i     partman-md/confirm                            boolean true

d-i     partman-partitioning/confirm_write_new_label  boolean true
d-i     partman/choose_partition                      select Finish partitioning and     write changes to disk
d-i     partman/confirm                               boolean true
d-i     partman-md/confirm_nooverwrite                boolean true
d-i     partman/confirm_nooverwrite                   boolean true
d-i     mdadm/boot_degraded             boolean true

Eu também tenho o seguinte no arquivo seed ny para resumir as unidades e eliminar qualquer bit lvm.

 d-i partman/early_command \
      string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"

d-i partman/early_command string vgs -separator=: -noheadings | cut -f1 -d: | while     read vg ; do vgchange -an $vg ; done ; pvs -separator=: -noheadings | cut -f1 -d: |     while read pv ; do pvremove -ff -y $pv ; done
    
por NameEnding 14.07.2014 / 19:37

1 resposta

2

Encontrei o combo vencedor para minha situação. Isso destrói todos os Raid / Partições Físicas / LWM, etc, então a instalação da semente começa com um slate totalmente limpo. Testado e confirmado em várias caixas com vários esquemas de partição em vigor.

# Disk Partitioning
# Use LVM, and wipe out anything that already exists
d-i partman/early_command string vgs -separator=: -noheadings | cut -f1 -d: | while     read vg ; do vgchange -an $vg ; done ; pvs -separator=: -noheadings | cut -f1 -d: |     while read pv ; do pvremove -ff -y $pv ; done

d-i partman/early_command \
     string /bin/dd if=/dev/zero of=/dev/sda bs=512 count=1

d-i partman/early_command \
     string /bin/dd if=/dev/zero of=/dev/sdb bs=512 count=1

# Disk Partitioning

d-i     partman-lvm/device_remove_lvm                 boolean true
d-i     partman-md/device_remove_md                   boolean true
d-i     partman-lvm/confirm                           boolean true
d-i     partman-auto/disk                             string /dev/sda /dev/sdb
d-i     partman-auto/method                           string raid
d-i     partman-auto-lvm/new_vg_name                  string vg0
d-i     partman-auto-lvm/guided_size                  string 90%
d-i     partman-auto/expert_recipe string \
    efi-lvm ::      \
256 10 256 fat32        \
    $primary{ }         \
    $lvmignore{ }       \
    method{ efi }       \
    format{ }           \
.\
    20000 30 1000000000 raid    \
    $lvmignore{ }      \
    $primary{ }        \
    method{ raid }      \
    .\
    20000 50 400000 ext4    \
    $defaultignore{ }  \
    $lvmok{ }      \
    lv_name{ root }     \
    method{ format }    \
    format{ }       \
    use_filesystem{ }   \
    filesystem{ ext4 }  \
    mountpoint{ / }     \
    label{ Root }       \
    .\
    2048 40 2048 swap   \
    $defaultignore{ }  \
    $lvmok{ }      \
    lv_name{ swap }     \
    method{ swap }      \
    format{ }       \
    .

d-i     partman-auto-raid/recipe string \
    1 2 0 lvm - /dev/sda2#/dev/sdb2 \
    .
d-i     partman-md/confirm                            boolean true

d-i     partman-partitioning/confirm_write_new_label  boolean true
d-i     partman/choose_partition                      select Finish partitioning and     write changes to disk
d-i     partman/confirm                               boolean true
# d-i     partman-md    partman-md/confirm_nochanges    boolean false
d-i     partman-md/confirm_nooverwrite                boolean true
d-i     partman/confirm_nooverwrite                   boolean true
d-i     mdadm/boot_degraded             boolean true

E lá vai você. Ele cria raiz VG e troca através de uma partição raid 1 em dois discos, além de ter uma partição em cada disco adequada para EFI. Faça qualquer pergunta se precisar. Eu tenho um melhor jeito sobre isso agora, e pode responder a alguns relacionados com a configuração de disco de semente do Ubuntu em Trusty 14.04 LTS

Obrigado

    
por NameEnding 15.07.2014 / 21:44