como eu posso inicializar o linux a partir de um arranjo de software 1?

2

Estou tentando fazer um array de raid em uma instalação do Ubuntu existente no linux.

Estou seguindo este tutorial ... link

Depois de passar pela lista de coisas um milhão de vezes, finalmente entendi o que está acontecendo. Você faz o dispositivo raid, em sua nova unidade vazia, copia seu antigo / drive para ele, configura o grub menu.lst, fstab, mtab initrd e grub MBR para apontar para o dispositivo raid (que eu defini e está funcionando) ) e então você reinicia.   Depois de inicializar, você agora executa o dispositivo de ataque (/ dev / md0)   Então você simplesmente conecta seu drive original ao array de raid, ele sincroniza e voila está pronto.

Então eu configurei meu menu.lst para carregar principalmente o kernel e o initrd do dispositivo raid, e failover para o meu disco antigo original (ainda intacto).   E sempre falha quando eu reinicio.   Eu inicializo a máquina, executo minha nova entrada no grub e ela diz "arquivo de erro 15 não encontrado".   Muitas coisas na web sobre isso, nenhuma parece ajudar.

A única coisa que é estranho é quando eu vou configurar o MBR com o grub, você diz "root (hd0,0)" que eu finalmente entendo o que significa, e é suposto dizer que o tipo de sistema de arquivos é ext2fs, tipo de partição 0xfd ou algo assim.  O meu não diz nada.   Mas quando eu corro setup (hd0) e setup (hd2) ele diz que está fazendo a coisa certa para a unidade certa.   Então eu suponho que está funcionando.   mas não pode carregar o initrd / o kernel do dispositivo md0.

A única outra coisa que estou pensando é como o Grub sabe o que é um dispositivo de invasão.   O kernel não foi carregado, os módulos RAID do software não foram carregados, como pode o Grub pouco idiota ter alguma idéia de onde carregar o initrd?   Então, estou pensando, ok, há um mapeamento em algum lugar de / dev / md0 para / dev / sdc1 (a nova unidade de ataque), mas não vejo onde isso poderia estar acontecendo.   E para pontapés, (eu fiz isso tantas vezes em várias combinações) eu tentei definir o grub menu.lst para tentar carregar o initrd e kernel de root = / dev / sdc1 (minha nova unidade) e ainda diz arquivo não encontrado .   Então a configuração do grub mbr não está funcionando, ou estou sentindo falta de algo realmente simples.

Alguma idéia?

Here's some more info...

root@io:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[1]
      18771840 blocks [2/1] [_U]



root@io:~# fdisk -l

Disk /dev/sda: 20.8 GB, 20847697920 bytes
255 heads, 63 sectors/track, 2534 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x9d949d94

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2337    18771921   83  Linux
/dev/sda2            2338        2434      779152+   5  Extended
/dev/sda5            2338        2434      779121   82  Linux swap / Solaris

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
16 heads, 63 sectors/track, 620181 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        4064     2048224+  83  Linux
/dev/sdb2            4065      620181   310522968   83  Linux

Disk /dev/sdc: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000080

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1        2337    18771921   fd  Linux raid autodetect
/dev/sdc2            2338        2434      779152+   5  Extended
/dev/sdc5            2338        2434      779121   82  Linux swap / Solaris

Disk /dev/md0: 19.2 GB, 19222364160 bytes
2 heads, 4 sectors/track, 4692960 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table



root@io:~# mdadm -E
mdadm: No devices to examine



root@io:~# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=5248ed76:cba39cc2:3082255a:649c0d18
root@io:~#



root@io:~# cat /boot/grub/menu.lst

default         0
# 8/14/09 added this
fallback        1

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout         3

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
hiddenmenu

# added this 8/14/09 for raid boot, note this will get blown away on next kernel update
# if it's after the magic marker
# this means we will have to manually update this when there's a kernel upgrade :-(
# in grub land hd0 = /dev/sda and hd1 = /dev/sdb and hd2 = /dev/sdc I hope
# we're putting sdc first for now
title           Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic (raid)
root            (hd2,0)
#kernel         /boot/vmlinuz-2.6.24-24-generic root=UUID=b11d6b08-fdfe-4b0d-adec-4e263455be23 ro
kernel          /boot/vmlinuz-2.6.24-24-generic root=/dev/md0 ro
initrd          /boot/initrd.img-2.6.24-24-generic
quiet




