Redimensiona a partição e o sistema de arquivos subjacentes ao MDADM / Software RAID

3

Estou ficando sem espaço na minha partição raiz e gostaria de roubar alguns de uma partição diferente. As unidades são 2x120 GB com RAID de software mdadm. Eu estou usando o CentOS 6.5 de 64 bits. Eu usei a configuração RAID guiada pelo instalador centos. Parece que a maioria dos HowTos está me preparando para não ter as partições subjacentes. Então, os outros teriam apenas / dev / md0. Eles iriam executar um resize2fs / dev / md0 25G (reduzindo de 50G por exemplo) e então usar o mdadm para redimensioná-lo, etc.

O layout é:

Filesystem            Size  Used Avail Use% Mounted on
/dev/md0p5            9.7G  7.1G  2.1G  78% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/md0p1            194M   99M   86M  54% /boot
/dev/md0p2             68G  7.2G   57G  12% /var/www

cat / proc / mdstat:

Personalities : [raid1] 
md0 : active raid1 sdb[1] sda[0]
      117220736 blocks [2/2] [UU]

unused devices: 

Aqui está o fdisk:

fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00035afc

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        8950    71680000   83  Linux
/dev/sda3            8950       11039    16777216   82  Linux swap / Solaris
/dev/sda4           11039       14594    28557312    5  Extended
/dev/sda5           11039       12314    10240000   83  Linux

Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00035afc

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2              26        8950    71680000   83  Linux
/dev/sdb3            8950       11039    16777216   82  Linux swap / Solaris
/dev/sdb4           11039       14594    28557312    5  Extended
/dev/sdb5           11039       12314    10240000   83  Linux

Disk /dev/md0: 120.0 GB, 120034033664 bytes
2 heads, 4 sectors/track, 29305184 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00035afc

    Device Boot      Start         End      Blocks   Id  System
/dev/md0p1   *         257       51456      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/md0p2           51457    17971456    71680000   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/md0p3        17971457    22165760    16777216   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/md0p4        22165761    29305088    28557312    5  Extended
Partition 4 does not end on cylinder boundary.
/dev/md0p5        22166273    24726272    10240000   83  Linux

Então, o que posso fazer para aumentar a partição raiz e reduzir a partição / var / www?

    
por Justin Edmands 02.04.2015 / 01:21

1 resposta

3

Como você particionou seu RAID como se fosse um único disco, é possível ignorar completamente o RAID nesse caso. Então, é apenas um problema de redimensionar / mudar de partições.

Por exemplo, você pode reduzir a partição www, excluir a troca e, em seguida, deslocar a partição raiz para a esquerda para aumentá-la.

Ou, se isso parecer complicado e você não precisar estritamente de partições separadas, você poderá mesclar a partição raiz na sua partição www, já que ela já é grande o suficiente para conter root e www. Isso é o que eu faria.

# mount stuff
mkdir /mnt/root /mnt/www
mount /dev/md0p5 /mnt/root
mount /dev/md0p2 /mnt/www

# since /mnt/www will be the new root, move www files to /var/www
mkdir -p /mnt/www/var/www
mv /mnt/www/* /mnt/var/www/

# copy the root files
rsync -avAHSX /mnt/root/. /mnt/www/.

# comment out old root partition in fstab
# change /var/www to / in fstab

# update bootloader and reboot

Essa abordagem também tem a vantagem de que, se algo der errado, a partição raiz original ainda estiver intacta, para que você possa reverter a operação.

Depois que tudo estiver funcionando bem com a partição mesclada raiz + www, você poderá excluir a partição raiz antiga e ampliá-la para o tamanho total do disco.

Ou você pode decidir que quer ficar com partições separadas depois de tudo e mover os arquivos www para a antiga partição raiz, se você acha que vai ser grande o suficiente para o seu www no futuro previsível.

Ou você pode reduzir a partição www para abrir espaço para uma nova.

Possibilidades infinitas ...

    
por 02.04.2015 / 01:57