.png)
Tenho tentado seguir o seguinte guia para configurar o RAID1: https://www.howtoforge.com/set-up-raid1-on-a-running-lvm-system-debian-etch
Atualmente tenho dois discos rígidos de 6 TB, criei um volume físico diretamente em um deles, o outro é novo e intacto.
sdc 8:32 0 5.5T 0 disk
├─DATA-user_data 254:0 0 4T 0 lvm
└─DATA-app_data 254:1 0 1T 0 lvm
sdd 8:48 0 5.5T 0 disk
O sdc
volume físico possui um único grupo de volumes contendo dois volumes lógicos
root@server:# pvscan
PV /dev/sdc VG DATA lvm2 [5.46 TiB / 469.03 GiB free]
Total: 1 [5.46 TiB] / in use: 1 [5.46 TiB] / in no VG: 0 [0 ]
root@server:# vgscan
Reading volume groups from cache.
Found volume group "DATA" using metadata type lvm2
root@server:# lvscan
ACTIVE '/dev/DATA/user_data' [4.00 TiB] inherit
ACTIVE '/dev/DATA/app_data' [1.00 TiB] inherit
Cheguei ao ponto do guia em que preciso copiar a tabela de partições de sdc
para sdd
, mas é claro que isso não é possível porque sdc
não possui uma tabela de partições.
Como posso configurar o RAID1 com sdc
e sdd
?
Responder1
Você pode criar volumes espelhados adicionando sdd
ao VG
pvcreate /dev/sdd
vgextend DATA /dev/sdd
e depois altere o número de cópias de cada LV
lvconvert -m1 DATA/user_data
lvconvert -m1 DATA/app_data
(1 significa duas cópias de dados, 0 significa uma cópia) Você pode verificar o progresso do espelhamento por comando como:
lvs -a -o name,copy_percent,devices DATA
Responder2
Bem opreguiçosoA opção seria apenas aceitar a configuração atual com calma, adicionar /dev/sdd
ao LVM como está e deixar o próprio LVM cuidar do RAID para você. Isso significa mdadm
que não está envolvido (pelo menos não diretamente). Veja a resposta de Romeu, é boa.
Se você quiser usar o mdadm
, embora não seja impossível fazer isso tardiamente (usando os metadados da versão 1.0 no final do disco), oa maneira certafazer isso seria particionar /dev/sdd
, colocar mdadm
RAID na partição, colocar LVM no RAID e migrar os dados. E depois de confirmar que a cópia está boa, você pode dissolver /dev/sdc
, particioná-la da mesma maneira e adicioná-la ao RAID.
Aproximadamente:
# partition step
parted /dev/sdd
(parted) mklabel gpt
(parted) mkpart md0_0 1MiB -1MiB
(parted) print free
(parted) quit
# mdadm step
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 missing
mdadm --detail --scan > /etc/mdadm.conf
# lvm step (rsync variant, two independent copies)
vgcreate RAIDDATA /dev/md0
lvcreate ...
mkfs ...
mount ...
# LV structure and filesystems as you see fit, then copy everything over
rsync -a /mnt/DATA/. /mnt/RAIDDATA/.
# alternative lvm step (pvmove variant, single copy)
vgextend DATA /dev/md0
pvmove /dev/sdc
vgreduce DATA /dev/sdc
A migração dos arquivos rsync
deve ser mais rápida e segura (se algo der errado, a cópia original ainda estará lá). Ao mesmo tempo, é propenso a erros do usuário (difícil dizer se rsync
perdeu alguma coisa).
A migração dos dados pvmove
é mais lenta e arriscada (tudo dá errado, a cópia original também desaparece), mas não perderá nada (incluindo arquivos excluídos e outros).
Neste ponto você deseja atualizar os UUIDs (se você usou mkfs, rsync) em fstab/grub e atualizar o initramfs. Reinicie e verifique se tudo está em ordem e se /dev/sdc
não está mais em uso. Então você pode adicioná-lo ao RAID.
# partition step
parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart md0_1 1MiB -1MiB
(parted) print free
(parted) quit
# raid resync step
mdadm /dev/md0 --add /dev/sdc1
watch -n 60 cat /proc/mdstat
E é isso...
Resumindo, você teria a configuração que a maioria das pessoas espera (disco rígido, partições, raid, lvm, sistemas de arquivos). Você também pode adicionar criptografia enquanto faz isso. ;-)