Como posso melhorar o conjunto de drives do meu software RAID1?

5

Eu tenho dois drives de 600GB em uma configuração RAID1 de software em um servidor Debian físico.

Eu quero poder atualizar a capacidade do servidor clonando as unidades em um par de unidades de 2 TB. Posso então limpar as unidades de 600 GB e usá-las como armazenamento ou qualquer outra coisa.

Qual é a melhor maneira de fazer isso?

slave:~# mount
/dev/md0 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
    
por Gareth 18.05.2009 / 00:25

3 respostas

10

Você deve ser capaz de substituir a primeira unidade, adicionar partição à matriz e deixar a raid ressincronizar. Em seguida, substitua a segunda unidade, permita que ela seja novamente sincronizada e, em seguida, expanda a raid e o sistema de arquivos para ocupar todo o espaço. Quando você particiona suas novas unidades, faça com que elas ocupem todo o espaço que você deseja para o novo layout.

man mdadm , resize2fs

remova um dispositivo da matriz

mdadm /dev/md0 --remove /dev/olddevice

adicione um dispositivo ao array

mdadm /dev/md0 --add /dev/newdevice

cresce a matriz para ocupar todo o espaço permitido pelas partições

mdadm /dev/md0 --grow --size=max

Cresça o sistema de arquivos para ocupar o espaço enitre da matriz

resize2fs /dev/md0

Você ainda deve fazer um backup. Só pra ter certeza. Se você quiser praticar e testar, convém tentar isso em uma máquina virtual primeiro para se sentir confiante.

    
por 18.05.2009 / 00:38
5

Caso alguém pesquise isso, eis a minha experiência com a migração de unidades de 2x150Gb para 2x1Tb no mdadm RAID1 + LVM.

Assumindo, temos 2 unidades - small1, small2 no mdadm mirror (md0), e as novas são big1 e big2. Sobre eles está o LVM com o grupo de volumes VG1 e o volume lógico LV1

garanta tudo OK com o md atual:

cat /proc/mdadm

Diga ao mdadm para falhar em uma unidade e removê-lo da matriz md:

mdadm /dev/md0 --set-faulty /dev/small1 && mdadm /dev/md0 --remove /dev/small1

Substitua small1 por um grande (ou hotswapping ou desligue o sistema).

Crie uma nova partição no HDD grande do tipo FD (autodetectação RAID do Linux). Faça o tamanho que você deseja que seu novo RAID seja. Eu prefiro cfdisk, mas isso pode variar:

cfdisk /dev/big1

Adicione o novo disco (ou, para ser correto, sua partição recém-criada, por exemplo, / dev / sda1):

mdadm /dev/md0 --add /dev/big1

Espere até que a matriz seja sincronizada:

watch cat /proc/mdstat

Repita isso com o outro par de unidades. No final, você terá dois grandes discos no array.

Aumente a matriz para o tamanho máximo permitido pelos dispositivos de componentes, aguarde até sincronizar:

mdadm /dev/md0 --grow --size=max
watch cat /proc/mdstat

Agora é hora de redimensionar o LVM. Observe a opção --test, ela simulará a ação, mas não alterará os metadados (é útil ver se há algum erro de configuração antes de redimensionar).

Redimensionamento de volume físico:

pvresize --verbose --test /dev/md0

Redimensionando o volume lógico:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

E finalmente redimensionando o ext3 FS:

resize2fs /dev/VG1/LV1

Com dois HDs de 1Tb, demorei cerca de 20 horas (removi um disco de um array antes de mexer com o LVM e o FS, então eram 3 syncs + array crescendo).

Tudo foi feito em um servidor de produção, sem interrupções para os serviços em execução.

Mas não se esqueça de BACKUP YOUR DATA antes de fazer qualquer alteração.

    
por 27.05.2009 / 11:12
1

Supondo que um dos discos sendo substituídos seja um disco de inicialização, você não precisa se preocupar em ter o GRUB em ambos discos antes de começar a arrancar discos? (Eu estou supondo que o material que o GRUB procura, em / boot, seja espelhado em ambos os discos.)

Eu tenho certeza que eu olhei para um prompt não-bastante-GRUB quando eu não entendi direito ...

    
por 18.08.2009 / 11:19