Parte I - Juntando partições ReiserFS
Três razões para usar o ReiserFS:
- ReiserFS possui journaling.
- ReiserFS é mais eficiente na utilização de espaço.
- ReiserFS é baseado em b-trees balanceadas e mais rápidas.
Agora, suponha que você já usa o ReiserFS em duas partições hdb3
e
hdb4
, e quer transformá-las em apenas uma. Para complicar, suponha que
as partições já possuem dados como: sua coleção de mp3, sua monografia de
fim de curso, etc.
O que fazer então?
Use o resize_reiserfs
- The resizer tool for the ReiserFS filesystem!
Primeiro Passo - Analisando suas partições
Verifique se as partições ReiserFS que você quer juntar estão montadas.
Em nosso exemplo, as partições que iremos juntar são hdb3
e hdb4
.
Iremos inicialmente verificar a estrutura das partições e seu conteúdo.
Obs: Como a maioria dos comandos que iremos executar necessitam de privilégios de root, iremos entrar diretamente como root no sistema. Portanto, tenha cuidado ao executá-los!
root@darkstar:~# df -Th
Sist. Arq. Tipo Tam Usad Disp Uso% Montado em
/dev/hdc1 reiserfs 6,1G 3,3G 2,9G 54% /
/dev/hdb3 reiserfs 1,8G 33M 1,7G 2% /mnt/hdb3
/dev/hdb4 reiserfs 2,7G 33M 2,7G 2% /mnt/hdb4
/dev/hdc3 reiserfs 6,1G 3,6G 2,6G 58% /home
root@darkstar:~# fdisk -l /dev/hdb
Disk /dev/hdb: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Dispositivo Boot Start End Blocks Id System
/dev/hdb1 * 1 7298 58621185 83 Linux
/dev/hdb2 7299 14024 54026595 83 Linux
/dev/hdb3 14025 14250 1815345 83 Linux
/dev/hdb4 14251 14596 2779245 83 Linux
Preste atenção aos indicadores de primeiro cilindro (Start
) e último
cilindro (End
) das partições!
Em nosso caso, elas estão ordenadas, mas poderiam não estar! Como em qualquer
particionador, gráfico ou não, só podemos juntar partições que são
"fisicamente" contígüas.
Dica 1: Ao unir partições, mova (ou copie) o conteúdo da partição que possui o indicador de primeiro cilindro (Start
) maior para a partição que possui o indicador de primeiro cilindro menor.
Em nosso exemplo, iremos mover o conteúdo de hdb4
(Start = 14251) para
a partição hdb3
(Start = 14025).
Movendo o conteúdo da partição ``hdb4`` para ``hdb3``
Vejamos agora, o conteúdo das partições que queremos unir.
root@darkstar:~# ls -l /mnt/hdb3
total 1
drwxr-xr-x 2 root root 80 2006-03-26 18:29 diretorio3/
root@darkstar:~# ls -l /mnt/hdb4
total 1
drwxr-xr-x 2 root root 80 2006-03-26 18:29 diretorio4/
Pudemos verificar que a partição hdb3
possui apenas um diretório chamado
diretorio3
e a partição hdb4
possui apenas um diretório chamado
diretorio4
.
Bem, já sabemos o que tem em cada partição. Agora vamos mover o conteúdo da
partição hdb4
para a partição hdb3
.
Usando o comando mv, movemos o conteúdo de hdb4
para hdb3
.
root@darkstar:~# mv -v /mnt/hdb4/* /mnt/hdb3
`/mnt/hdb4/diretorio4' -> `/mnt/hdb3/diretorio4'
`/mnt/hdb4/diretorio4/slackzine04.pdf' -> `/mnt/hdb3/diretorio4/slackzine04.pdf'
removed `/mnt/hdb4/diretorio4/slackzine04.pdf'
removed directory: `/mnt/hdb4/diretorio4'
Com um simples ls
verificamos que não restam mais diretórios ou arquivos na
partição hdb4
.
root@darkstar:~# ls -l /mnt/hdb4
total 0
Agora podemos desmontar as partições.
Obs.: ao "manipular" partições, elas devem estar previamente desmontadas.
root@darkstar:~# umount -v /mnt/hdb3
/dev/hdb3 desmontado
root@darkstar:~# umount -v /mnt/hdb4
/dev/hdb4 desmontado
Confirmando ...
root@darkstar:~# df -Th
Sist. Arq. Tipo Tam Usad Disp Uso% Montado em
/dev/hdc1 reiserfs 6,1G 3,3G 2,9G 54% /
/dev/hdc3 reiserfs 6,1G 3,6G 2,6G 58% /home
Reparticionando o HD com o fdisk
Agora chegamos num ponto que merece a maior atenção da sua parte:
o reparticionamento.
Digite, conforme abaixo, fdisk /dev/hdb
.
Obs.: As informações apresentadas poderão variar dependendo da estrutura
de seu HD.
root@darkstar:~# fdisk /dev/hdb
Comando (m para ajuda): p
Disk /dev/hdb: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Dispositivo Boot Start End Blocks Id System
/dev/hdb1 * 1 7298 58621185 83 Linux
/dev/hdb2 7299 14024 54026595 83 Linux
/dev/hdb3 14025 14250 1815345 83 Linux
/dev/hdb4 14251 14596 2779245 83 Linux
O Comando p
nos mostra a tabela de partições da mesma forma que
o comando fdisk -l /dev/hdb
executado anteriormente.
Agora, iremos excluir as partições que desejamos mesclar.
Dica 2: Não se preocupe com os dados que estão nas partições, pois quando
excluimos uma partição no fdisk
, na realidade estamos apenas alterando
a tabela de partições e não os dados contidos nela.
Comando (m para ajuda): d
Número da partição (1-4): 4
Comando (m para ajuda): d
Número da partição (1-4): 3
Agora, iremos criar uma nova partição correspondente a união das duas partições
excluídas. Para isso, utilizamos o Comando n
.
Comando (m para ajuda): n
Comando - ação
e estendida
p partição primária (1-4)
p
Número da partição (1-4): 3
Primeiro cilindro (14025-14596, default 14025):
Using default value 14025
Último cilindro ou +tamanho ou +tamanho M ou +tamanho K (14025-14596, default 14596):
Using default value 14596
Veja que, por default o fdisk
já nos informa o primeiro e o último
cilindros disponíveis para a criação da partição.
Agora, executamos novamente o Comando p
para certificar-nos de que
a tabela de partições está conforme esperamos e estando tudo OK, executamos
o Comando w
.
Após você pressionar <enter> o fdisk irá gravar a nova tabela de partições
e terminará automaticamente.
Dica 3: Havendo qualquer problema, ou caso você desista de efetuar a união das partições não execute o Comando w
e execute o Comando q
. O Comando q
faz com que o fdisk termine sem gravar as alterações executadas.
Comando (m para ajuda): p
Disk /dev/hdb: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Dispositivo Boot Start End Blocks Id System
/dev/hdb1 * 1 7298 58621185 83 Linux
/dev/hdb2 7299 14024 54026595 83 Linux
/dev/hdb3 14025 14596 4594590 83 Linux
Comando (m para ajuda): w
A tabela de partições foi alterada!
Chamando ioctl() para reler tabela de partições.
Sincronizando discos.
Redimensionando a partição com resize_reiserfs
Agora iremos utilizar o resize_reiserfs
para redimensionar a partição
hdb3
. Como iremos ocupar toda a partição, não é necessário informar nenhuma
opção adicional. Basta digitar, conforme abaixo, resize_reiserfs /dev/hdb3
.
root@darkstar:~# resize_reiserfs /dev/hdb3
resize_reiserfs: Resizing finished successfully.
ReiserFS report:
blocksize 4096
block count 1148640 (453824)
free blocks 1140264 (445470)
bitmap block count 36 (14)
Syncing..
resize_reiserfs 3.6.19 (2003 www.namesys.com)
done
Agora, basta montar novamente a partição e verificar se está tudo OK.
root@darkstar:~# mount -v -t reiserfs /dev/hdb3 /mnt/hdb3
/dev/hdb3 on /mnt/hdb3 type reiserfs (rw)
root@darkstar:~# ls -l /mnt/hdb3
total 1
drwxr-xr-x 2 root root 80 2006-03-26 18:29 diretorio3/
drwxr-xr-x 2 root root 80 2006-03-26 18:29 diretorio4/
root@darkstar:~# df -Th
Sist. Arq. Tipo Tam Usad Disp Uso% Montado em
/dev/hdc1 reiserfs 6,1G 3,3G 2,9G 54% /
/dev/hdc3 reiserfs 6,1G 3,6G 2,6G 58% /home
/dev/hdb3 reiserfs 4,4G 33M 4,4G 1% /mnt/hdb3