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/mdstat
deixa 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
missing
como 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ção
mdadm --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-criado
mdadm --remove /dev/md2 /dev/sdc2
- Aumente o md2 para usar todo o md3
mdadm --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ção
wipefs --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.