Como posso adicionar espaço a uma partição que não é a última?

0

Eu tenho um servidor Ubuntu virtualizado (versão Linux server 3.2.0-58-generic # 88-Ubuntu SMP x86_64 GNU / Linux) em um VMWare, assim:

SCSI de disco rígido1 (0: 0) -> 11 Gb / dev / sda1
SCSI de disco rígido2 (0: 1) -> 30 Gb / dev / sdb1

Esta máquina tem esta ocupação:

fdiks-l

Disk /dev/sda: 11.8 GB, 11811160064 bytes
255 heads, 63 sectors/track, 1435 cylinders, total 23068672 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001ce75

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    15958015     7977984   83  Linux
/dev/sda2        15960062    16775167      407553    5  Extended
/dev/sda5        15960064    16775167      407552   82  Linux swap / Solaris

Disk /dev/sdb: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2666a626

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63    41961779    20980858+  83  Linux
/dev/sdb2        41961780    62910539    10474380   83  Linux

Então, meu objetivo é:

  1. Criar spce no VMware para HD2 (SCSI (0: 1))
  2. Dê esse espaço para / var (/ dev / sdb1)

Meu espaço livre é: df -k

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       8,1G  6,7G  944M  88% /
udev            3,2G  4,1k  3,2G   1% /dev
tmpfs           1,3G  500k  1,3G   1% /run
none            5,3M     0  5,3M   0% /run/lock
none            3,2G     0  3,2G   0% /run/shm
/dev/sdb1        22G   19G  1,3G  94% /var
/dev/sdb2        11G  7,4G  2,8G  73% /home

Estou lendo coisas como esta , mas eu acho que eu não posso redimensionar / dev / sdb1 (/ var) se eu tivesse / dev / sdb2 (/ home) na porta ao lado, o último bloco de sdb1 é o próximo na sdb2 .. Quais são minhas opções? Eu pensando em:

  1. Mesclar sdb1 e sdb2
  2. Adicione espaço a essa nova partição
  3. Divida novamente / var e / home, mas deixe o espaço máximo em / var

Mas eu não sei ... Tudo isso, sem perda de dados ... alguma idéia?

Aitor
fonte
Adicione um novo disco virtual e passe /varpara ele.
Daniel B

Respostas:

2

Você deve fazer o backup antes de qualquer solução, pois qualquer solução traz riscos.

Você tem muitas opções, dependendo de quão dispendioso o tempo de inatividade é / espaço em disco / fazendo certo / à prova de futuro.

  1. A opção mais simples pode ser criar uma nova partição no final de / sdb e montá-la onde você precisar de espaço adicional. O uso de links simbólicos pode ajudá-lo a mover vários diretórios por trás dele. Muito pouco, se houver, tempo de inatividade e sem movimentação de dados. Mover / home para um novo / dev / sdb3 não é tão difícil - apenas (sem ninguém além de você poder acessar / home enquanto se move) monte / dev / sdb3 em um novo local, mova / home para a nova partição, desmonte edite / etc / fstab para montar o novo disco em / home. -Problema é um desperdício, porque não compartilha espaço entre / home e o resto do sistema.

  2. Você pode mesclar e desmembrar dados conforme sugerido, mas também pode usar o gparted para mover a partição. Espero que demore um pouco.

  3. Você pode reconstruir a VM "melhor" usando o LVM - o que permitirá muito mais flexibilidade para adicionar discos e redimensionar dispositivos de bloco no futuro. Infelizmente, a conversão para LVM não é trivial e provavelmente significa reconstruir a VM.

davidgo
fonte
Vou tentar a opção 1, parece a solução mais simples, como você disse .. Muito obrigado!
Aitor 14/03
1

A resposta de Davidgo é boa. Mais uma opção: use Btrfs .

  1. Em teoria, você pode converter de ext3 / ext4 desmontado para Btrfs no local:

    fsck.ext4 -f /dev/sdb1
    btrfs-convert /dev/sdb1
    

    Na prática, você deve fazer backup dos seus dados com antecedência.

  2. Ajuste seu fstabpara que ele funcione bem com Btrfs e /varmontagens.

  3. Crie uma nova partição ou talvez um dispositivo separado, o que mais lhe convier.
  4. Adicione a nova partição / dispositivo ao seu sistema de arquivos Btrfs (montado):

    btrfs device add /dev/sdb3 /var   # (partition)
    # or
    btrfs device add /dev/sdc /var    # (entire device)
    
Kamil Maciorowski
fonte