Redimensionando partições em uma matriz RAID 0 por linha de comando

5

Simplificando, quando configuro o servidor, ele não foi usado para o que é agora, e o root (/) ficou sem espaço em disco, enquanto o / home tem toneladas das coisas flutuando.

Filesystem           1K-blocks      Used Available Use% Mounted on
rootfs                10157944   9600344     45656 100% /
/dev/root             10157944   9600344     45656 100% /
/dev                   8183468         8   8183460   1% /dev
none                   1636756       252   1636504   1% /run
none                      5120         0      5120   0% /run/lock
none                   8183772         0   8183772   0% /run/shm
/dev/md3             211225328  17996836 182583336   9% /home

LIÇÃO APRENDIDA! (dê mais espaço na próxima vez ...)

Aqui está a saída do parted mostrando os discos e seus tamanhos atuais e a matriz RAID.

Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      2097kB  10.5GB  10.5GB  primary  ext4            boot, raid
 2      10.5GB  11.0GB  535MB   primary  linux-swap(v1)
 3      11.0GB  120GB   109GB   primary                  raid


Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sdb: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      2097kB  10.5GB  10.5GB  primary  ext4            raid
 2      10.5GB  11.0GB  535MB   primary  linux-swap(v1)
 3      11.0GB  120GB   109GB   primary                  raid


Model: Linux Software RAID Array (md)
Disk /dev/md3: 218GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End    Size   File system  Flags
 1      0.00B  218GB  218GB  ext4


Model: Linux Software RAID Array (md)
Disk /dev/md1: 10.5GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  10.5GB  10.5GB  ext4

O que eu preciso fazer é reduzir a partição / home em 40GB e aumentar a partição / em 40GB. Parted me disse quando eu usei o comando resize que:

"WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs.  We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release."

e olhando para cima e2fsprogs me dizem que são ferramentas ext2, o que assusta o inferno fora de mim, considerando os discos são EXT4.

Existe uma maneira segura de redimensionar as partições? Eu estou trabalhando neste 600miles longe do servidor por SSH sem acesso direto.

Obrigado antecipadamente

    
por Laice 07.11.2011 / 10:27

1 resposta

5

Ext2, ext3 e ext4 são evoluções do mesmo sistema de arquivos; na verdade, um sistema de arquivos ext4 com nenhum dos recursos mais recentes ativados é um sistema de arquivos ext3, e um sistema de arquivos ext3 com nenhum dos recursos mais recentes ativados é um sistema de arquivos ext2. É por isso que não há nenhum conjunto separado de programas para ext3 e ext4: é o mesmo conjunto de ferramentas, e2fsprogs, que foi gradualmente aprimorado para lidar com ext3 e ext4.

Uma limitação de resize2fs (“sistema de arquivos ext2 / ext3 / ext4 resizer ”) é que ele pode encolher um sistema de arquivos somente enquanto estiver desmontado. Então, se você quiser encolher /home , será necessário desmontá-lo primeiro. Você pode ampliar um sistema de arquivos montado, isso não será um problema para / .

Seu maior problema será redimensionar o array RAID-0. A única ferramenta para gerenciar matrizes RAID é mdadm . Tanto quanto eu sei, não é possível redimensionar um array RAID-0.

Tanto quanto eu posso ver, você está preso a essa configuração, a menos que esteja disposto a copiar todos os dados de /home e / pela duração da manutenção. (Você pode copiar apenas os dados de /home e criar uma partição raiz maior invadindo seu espaço.) Você poderia usar esse espaço não particionado no início do disco para armazenar o conteúdo atual de /home . Isso não é muito difícil, mas é propenso a erros. Isso não é algo que eu tentaria sem acesso físico (é especialmente fácil estragar o gerenciador de inicialização quando você está embaralhando a partição raiz). Sua falta de familiaridade com as ferramentas torna ainda mais provável que você cometa um pequeno erro que seja facilmente corrigido, mas apenas inserindo um CD de inicialização.

Minha recomendação seria mover um grande bloco de / para /home e criar um link simbólico até que alguém possa comparecer a esse servidor fisicamente.

Para o futuro, eu recomendo não usar o RAID-0 do md-RAID e usar a remoção do LVM. Volumes LVM podem ser redimensionados, até mesmo volumes despojados. O LVM é um pouco mais lento aqui, mas mais fácil de gerenciar (como o problema que você está tendo agora ilustra) . Use RAID para espelhamento (RAID-1) e para outros modos RAID.

Além disso, se você decidir se ater ao RAID-0 para esse aumento de desempenho de 5%, seria mais fácil se você tivesse um único array RAID-0.

    
por Gilles 07.11.2011 / 23:39