Combinando várias unidades em um volume

Combinando várias unidades em um volume

Atualmente temos um servidor dedicado com 3 drives SSD. Percebemos que implantamos o sistema operacional em uma única unidade e as outras duas não estão sendo usadas no momento. No entanto, este disco está quase cheio:

/dev/md2         91G   83G  3.0G  97% /home

A solução lógica aqui seria combinar a capacidade de todas as três unidades (3 x 120 GB) e transformá-las em um único volume. Qual é a melhor forma de fazer isso?

Infelizmente, reinstalar o sistema operacional ou algo semelhante não é uma opção por enquanto.

O servidor está executando o Ubuntu 14.04.5 LTS. Encontrei o LVM, mas ainda não descobri se esta é a melhor solução.

Como pedido:

root@hv01:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        20G  2.5G   16G  14% /
devtmpfs         16G  4.0K   16G   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            3.2G  572K  3.2G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   24K   16G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/md2         91G   84G  2.6G  98% /home

root@hv01:~# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]     [multipath] [faulty] 
md1 : active raid1 sdc1[2] sda1[0] sdb1[1]
  20478912 blocks [3/3] [UUU]

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
  96211904 blocks [3/3] [UUU]

unused devices: <none>

Responder1

/proc/mdstatdeixa claro que você criou um conjunto de espelhos de 3 vias (RAID1) para seu sistema operacional (md1) e Home (md2). Embora isso forneça ampla redundância, custa muito espaço.

Como você está vinculado apenas ao disco /home, a maneira mais fácil é fazer um pouco de malabarismo com o disco.

Advertência: Esteja ciente de que um SSD morto no momento errado custará TODOS os seus arquivos - faça backup e esteja preparado.

Dito isto, eu prosseguiria na linha de

  • remova 2 espelhos do md2. Isso deixa você com um sistema ainda utilizável, sem qualquer tempo de inatividade, mas com 2 partições livres.mdadm --remove /dev/md2 /dev/sda2 && mdadm --remove /dev/md2 /dev/sdb2
  • limpe todos os superblocos fs e RAID desses dois.wipefs --all /dev/sda2 && wipefs --all /dev/sdb2
  • Crie um RAID5 dessas 2 partições, usando missingcomo a terceira. Na verdade, isso criará um RAID0 temporário, com o dobro do tamanho da partição original (md3).mdadm --create -n 3 --level=5 --bitmap=internal /dev/md3 /dev/sda2 /dev/sdb2 missing
  • Adicione este RAID5 ao md2 original como um espelho e aguarde a conclusão da ressincronizaçãomdadm --add /dev/md2 /dev/md3 AGUARDE A SINCRONIZAÇÃO OU PERDE SEUS DADOS!
  • Remova o último espelho original do md2, deixando-o com uma perna única, o md3 recém-criadomdadm --remove /dev/md2 /dev/sdc2
  • Aumente o md2 para usar todo o md3mdadm --grow --size=max /dev/md2
  • Redimensione o sistema de arquivos para usar todo o md2ISSO DEPENDE DO FS UTILIZADO
  • limpe os superblocos FS e RAID desta última partiçãowipefs --all /dev/sdc2
  • Adicione-o ao RAID5 e espere a ressincronização terminar.mdadm --add /dev/md3 /dev/sdc2

Agora você tem um conjunto de espelhos com apenas um espelho, que por si só é um RAID5, o dobro do tamanho inicial. Este parece ser um bom equilíbrio entre redundância e tamanho.

A parte boa: você não passa por nenhum tempo de inatividade - todas as etapas acima estão disponíveis durante o uso do sistema de arquivos.

informação relacionada