Combinando várias unidades em um volume

0

Atualmente, temos um servidor dedicado com 3 unidades SSD. Percebemos que realmente implantamos o sistema operacional em uma única unidade e os outros 2 não estão sendo usados 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 volume. Qual é a melhor maneira 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. Eu encontrei o LVM, mas ainda estou para descobrir se esta é a melhor solução.

Conforme solicitado:

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>
    
por William Edwards 18.09.2016 / 20:41

1 resposta

0

/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 uma ampla redundância, você tem muito espaço.

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

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

Dito isto, eu prosseguirei ao longo da linha

  • remove 2 espelhos de md2. Isso deixa você com um sistema ainda utilizável sem qualquer tempo de inatividade, mas duas partições livres. %código%
  • limpe todos os superquadros fs e RAID desses dois. %código%
  • Crie um RAID5 dessas duas partições, usando mdadm --remove /dev/md2 /dev/sda2 && mdadm --remove /dev/md2 /dev/sdb2 como o terceiro. Na verdade, isso criará um RAID0 temporário, duas vezes o tamanho da partição original (md3). %código%
  • Adicione este RAID5 ao md2 original como um espelho e espere que o ressincronizado termine wipefs --all /dev/sda2 && wipefs --all /dev/sdb2 ESPERE O SINCRONIZE OU PERCA OS SEUS DADOS!
  • Remova o último espelho original do md2, deixando-o com uma única perna, o recém-criado md3 missing
  • Cresça o md2 para usar todo o md3 mdadm --create -n 3 --level=5 --bitmap=internal /dev/md3 /dev/sda2 /dev/sdb2 missing
  • Redimensione o sistema de arquivos para usar todo o md2 ISTO DEPENDE DO FS USADO
  • limpe os superquadros FS e RAID dessa última partição mdadm --add /dev/md2 /dev/md3
  • Adicione-o ao RAID5 e deixe-o sincronizar para terminar. %código%

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

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

    
por 18.09.2016 / 21:44