De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Reparticionando ReiserFS via linha de comando

Colaboração: Diniz Fernando Bortolotto Ferreira

Data de Publicação: 16 de Abril de 2006

Reparticionando ReiserFS via linha de comando

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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Diniz Fernando Bortolotto Ferreira