Expandindo a partição raiz no SUSE Linux

4

Eu tenho um servidor onde a distribuição de espaço entre as partições é a seguinte:

GSSJMB02:~ # df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p5      25G  5.9G   18G  25% /
udev                  3.9G  144K  3.9G   1% /dev
/dev/cciss/c0d0p9      64G  129M   61G   1% /apps
/dev/cciss/c0d0p1     244M   12M  219M   6% /boot
/dev/cciss/c0d0p10     16G  129M   15G   1% /home
/dev/cciss/c0d0p7     5.0G  618M  4.1G  13% /opt
/dev/cciss/c0d0p8     9.9G  228M  9.2G   3% /var
GSSJMB02:/gsn/sw       25G  5.9G   18G  25% /mnt/nfs/gsn/sw
GSSJMB02:/gsn/nodes    25G  5.9G   18G  25% /mnt/nfs/gsn/nodes

Aqui o sistema de arquivos /dev/cciss/c0d0p5 tem menos espaço do que o necessário. E o sistema de arquivos /dev/cciss/c0d0p9 tem muito espaço inutilizável. Posso aumentar o espaço de /dev/cciss/c0d0p5 tirando alguns de /dev/cciss/c0d0p9 ?

    
por Rayan sharif 26.09.2012 / 11:02

1 resposta

4

Não sem backup, repartition, mkfs e restauração de pelo menos c0d0p [56789] (assumindo que as partições são numeradas sequencialmente de acordo com o layout no disco).

Se você fosse para todo o esforço de fazer isso, gastaria um pouco mais de esforço para instalar e configurar o lvm e usar volumes lógicos em vez de partições - isso lhe dará muito mais flexibilidade na próxima vez que você precisar crescer ou encolher um sistema de arquivos (ou se você adicionar um segundo disco).

(também, é difícil ver por que alguém se incomodaria em fazer pequenas partições em um disco pequeno hoje em dia. Costumava ser prática comum, mas os discos costumavam ser pequenos também. Hoje em dia, o incômodo e a inconveniência faz com que mais do que compensam os pequenos benefícios)

Então, a resposta curta é não.

No entanto, você pode criar um diretório em / apps (por exemplo, / apps / stuff) e mover + arquivos de link simbólico de / para / apps / stuff. Por exemplo:

 mkdir /apps/stuff
 mv /usr/share/doc /apps/stuff
 ln -s /apps/stuff/doc/ /usr/share/

contanto que você não mova quaisquer arquivos ou diretórios que sejam necessários no momento da inicialização (incluindo todos / etc, / bin, / sbin), tudo continuará funcionando (embora você tenha que reinicializar ou pelo menos matar e reinicie alguns processos se algum dos arquivos que você moveu forem mantidos abertos por algum processo)

BTW em vez de mv, geralmente é melhor copiar os arquivos, desde que você preserve o proprietário, o grupo e as permissões. por exemplo. use cp -a ou rsync ou mesmo o antigo cavalo de batalha de cd /path/to/src ; tar cf - . | (cd /path/to/dest ; tar xf -) Então, quando os arquivos forem copiados, exclua-os (ou mova-os para fora temporariamente) e crie o link simbólico. quando isso for feito, teste se tudo está funcionando corretamente - se estiver, exclua o original da raiz fs. por exemplo,

mkdir /apps/stuff
rsync -ax /usr/share/doc /apps/stuff
mv /usr/share/doc /usr/share/doc.bak
ln -s /apps/stuff/doc/ /usr/share
# do your testing now
rm -rf /usr/share/doc.bak

Note que é importante deixar o trailing / off no argumento fonte em rsync aqui (ex: use /usr/share/doc ao invés de /usr/share/doc/ ) caso contrário o rsync irá achar que você quer copiar tudo em / usr / share / doc / para / apps / stuff em vez de / apps / stuff / doc

    
por 26.09.2012 / 12:55