title           Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.24-24-generic root=UUID=d8c402cc-7445-4878-b3aa-c9568b740b51 ro
initrd          /boot/initrd.img-2.6.24-24-generic
quiet


title           Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic (recovery mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.24-24-generic root=UUID=d8c402cc-7445-4878-b3aa-c9568b740b51 ro single
initrd          /boot/initrd.img-2.6.24-24-generic



root@io:~# blkid
/dev/sda1: UUID="d8c402cc-7445-4878-b3aa-c9568b740b51" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: TYPE="swap" UUID="e0509276-30eb-4dcb-8e17-20f8244f5403"
/dev/sdb1: LABEL="alt" UUID="ea1789eb-9d6f-47a9-a074-18121792b30a" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb2: LABEL="sp" UUID="3b6d1173-f9fd-4a3e-8e5d-249fc682355b" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdc1: UUID="76ed4852-c29c-a3cb-5a25-8230180d9c64" TYPE="mdraid"
/dev/md0: UUID="b11d6b08-fdfe-4b0d-adec-4e263455be23" SEC_TYPE="ext2" TYPE="ext3"


    
por Stu 22.08.2009 / 02:07

3 respostas

3

Para qualquer um que acabe sofrendo o erro 15 que eu sofri, acontece que o esquema de nomeação do dispositivo no grub (hd0, hd1, hd2 ...) acabou sendo diferente entre quando o grub inicializa e quando o grub está em execução após o sistema estar em funcionamento. Passei uma semana com root (hd2,0) porque foi o que grub me disse que a unidade que eu queria era chamada. Mas quando eu abandonei o shell grub na inicialização fiquei surpreso ao descobrir que o que era hd2 quando a máquina está em funcionamento, é hd1 na inicialização. Então eu mudei o menu.lst para usar root (hd1,0) e ele começou a funcionar. Eu espero salvar alguém com muito cabelo puxando com aquele.

    
por 28.08.2009 / 18:09
3

A coisa sobre o Grub é que é invocada antes que o resto do sistema linux é (obviamente), então ele não sabe nada sobre o seu software raid. Só vê os discos rígidos nus.

Portanto, é muito importante instalar o grub em ambas as unidades da sua matriz RAID1. O BIOS escolherá um para inicializar, e se o grub não estiver instalado nessa unidade, ele não será inicializado. (Descobri isso da maneira mais difícil quando uma das minhas unidades em uma configuração RAID1 sw falhou - o sistema recusou-se a inicializar dizendo que não tinha uma partição de inicialização .. a unidade que tinha o grub instalado tinha falhado, e eu fiquei com um não HDD inicializável. Instalando o Grub nele corrigiu)

Então abra o grub no prompt (você pode fazer isso com o Linux rodando) e digite:

grub

para obter o prompt do grub.

root(hd0,0)
setup(hd0)

root(hd1,0)
setup(hd1)

que define o grub para cada uma das primeiras partições em suas unidades (*** se sua partição de inicialização estiver em outro lugar na unidade, altere 0 para refletir a partição correta) então a instalação instala os arquivos de inicialização do grub.

Isso deve ser tudo que você precisa fazer. Se não estiver funcionando corretamente, você tem certeza de que tem a partição de boot correta e que suas unidades estão dispostas de forma idêntica?

    
por 22.08.2009 / 15:43
2

O Grub não sabe sobre o seu dispositivo RAID; ele apenas lê direto da unidade, que (em uma configuração RAID-1) ainda está bem, porque uma cópia inteira da unidade está ali (não cortada em bits como seria em um RAID-5 ou RAID-10 configuração).

Você ainda não forneceu informações suficientes para determinar o que está acontecendo; o que seria útil seria:

  • Tabelas de partição para todas as suas unidades;
  • Detalhes da configuração do RAID (saída de / proc / mdstat, mdadm -E, etc)
por 22.08.2009 / 03:51

Tags