Atualmente, estou trabalhando em um servidor Ubuntu 18.04 remoto, onde preciso configurar um novo array raid (raid1) e depois montá-lo como uma partição disponível para o sistema de arquivos ativo. O primeiro passo para mim é entender o que está acontecendo no momento. Eu sei que existem 2 discos rígidos dentro do sistema ativo que estão conectados em uma matriz RAID 1. Usei o lsblk
comando para coletar algumas informações. A saída é a seguinte:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 894,3G 0 disk
├─nvme0n1p1 259:1 0 4G 0 part
│ └─md0 9:0 0 4G 0 raid1 [SWAP]
├─nvme0n1p2 259:2 0 512M 0 part
│ └─md1 9:1 0 511,4M 0 raid1 /boot
└─nvme0n1p3 259:3 0 889,8G 0 part
└─md2 9:2 0 889,6G 0 raid1 /
Então, isso significa que meu dispositivo físico é aquele chamado nvme0n1
? E isso é particionado em 3 partes (swap, boot e /). Se for o mesmo dispositivo físico ( nvme0n1
), por que as partições ( nvme0n1p1,nvme0n1p2,nvme0n1p3
) também estão separadas md0,md1,md2
? Qual é a diferença entre nvme0n1p1
e md0
?
Além disso, se eu cat /proc/mdstat
obtiver o seguinte resultado:
md2 : active raid1 nvme0n1p3[1]
932840768 blocks super 1.2 [2/1] [_U]
bitmap: 7/7 pages [28KB], 65536KB chunk
md1 : active raid1 nvme0n1p2[1]
523712 blocks super 1.2 [2/1] [_U]
md0 : active raid1 nvme0n1p1[1]
4190208 blocks super 1.2 [2/1] [_U]
Isso mostra 3 raidblocks ativos. Eu só tenho um array raid em execução. Não consigo interpretar a saída... preciso de ajuda.
Obrigado
Responder1
Se essa for a saída completa lsblk
, receio que mostre apenas um dispositivo de armazenamento físico, nvme0n1
.
Seu nvme0n1
é particionado em três partições, cada uma configurada individualmente para espelhamento de software-RAID1. Isso fornece três dispositivos RAID de software: md0
, md1
e md2
. Cada um deles corresponde a uma única partição RAID por software, não a um disco inteiro.
Configurar o RAID por partição dessa forma torna o disco reconhecível pelo BIOS como um disco particionado, mesmo que o BIOS não tenha conhecimento do RAID do software Linux. Isso pode simplificar a inicialização e alguns cenários de recuperação e permitir a reversão fácil para uma configuração não RAID, se necessário.
Em um estado espelhado normal, md0
se referiria ao conjunto espelhado de nvme0n1p1
+ nvme1n1p1
, md1
ao conjunto de nvme0n1p2
+ nvme1n1p2
, etc. Você montaria os sistemas de arquivos e ativaria a troca usando os dispositivos md0
, md1
e md2
: assim que esses dispositivos forem abertos para uso, o O subsistema software-RAID bloquearia as partições físicas subjacentes para acesso exclusivo, exigindo que todo o acesso às partições passasse pela camada RAID enquanto o RAID estivesse ativo.
No entanto, cada um desses conjuntos de software-RAID não possui a segunda metade de um par RAID1.Isso pode significar que o sistema foi configurado com software RAID em dois dispositivos NVMe idênticos, mas um deles (provavelmente nvme1n1
) já falhou.Ou talvez o sistema tenha sido configurado em um único disco NVMe como metade de um conjunto RAID1, para permitir uma transição fácil para o verdadeiro RAID1 assim que um segundo dispositivo NVMe pudesse ser obtido... mas isso nunca aconteceu, por algum motivo ou outro.
Sua primeira prioridade provavelmente deveria ser substituir o NVMe com falha (ou adicionar o que está faltando) e depois recuperar os pares RAID existentes:
- copie a tabela de partição do disco existente para o novo disco
- inicialize as partições no novo disco como peças sobressalentes para o
mdN
dispositivo correspondente - inicie a recuperação RAID1 em cada par
- instale uma segunda cópia do bootloader no segundo disco, pois o MBR e partes do GRUB estão localizados fora das partições espelhadas.
- configure o monitoramento dos dispositivos RAID para que a falha de um dos dispositivos físicos não passe despercebida novamente.
Feito isso, você poderá pensar em sua tarefa original de configurar uma nova matriz RAID. Para fazer isso, você precisaria de mais armazenamento físico, pois parece que o existente nvme0n1
está totalmente em uso (e o mesmo acontecerá com seu companheiro espelho, uma vez que os atuais meio-espelhos tenham sido totalmente recuperados).
Responder2
Sim, a saída mostra apenas um dispositivo físico (nvme0n1).
Sim, a saída mostra que tem 3 partições.
A parte interessante são as informações de /proc/mdstat
, onde mostra o3dispositivos raid configurados, todos mostrando arquivos [_U]
. Em um sistema saudável, deveria dizer [UU]
. Os 3 dispositivos raid estão configurados como raid1 (espelhado) e, portanto, a falha (suposta) da segunda unidade ainda não causou nenhuma perda de dados. É claro que a segunda unidade pode não ser detectada porque foi removida.
Um estudo do log de inicialização pode lhe dar uma dica se ele encontrar uma segunda unidade.
nvme0n1p1 é uma partição. Ele terá um cabeçalho de ataque no início. O restante dos setores da partição são usados como dados para o dispositivo md0. Se uma segunda unidade fosse conectada, que poderia ser um spinning rust
disco rígido convencional, seria esperado que ela tivesse pelo menos 3 partições. Uma delas (por convenção, você teria a primeira, então /dev/hda1) também teria um ataque cabeçalho e, em seguida, o restante dos setores seria usado para armazenar uma segunda cópia dos dados para o dispositivo /dev/md0.