12.04 preseed install com RAID e LVM

6

Eu estou tentando configurar uma instalação preseed (Ubuntu 12.04.03 64-bit) com a seguinte receita de particionamento, mas simplesmente não está funcionando e não tenho certeza do porquê.

Por favor, Obi-Wan, você é minha única esperança.

Os -1 nos tamanhos eram originalmente de 1000000000, por isso tentei mudar para -1 , mas não fez diferença.

d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/purge_lvm_from_device  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 vg_sys
d-i partman-auto-lvm/guided_size string max

d-i partman-auto/choose_recipe select raid-lvm
d-i partman-auto/expert_recipe string                      \
      raid-lvm ::                                          \
        512 10 512 raid                                    \
          $primary{ } $lvmignore{ } $bootable{ }           \
          method{ raid }                                   \
        .                                                  \
        8192 20 -1 raid                                    \
          $primary{ } $lvmignore{ }                        \
          method{ raid }                                   \
        .                                                  \
        1024 100 1024 ext4                                 \
          $defaultignore $lvmok{ } lv_name{ root }         \
          method{ format } format{ }                       \
          use_filesystem{ } filesystem{ ext4 }             \
          mountpoint{ / }                                  \
        .                                                  \
        4096 100 4096 linux-swap                           \
          $defaultignore $lvmok{ } lv_name{ swap }         \
          method{ swap } format{ }                         \
        .                                                  \
        1024 100 2048 ext4                                 \
          $defaultignore $lvmok{ } lv_name{ tmp }          \
          method{ format } format{ }                       \
          use_filesystem{ } filesystem{ ext4 }             \
          mountpoint{ /tmp }                               \
        .                                                  \
        4096 100 8192 ext4                                 \
          $defaultignore $lvmok{ } lv_name{ var }          \
          method{ format } format{ }                       \
          use_filesystem{ } filesystem{ ext4 }             \
          mountpoint{ /var }                               \
        .                                                  \
        2048 100 4096 ext4                                 \
          $defaultignore $lvmok{ } lv_name{ usr }          \
          method{ format } format{ }                       \
          use_filesystem{ } filesystem{ ext4 }             \
          mountpoint{ /usr }                               \
        .                                                  \
        2048 110 16384 ext4                                \
          $defaultignore $lvmok{ } lv_name{ home }         \
          method{ format } format{ }                       \
          use_filesystem{ } filesystem{ ext4 }             \
          mountpoint{ /home }                              \
        .                                                  \
        512 1000 -1 ext4                                   \
          $defaultignore $lvmok{ } lv_name{ deleteme }     \
          method{ lvm }                                    \
        .

d-i partman-auto-raid/recipe string                              \
    1 2 0 ext4 /boot  /dev/sda1#/dev/sdb1                    .   \
    1 2 0 lvm  -      /dev/sda2#/dev/sdb2                    .

# the 'deleteme' LV soaks up the leftover space in the VG
d-i preseed/late_command string in-target lvremove -f vg_sys/deleteme

d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish

d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-lvm/confirm boolean true
d-i partman-md/confirm boolean true
d-i partman-md/confirm_nooverwrite  boolean true

d-i partman/mount_style select label

d-i mdadm/boot_degraded boolean false

Aqui está o erro que estou recebendo:

Os discos são duplos 50GiB (para ser preciso, 53.687.091.200 bytes).

    
por MikeyB 23.09.2013 / 22:45

4 respostas

7

Acho que seu erro está aqui:

d-i partman-auto/choose_recipe select raid-lvm
d-i partman-auto/expert_recipe string                      \
      raid-lvm ::                                          \

Você usa o partman-auto / choose_recipe quando for usar uma receita predefinida de fábrica. Se você não for, então faça sua própria receita usando o partman-auto / expert_recipe, especificando multiradisco, não raid-lvm.

Seu arquivo de configuração deve ser

d-i partman-auto/expert_recipe string                      \
      multiraid ::                                         \

minhas conclusões vieram da leitura esta e isto .

    
por 02.10.2013 / 16:10
2

Acabei aqui porque recebia os mesmos erros:

Error: No recipe specified in partman-auto-raid/recipe

Junto com:

Available disk space (XXX) too small for expert recipe (2200008705)

Aqui está o bit relevante do meu arquivo de preseed BAD:

d-i partman-auto/method string raid
d-i partman-auto/disk string /dev/sda /dev/sdb

d-i partman-auto/expert_recipe string                        \
     multiraid ::                                            \
              1 1 1 free                                     \
                      $gptonly{ }                            \
                      $primary{ }                            \
                      $bios_boot{ }                          \
                      method{ biosgrub }                     \
              .                                              \
              4096 1000 4096 linux-swap                      \
                      $gptonly{ }                            \
                      $primary{ }                            \
                      method{ swap } format{ }               \
              .                                              \
              141101 1000 141901 raid                        \
                      $gptonly{ }                            \
                      $primary{ }                            \
                      method{ raid } format{ }               \
              .                                              \
              1 2000 -1 ext4                                 \
                      $gptonly{ }                            \
                      $primary{ }                            \
                      method{ format } format{ }             \
                      use_filesystem{ } filesystem{ ext4 }   \
              .                                              \                                
# Last you need to specify how the previously defined partitions will be
# used in the RAID setup. Remember to use the correct partition numbers
# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
# devices are separated using "#".
# Parameters are:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
#          <devices> <sparedevices>

d-i partman-auto-raid/recipe string 1 2 0 ext4 / /dev/sda2#/dev/sdb2 .

O problema, irritantemente, foi que eu deixei uma barra invertida no final da última linha da receita do especialista. Deveria ter sido isso:

              1 2000 -1 ext4                                 \
                      $gptonly{ }                            \
                      $primary{ }                            \
                      method{ format } format{ }             \
                      use_filesystem{ } filesystem{ ext4 }   \
              .                                                                              

Espero que isso ajude alguém!

    
por 26.03.2014 / 15:05
1

Você não menciona se está usando uma distribuição de 32 ou 64 bits aqui, mas achei que esse número relatado em seu erro é bem estranho, "2200008705". De onde isso viria? Bem, pegue esse número e subtraia o maior valor para um int não assinado de 32 bits (2147483647), e você terá 52.525.058, o que parece muito com o tamanho exato de seus discos de 50 GB, não?

Olhando para a seção 5 do partman-auto-recipe.txt, que trata do uso de tamanhos muito grandes para qualquer partição que você queira preencher todo o espaço livre, ela diz:

Do not use higher than 1000000000 numbers because the shell arithmetic
is limited to 31 bits (on i386).

Na sua pergunta, você disse que antes de definir os valores para -1, eles foram configurados para 10000000000, que é um local / zero demais quando comparado à sugestão de um valor máximo. Talvez você tenha transbordado um valor em algum lugar, e é por isso que sua receita não funcionou inicialmente antes de ser alterada para -1?

    
por 26.09.2013 / 05:54
-1

Bem, isso significa que o primeiro erro que você tem é que o seu RAID não está configurado corretamente, como eu posso ler: "Nenhuma matriz encontrada no arquivo de configuração"

Acho que algo está errado na configuração do seu raid.

Talvez você possa dar um exemplo nesse tópico: link

    
por 26.09.2013 / 13:39