Como eu aumento meu volume de raiz

1

Eu tenho um servidor usando o software RAID (raid1) e preciso aumentar meu volume na minha partição raiz. Eu tenho pesquisado sem sorte de descobrir como posso fazer isso. Eu tenho 2x1TB RAID1.

Meu df -h:

Filesystem      Size  Used Avail Use% Mounted on
rootfs           20G   20G     0 100% /
/dev/root        20G   20G     0 100% /,
devtmpfs        3.9G  4.0K  3.9G   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            788M  256K  788M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            100M     0  100M   0% /run/user
overflow        1.0M  4.0K 1020K   1% /tmp
/dev/md3        898G   72M  852G   1% /home

Meu fdisk -l:

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000e1568

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        4096    40962047    20478976   fd  Linux RAID autodetect
/dev/sdb2        40962048    42008575      523264   82  Linux swap / Solaris
/dev/sdb3        42008576  1953517567   955754496   fd  Linux RAID autodetect

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000a0d60

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        4096    40962047    20478976   fd  Linux RAID autodetect
/dev/sda2        40962048    42008575      523264   82  Linux swap / Solaris
/dev/sda3        42008576  1953517567   955754496   fd  Linux RAID autodetect

Disk /dev/md3: 978.7 GB, 978692538368 bytes
2 heads, 4 sectors/track, 238938608 cylinders, total 1911508864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md3 doesn't contain a valid partition table

Disk /dev/md1: 21.0 GB, 20970405888 bytes
2 heads, 4 sectors/track, 5119728 cylinders, total 40957824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table
    
por Brian van der Stel 15.07.2013 / 22:21

1 resposta

1

Isso é bastante complicado de se fazer em um sistema ao vivo. A organização que você escolheu é muito inflexível para redimensionar.

Minha recomendação é mover um grande pedaço da partição raiz para /home e criar um link simbólico.

Se você realmente deseja redimensionar, aqui está uma maneira de fazer isso. Eu recomendo praticar primeiro em uma máquina virtual, porque você arrisca tornar seu sistema não inicializável (se tiver sorte) ou perder seus dados (se tiver pouca sorte). Certifique-se de que seus backups estejam atualizados.

  1. Pare todos os serviços que não sejam o sshd. Vamos dessincronizar o RAID e qualquer modificação nos arquivos em / ou /home executada após esse ponto será perdida.

  2. Falha manual nos componentes RAID no /dev/sdb e removê-los do array. Também desative o swap de /dev/sdb2 .

    mdadm /dev/md1 -f /dev/sdb1
    mdadm /dev/md1 -r /dev/sdb1
    mdadm /dev/md3 -f /dev/sdb3
    mdadm /dev/md3 -r /dev/sdb3
    swapoff /dev/sdb2
    
  3. Repartição /dev/sdb . Eu recomendo que você use um esquema de particionamento mais flexível, com o LVM. Dessa forma, qualquer redimensionamento que você queira fazer depois será muito mais fácil. Faça um único volume RAID 1 abrangendo todo o disco, exceto pelo espaço de troca. Assumirei que o novo volume para RAID é /dev/sdb1 e /dev/sdb2 é novamente espaço de troca. Não importa em que ordem os volumes são.

  4. Faça /dev/sdb1 parte de um volume RAID 1 com um único componente por enquanto.

    mdadm --create /dev/md4 -l 1 -n 2 missing /dev/sdb2
    
  5. Transforme o novo volume RAID em um volume físico LVM e crie um grupo de volumes que o contenha.

    pvcreate /dev/md4
    vgcreate main /dev/md4
    
  6. Crie um volume lógico raiz com o tamanho desejado e um LV inicial abrangendo o restante do espaço disponível.

    lvcreate --size 40g -n root main
    lvcreate --size 100%FREE -n home main
    
  7. Crie sistemas de arquivos em /dev/mapper/main_root e /dev/mapper/main_home . Também execute mkswap /dev/sdb2 .

  8. Monte os novos sistemas de arquivos e copie seus dados para lá.

    mkdir /media/new_root /media/new_home
    mount /dev/mapper/main_root /media/new_root
    mount /dev/mapper/main_home /media/new_home
    cp -ax / /media/new_root
    cp -ax / /media/new_home
    
  9. Execute chroot /media/new_root e atualize a configuração de armazenamento para a nova organização. Você precisará atualizar /etc/fstab para montar /dev/mapper/main_root on /home . Também comente a entrada de swap para /dev/sda2 . Você também precisará tornar o novo sistema inicializável, o que depende do seu bootloader. Note que o LILO e o Grub2 podem inicializar a partir do LVM, mas o Grub 0.9x não pode.

  10. Reinicialize o novo sistema. Só faça isso depois de realizar todas essas etapas em uma VM e confirmar que ela funciona!

  11. Repartição /dev/sda de forma idêntica a /dev/sdb .

  12. Execute mkswap /dev/sda2 , em seguida, swapon /dev/sda2 . Agora você pode descomentar a entrada para /dev/sda2 em /etc/fstab .

  13. Adicione /dev/sda1 ao novo array RAID1 e deixe sincronizar em segundo plano.

    mdadm --add /dev/md4 /dev/sda1
    
por 16.07.2013 / 02:20