Após a inicialização, meu dispositivo RAID1 ( /dev/md_d0
*) às vezes entra em um estado engraçado e não consigo montá-lo.
* Originalmente eu criei, /dev/md0
mas ele de alguma forma se transformou em /dev/md_d0
.
# mount /opt
mount: wrong fs type, bad option, bad superblock on /dev/md_d0,
missing codepage or helper program, or other error
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)
In some cases useful info is found in syslog - try
dmesg | tail or so
O dispositivo RAID parece estar inativo de alguma forma:
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
[raid4] [raid10]
md_d0 : inactive sda4[0](S)
241095104 blocks
# mdadm --detail /dev/md_d0
mdadm: md device /dev/md_d0 does not appear to be active.
A questão é: como tornar o dispositivo ativo novamente (usando mdmadm
, presumo)?
(Outras vezes, está tudo bem (ativo) após a inicialização, e eu posso montá-lo manualmente sem problemas. Mas ele ainda não será montado automaticamente, mesmo que eu o tenha /etc/fstab
:
/dev/md_d0 /opt ext4 defaults 0 0
Então, uma pergunta bônus: o que devo fazer para que o dispositivo RAID seja montado automaticamente /opt
no momento da inicialização? )
Esta é uma estação de trabalho Ubuntu 9.10. Informações de plano de fundo sobre minha configuração de RAID nesta pergunta .
Edit : Minha /etc/mdadm/mdadm.conf
aparência é assim. Nunca toquei neste arquivo, pelo menos à mão.
# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR <my mail address>
# definitions of existing MD arrays
# This file was auto-generated on Wed, 27 Jan 2010 17:14:36 +0200
Na /proc/partitions
última entrada, md_d0
pelo menos agora, após a reinicialização, quando o dispositivo estiver ativo novamente. (Não tenho certeza se seria o mesmo quando estiver inativo.)
Resolução : como Jimmy Hedman sugeriu , peguei a saída de mdadm --examine --scan
:
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=de8fbd92[...]
e acrescentou /etc/mdadm/mdadm.conf
, o que parece ter corrigido o problema principal. Depois de mudar /etc/fstab
para usar /dev/md0
novamente (em vez de /dev/md_d0
), o dispositivo RAID também é montado automaticamente!
mdadm --examine --scan
produzidoARRAY /dev/md0 level=raid1 num-devices=2 UUID=...
(observe o md0 em vez de md_d0!) Coloquei isso no arquivo mdadm.conf (manualmente, porque houve algum problema com o sudo e>>
("permissão negada") e o sudo é necessário) e também atualizei o fstab para usar md0 (não md_d0) novamente. Agora, parece que não encontro mais o problema "inativo" e o dispositivo RAID é montado automaticamente em / opt após a inicialização. Então obrigado!sudo ... >> mdadm.conf
é que o shell abre os arquivos redirecionados antes da execução do sudo. O comandosu -c '.... >> mdadm.conf'
deve funcionar.Descobri que preciso adicionar a matriz manualmente
/etc/mdadm/mdadm.conf
para que o Linux a monte na reinicialização. Caso contrário, recebo exatamente o que você tem aqui -md_d1
dispositivos que estão inativos etc.O arquivo conf deve se parecer com abaixo - isto é, uma
ARRAY
linha para cada dispositivo md. No meu caso, as novas matrizes estavam ausentes neste arquivo, mas se você as tiver listado, provavelmente não será uma correção para o seu problema.Adicione uma matriz por dispositivo md e adicione-a após o comentário incluído acima, ou se esse comentário não existir, no final do arquivo. Você obtém os UUIDs fazendo
sudo mdadm -E --scan
:Como você pode ver, você pode simplesmente copiar a saída do resultado da verificação para o arquivo.
Eu corro o ubuntu desktop 10.04 LTS e, tanto quanto me lembro, esse comportamento difere da versão do servidor do Ubuntu, no entanto, há tanto tempo atrás eu criei meus dispositivos md no servidor, posso estar errado. Também pode ser que eu tenha perdido alguma opção.
De qualquer forma, adicionar a matriz no arquivo conf parece fazer o truque. Eu executei o ataque acima 1 e o ataque 5 por anos sem problemas.
fonte
Aviso: Antes de tudo, deixe-me dizer que o abaixo (devido ao uso de "--force") parece arriscado para mim e, se você tiver dados irrecuperáveis, recomendo fazer cópias das partições envolvidas antes de começar a tentar qualquer um dos as coisas abaixo. No entanto, isso funcionou para mim.
Eu tive o mesmo problema, com uma matriz aparecendo como inativa, e nada do que fiz incluindo o "mdadm --examine --scan> /etc/mdadm.conf", como sugerido por outras pessoas aqui, ajudou em tudo.
No meu caso, quando tentou iniciar o array RAID-5 após a substituição da unidade, estava dizendo que estava sujo (via
dmesg
):Fazendo com que ele apareça como inativo em
/proc/mdstat
:Descobri que todos os dispositivos tinham os mesmos eventos, exceto a unidade que eu havia substituído (
/dev/sdb4
):No entanto, os detalhes da matriz mostraram que havia 4 de 5 dispositivos disponíveis:
(O texto acima é da memória na coluna "State", não consigo encontrá-lo no meu buffer de rolagem para trás).
Consegui resolver isso parando a matriz e remontando-a:
Nesse ponto, o array estava funcionando, rodando com 4 dos 5 dispositivos, e eu pude adicionar o dispositivo de substituição e ele está sendo reconstruído. Consigo acessar o sistema de arquivos sem nenhum problema.
fonte
Eu estava tendo problemas com o Ubuntu 10.04, onde um erro no FStab impedia a inicialização do servidor.
Eu executei este comando conforme mencionado nas soluções acima:
Isso anexará os resultados de "mdadm --examine --scan" a "/etc/mdadm/mdadm.conf"
No meu caso, isso foi:
Este é um 0. fakeraid. Meu comando no / etc / fstab para montagem automática é:
O importante aqui é que você tem "nobootwait" e "nofail". O Nobootwait ignorará qualquer mensagem do sistema que esteja impedindo a inicialização. No meu caso, isso estava em um servidor remoto, por isso era essencial.
Espero que isso ajude algumas pessoas.
fonte
Você pode ativar seu dispositivo md com
Suponho que algum script de inicialização seja iniciado muito cedo, antes que um membro do RAID seja descoberto ou algum problema semelhante. Como uma solução rápida e suja, você deve poder adicionar esta linha ao /etc/rc.local:
Edit: aparentemente seu /etc/mdadm/mdadm.conf ainda contém o nome da configuração antiga. Edite esse arquivo e substitua as ocorrências de md0 por md_d0.
fonte
mount /dev/md_d0
em/etc/rc.local
obras bem.mdadm -A /dev/md_d0
por outro lado, falha com essa mensagem de erro nos dois casos (então eu não poderia usá-la antes desse&&
operador). Enfim, metade do problema parece resolvido, então +1 para isso./proc/partitions
); veja a pergunta editada. Nunca toquei no mdadm.conf - qual é a ferramenta que o gera automaticamente?/etc/rc.local
solução alternativa como parece que eu tenho tudo funcionando corretamente: superuser.com/questions/117824/... :)Eu tive um problema semelhante ... meu servidor não montaria o md2 depois de aumentar as partições de dispositivos associados. Ao ler este tópico, descobri que o dispositivo RAID md2 tinha um novo UUID e a máquina estava tentando usar o antigo.
Conforme sugerido ... usando a saída 'md2' de
Eu editei
/etc/mdadm/mdadm.conf
e substitui a linha UUID antiga pela saída acima do comando e meu problema desapareceu.fonte
Quando você finge fazer algo com
/dev/md[012346789}
isso, vai/dev/md{126,127...}
./dev/md0
continua montado/dev/md126
ou/dev/md127
você precisa:quantidade
/dev/md127
ou quantidade/dev/md126
.Isso é temporário para permitir que você execute comandos e alguns aplicativos sem parar o sistema.
fonte
md_d0 : inactive sda4[0](S)
parece errado para uma matriz RAID1. Parece sugerir que o array não possui dispositivos ativos e um dispositivo sobressalente (indicado por (S), você veria (F) um dispositivo com falha e nada para um dispositivo OK / ativo) - para um array RAID1 que não seja está executando degradado, deve haver pelo menos dois dispositivos OK / ativos (e para uma matriz degradada, pelo menos um dispositivo OK / ativo) e você não pode ativar uma matriz RAID1 sem dispositivos não sobressalentes que não falhem (como peças de reposição não contenha uma cópia dos dados até que sejam ativados quando outra unidade falhar). Se eu estiver lendo/proc/mdstat
corretamente essa saída, você não poderá ativar a matriz em seu estado atual.Você tem alguma unidade física na máquina que falhou ao girar? Será que
ls /dev/sd*
lista todas as unidades e partições que você normalmente esperaria para ver nessa máquina?fonte
echo active > /sys/block/md0/md/array_state
trabalhei para mim, fazendo com que meu RAID aparecesse como RAID1 com o disco ausente novamente em vez de RAID0 com somente reposição.Uma maneira simples de executar a matriz, assumindo que não há problema de hardware e que você tenha unidades / partições suficientes para iniciar a matriz, é o seguinte:
Pode ser que, por qualquer motivo, a matriz esteja correta, mas algo tenha impedido sua inicialização ou construção. No meu caso, isso ocorreu porque o mdadm não sabia que o nome original da matriz era md127 e todas as unidades foram desconectadas para essa matriz. Ao recarregar, tive que montar manualmente (provavelmente um erro em que o mdadm achava que o array já estava ativo por causa do nome antigo e offline do array).
fonte