Install Arch Linux with Fake RAID (Português)

Status de tradução:
Esse artigo é uma tradução de
Install Arch Linux with Fake RAID
. Data da última tradução: 2022-08-26. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Artigos relacionados
Instalando com Software RAID ou LVM
Converter um sistema de unidade única para RAID
Guia de instalação
O objetivo deste guia é permitir o uso de um conjunto RAID criado pelo controlador RAID BIOS integrado e, assim, permitir a inicialização dupla do Linux e do Windows a partir de partições
dentro
do conjunto RAID usando o GRUB. Ao usar o chamado
fake RAID
ou
host RAID
, os conjuntos de discos são alcançados em
/dev/mapper/nome-do-chipset_nome-aleatório
e não em
/dev/sd
X
.
O que é "Fake RAID"
Segundo a
Wikipedia
:
O RAID baseado em sistema operacional nem sempre protege o processo de inicialização e geralmente é impraticável em versões de desktop do Windows. Os controladores RAID de hardware são caros e proprietários. Para preencher essa lacuna, foram introduzidos "controladores RAID" baratos que não contêm um chip controlador RAID, mas simplesmente um chip controlador de disco padrão com firmware e drivers especiais. Durante a inicialização do estágio inicial, o RAID é implementado pelo firmware. Quando um kernel de sistema operacional em modo protegido, como Linux ou uma versão moderna do Microsoft Windows, é carregado, os drivers assumem o controle.
Esses controladores são descritos por seus fabricantes como controladores RAID, e raramente fica claro para os compradores que o ônus do processamento RAID é suportado pela unidade de processamento central do computador host - e não pelo próprio controlador RAID - introduzindo assim a sobrecarga de CPU acima mencionada que controladores de hardware não sofrem. Os controladores de firmware geralmente só podem usar certos tipos de discos rígidos em suas matrizes RAID (por exemplo, SATA para Intel Matrix RAID, pois não há suporte SCSI nem PATA em pontes sul Intel ICH modernas; no entanto, os fabricantes de placas-mãe implementam controladores RAID fora da ponte sul em alguns placas-mãe). Antes de sua introdução, um "controlador RAID" implicava que o controlador fazia o processamento, e o novo tipo tornou-se conhecido em círculos com conhecimento técnico como "fake RAID", embora o próprio RAID seja implementado corretamente. Adaptec os chama de "host RAID".
Veja também
Guia de FakeRaid - Documentação Comunitária do Ubuntu
para mais informações.
Apesar da terminologia, "fake RAID" via
dmraid
é uma implementação robusta de software RAID que oferece um sistema sólido para espelhar ou distribuir dados em vários discos com sobrecarga insignificante para qualquer sistema moderno.
dmraid
é comparável a
mdadm
(RAID de software Linux puro) com o benefício adicional de poder reconstruir completamente uma unidade após uma falha
antes
do sistema ser inicializado. No entanto, esteja ciente de que nem todas as implementações de BIOS RAID suportam a reconstrução de unidade. Em vez disso, eles contam com software não-linux para realizar a reconstrução. Se o seu sistema não puder reconstruir uma unidade no utilitário de configuração do BIOS RAID, você é fortemente encorajado a usar mdraid (puro Linux Software Raid via mdadm - veja
RAID
) em vez de dmraid, ou você não conseguirá reconstruir uma matriz em caso de uma falha de unidade - ou incapaz de recuperar informações de sua matriz em caso de falha de placa-mãe sem muito trabalho adicional.
História
No Linux 2.4, a estrutura do kernel ATARAID forneceu suporte para fake RAID (RAID de software assistido pelo BIOS). Para Linux 2.6, o framework device-mapper pode, entre outras coisas legais como
LVM
e EVMS, fazer o mesmo tipo de trabalho que ATARAID em 2.4. Embora o novo código que lida com a E/S RAID ainda seja executado no kernel, o mapeador de dispositivos geralmente é configurado por um aplicativo de espaço do usuário. Ficou claro que ao usar o mapeador de dispositivos para RAID, a detecção iria para o espaço do usuário.
Heinz Maulshagen criou a ferramenta dmraid para detectar conjuntos RAID e criar mapeamentos para eles. Os controladores suportados são (na maioria baratos) controladores RAID IDE/SATA falsos que contêm funções do BIOS. Exemplos comuns incluem: controladores Promise FastTrak; High Point HPT37x; Intel Matriz RAID; Silicon Image Medley; e NVIDIA nForce.
Preparação
Atenção
Faça backup de todos os dados antes de mexer com RAID. O que você faz com seu hardware é apenas sua própria culpa. Os dados em faixas RAID são altamente vulneráveis a falhas de disco. Crie backups regulares ou considere usar conjuntos de espelhos.
Considere-se avisado!
Abra quaisquer guias necessários do (
Guia de instalação
) em outra máquina. Se você não tiver acesso a outra máquina, imprima-os.
Baixe a imagem de instalação do Arch Linux mais recente.
Faça backup de todos os arquivos importantes, pois tudo nas partições de destino será destruído.
Configure conjuntos de RAID
Atenção
Se suas unidades ainda não estiverem configuradas como RAID e o Windows já estiver instalado, alternar para "RAID" pode fazer com que o Windows fique em tela azul durante a inicialização.
[1]
Entre na configuração do BIOS e ative o controlador RAID.
O BIOS pode conter uma opção para configurar unidades SATA como "IDE", "AHCI" ou "RAID"; certifique-se de que "RAID" esteja selecionado.
Salve e saia da configuração do BIOS. Durante a inicialização, entre no utilitário de configuração RAID.
O utilitário RAID geralmente é acessível através do menu de inicialização (geralmente F8, F10 ou CTRL+I) ou enquanto o controlador RAID está inicializando.
Use o utilitário de configuração RAID para criar conjuntos de faixas/espelhos (
stripe/mirror
) preferidos.
Dica
Consulte a documentação da sua placa-mãe para obter detalhes. O procedimento exato pode variar.
Inicialize o instalador
Consulte
Guia de instalação#Pré-instalação
para obter detalhes.
Exemplo de instalação do MBR usando mdadm e Intel FakeRAID
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Veja
Help:Style
(Discuss in
Talk:Install Arch Linux with Fake RAID
)
Isso aqui porque passei horas fazendo isso funcionar, porque há muita informação por aí sobre diferentes maneiras de fazê-lo, além de informações desatualizadas. Ele pode precisar ser integrado a esta página melhor, com mais explicações e sintaxe da wiki do Arch, mas estou encerrando isso neste momento. Este é um dump de linha de comando básico que mostra uma configuração RAID bem-sucedida usando a estrutura de partição MBR.
Parece que, uma vez que você cria o array no Intel util, ele grava os metadados do raid. Portanto, a montagem/criação de um array não precisa acontecer. Chamei meu array de ZERO no Intel util e você pode vê-lo neste exemplo.
Estou deixando todo o exemplo de instalação, pois mostra quando configurar as coisas durante a instalação. Você vai ter que modificar algumas coisas para que funcionem, não copie e cole!
ls /dev/md/
parted /dev/md/ZERO_0
mklabel msdos
mkpart primary ext4 1MiB 100MiB
set 1 boot on
mkpart primary ext4 100MiB 16.5GiB
mkpart primary linux-swap 16.5GiB 100%
Só para ver as mudanças:
fdisk -l /dev/md/ZERO_0
Crie o sistema de arquivos, o swap e ative-o
mkfs.ext4 /dev/md/ZERO_0p1
mkfs.ext4 /dev/md/ZERO_0p2
mkswap /dev/md/ZERO_0p3
swapon /dev/md/ZERO_0p3
mount /dev/md/ZERO_0p2 /mnt
mkdir -p /mnt/boot
mount /dev/md/ZERO_0p1 /mnt/boot/
nano /etc/pacman.conf
Descomente multilib em x64 (por que não) (faça depois do chroot também)
pacstrap -i /mnt base base-devel
genfstab -U /mnt > /mnt/etc/fstab
cat /mnt/etc/fstab
nano /mnt/etc/fstab
Substitua UUIDs por (isso pode ser opcional):
/dev/md/ZERO_0p1
/dev/md/ZERO_0p2
/dev/md/ZERO_0p3
mdadm --detail --scan >> /mnt/etc/mdadm.conf
Entre em chroot para configuração
arch-chroot /mnt /bin/bash
nano /etc/locale.gen
pt_BR.UTF-8 UTF-8
nano /etc/locale.conf
LANG=pt_BR.UTF-8
locale-gen pt-BR pt_BR.UTF-8
tzselect
ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
Trabalhe em algumas coisas do GRUB
pacman -Sv grub
nano /etc/default/grub
Descomente GRUB_DISABLE_LINUX_UUID=true
Coisas do RAID
cat /etc/mdadm.conf
nano /etc/mkinitcpio.conf
Adicione mdadm_udev em HOOKS
HOOKS="base udev autodetect modconf block
mdadm_udev
filesystems keyboard fsck"
Adicione /sbin/mdmon em BINARIES<ref>
https://bbs.archlinux.org/viewtopic.php?id=137058
</ref>
BINARIES="/sbin/mdmon"
Regenere-o
mkinitcpio -p linux
grub-install --recheck /dev/md/ZERO_0
grub-mkconfig -o /boot/grub/grub.cfg
cat /boot/grub/grub.cfg
echo
seu_hostname
> /etc/hostname
nano /etc/hosts
systemctl enable dhcpcd@enp13s0.service
exit
umount -R /mnt
reboot
Remova o CD live
Inicie o dmraid
Inicie o "device-mapper" e procure os arranjos RAID:
# modprobe dm_mod
# dmraid -ay
# ls -la /dev/mapper/
Exemplo de saída:
/dev/mapper/control            <- Criado pelo device-mapper; se presente, o mapeador de dispositivo provavelmente está funcionando
/dev/mapper/sil_aiageicechah   <- O arranjo RAID na controladora Silicon Image
/dev/mapper/sil_aiageicechah1  <- Primeira partição nesse arranjo RAID
Se houver apenas um arquivo (
/dev/mapper/control
), verifique se o módulo do seu chipset está carregado com
lsmod
. Se estiver carregado, então o
dmraid
não suporta essa controladora, ou não existem arranjos RAID no sistema (verifique a BIOS RAID novamente). Se tudo estiver correto, então você será forçado a utilizar
Software RAID
(não será possível fazer Dual Boot com essa controladora).
Se o módulo do seu chipset não foi carregado, faça-o agora. Como no exemplo:
# modprobe sata_sil
Veja
/lib/modules/`uname -r`/kernel/drivers/ata/
para os drivers disponíveis.
Para testar os arranjos raid:
# dmraid -tay
GRUB2
Consulte
GRUB2
para obter detalhes sobre como configurar o GRUB2.
grub-bios
funciona fora da caixa com partições dm-raid:
$ grub-install --target=i386-pc --recheck --debug /dev/mapper/sil_aiageicechah
Nota
Se
GRUB_DISABLE_LINUX_UUID=true
não estiver definido, GRUB2 irá gerar linhas com
root=UUID=...
resultando na montagem de um lado de um array RAID 1 espelhado.
(Opcional) Instale o
os-prober
se você tiver outro sistema operacional como o Windows.
$ grub-mkconfig -o /boot/grub/grub.cfg
Isso é tudo,
grub-mkconfig
irá gerar o configure automaticamente. Você pode editar
/etc/default/grub
para modificar a configuração (tempo limite, cor, etc) antes do grub-mkconfig.
Solução de problemas
Iniciando com um arranjo corrompido
Uma desvantagem do uso de Fake RAID no GNU/Linux é que o
dmraid
é, atualmente, incapaz de lidar com arranjos degradados e se recusa a ativar. Nesse cenário, é preciso resolver o problema através de outro sistema operacional (por exemplo o Windows) ou através do utilitário do chipset RAID.
Como alternativa, se estiver usando um array espelhado (RAID 1), os usuários podem ignorar temporariamente o
dmraid
durante o processo de inicialização e inicializar a partir de uma única unidade:
Edite a linhe
kernel
no menu do
GRUB
Remova as referencias aos dispositivos dmriad (exemplo mude
/dev/mapper/raidSet1
para
/dev/sda1
)
Acrescente
disablehooks=dmraid
para prevenir um
kernel panic
se o dmraid descobrir o arranjo degradado
Inicie o sistema
Erro: Não foi possível determinar o número principal/menor do dispositivo raiz
Se ocorrer uma falha de inicialização após a atualização do kernel, onde o processo de inicialização não consegue determinar o número principal/menor do dispositivo raiz, isso pode ser apenas um problema de tempo (ou seja,
dmraid -ay
pode ser chamado antes de /dev/sd* estar totalmente configurado e detectado). Isso pode afetar as imagens de kernel normal e LTS. A inicialização da imagem do kernel 'Fallback' deve funcionar. O erro será algo assim:
Activating dmraid arrays...
no block devices found
Waiting 10 seconds for device /dev/mapper/nvidia_baaccajap5
Root device '/dev/mapper/nvidia_baaccajap5' doesn't exist attempting to create it.
Error: Unable to determine major/minor number of root device '/dev/mapper/nvidia_baaccajap5'
Para contornar este problema:
inicialize o kernel Fallback
insira o hook
sleep
na linha
HOOKS
de
/etc/mkinitcpio.conf
após o hook
udev
, assim:
HOOKS="base udev
sleep
autodetect block dmraid filesystems"
reconstrua a imagem do kernel e reinicie.
Espelho dmraid falha ao ativar
Tudo acima funciona corretamente na primeira vez, mas quando você reinicia o
dmraid
não consegue encontrar o array?
Isso ocorre porque o software raid do Linux (
mdadm
) já tentou montar o array fake RAID durante a inicialização do sistema e o deixou em um estado desmontável. Para evitar que
mdadm
seja executado, remova a regra do udev responsável:
# cd /lib/udev/rules.d
# mkdir disabled
# mv 64-md-raid.rules disabled/
# reboot
Nenhum dispositivo de bloco para partições na matriz RAID existente
Se o seu array existente, configurado antes de tentar instalar o Arch, aparece em
/dev/mapper/nome_do_raid
, mas não tem partições (
nome_do_raid1
, etc) verifique novamente o status de suas partições RAID.
O Arch pode não criar dispositivos de bloco para partições
que funcionem em outro sistema operacional
se houver certos problemas, mesmo pequenos.
gparted
é útil para diagnosticar e reparar a maioria dos problemas. Infelizmente, você pode ter que reparticionar do zero.
Veja também
Tópico do fórum relacionado