Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais


 

Aprenda inglês em casa

Baixe gratuitamente as duas primeiras aulas

English for Reading and Listening

Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.

Saiba mais e faça sua inscrição

Você está aqui: Home  → Arquivo Dicas-L

 

Mão na Massa Nagios

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Publicar em del.icio.us

Reparticionando ReiserFS via linha de comando - Parte II

Colaboração: Diniz Fernando Bortolotto Ferreira

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

Reparticionando ReiserFS via linha de comando

Parte II - Dividindo 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ê possui uma partição ReiserFS e quer dividi-la em duas. Para complicar, suponha que a partição já possui dados como: sua coleção de mp3, sua monografia de fim de curso, etc.

O quer fazer então?

Use o resize_reiserfs - The resizer tool for the ReiserFS filesystem!

O processo de divisão de partições ReiserFS é, basicamente, o inverso da união de partições (Parte I). Há, no entanto, algumas diferenças que iremos detalhar abaixo.

Antes de mais nada, desmonte a partição que você irá dividir.

  root@darkstar:~# umount -v /mnt/hdb3
  /dev/hdb3 desmontado

Primeiro Passo - Redimensionando a partição existente

Iremos executar novamente o resize_reiserfs, no entanto, como queremos diminuir o tamanho da partição, devemos utilizar a opção -s com o parâmetro -tamanho.

No exemplo abaixo, estamos informando ao resize_reiserfs, que queremos reduzir nossa partição /dev/hdb3 em 1 Gigabyte. Você também pode utilizar M para alteração em Megabytes.

  root@darkstar:~# resize_reiserfs -s -1G /dev/hdb3
  resize_reiserfs 3.6.19 (2003 www.namesys.com)
  
  You are running BETA version of reiserfs shrinker.
  This version is only for testing or VERY CAREFUL use.
  Backup of you data is recommended.
  
  Do you want to continue? [y/N]:y
  0%....20%....40%....60%....80%....100%  Processing the tree:       left 0, 0 /sec
  
  nodes processed (moved):
  int        0 (0),
  leaves     1 (0),
  unfm       129 (0),
  total      130 (0).
  
  check for used blocks in truncated region
  
  ReiserFS report:
  blocksize             4096
  block count           886496 (1148640)
  free blocks           878128 (1140264)
  bitmap block count    28 (36)
  
  Syncing..done
  
  
  resize_reiserfs: Resizing finished successfully.

Reparticionando o HD com o fdisk

Agora iremos reparticionar o HD com o fdisk mas, antes de alterar a tabela de partições, devemos verificar as informações da partição existente.

Digite, conforme abaixo, fdisk -l /dev/hdb.

  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       14596     4594590   83  Linux

Dica 4: Agora, precisamos saber qual o último cilindro da nova partição.

Para isso, podemos executar o seguinte cálculo:

  echo "UltCil-(TamNovaPart/Units)" | bc, onde:
  UltCil = Número do último cilindro da partição a ser redimensionada;
  TamNovaPart = Tamanho da Nova Partição que será criada;
  Units = Valor de Units informado no cabeçalho do comando fdisk -l; e
  bc = Calculadora para linha de comando do Linux.

Assim, temos em nosso exemplo o seguinte:

  root@darkstar:~# echo "14596-((1*2^30)/(16065*512))" | bc
  14466
  
  Obs.: Utilizamos (1*2^30) para representar 1 Gigabyte.
  Bem mais fácil que digitar o número 1073741824, não é? :-)

O valor obtido (14466) corresponde ao novo valor para o último cilindro da partição redimensionada. Anote esse número pois ele será necessário quando estivermos alterando, abaixo, a tabela de partições com o fdisk.

  root@darkstar:~# fdisk /dev/hdb
  
  Comando (m para ajuda): p
  
  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): d
  Número da partição (1-4): 3

Com o comando acima excluimos a partição que iremos alterar (/dev/hdb3).

Agora iremos criar as novas partições...

  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): 14466

Nesse ponto, conforme acima, utilizamos o número do último cilindro 14466 calculado através da fórmula da Dica 4.

Agora podemos criar a última partição utilizando o espaço em disco restante. Para isso basta aceitarmos os valores default informados pelo fdisk.

  Comando (m para ajuda): n
  Comando - ação
  e   estendida
  p   partição primária (1-4)
  p
  Selected partition 4
  Primeiro cilindro (14467-14596, default 14467):
  Using default value 14467
  Último cilindro ou +tamanho ou +tamanho M ou  +tamanho K (14467-14596, default 14596):
  Using default value 14596

Como sempre, você pode utilizar o comando p para visualizar a nova tabela de partições antes de efetuar a gravação com o comando w.

  Comando (m para ajuda): w
  A tabela de partições foi alterada!
  
  Chamando ioctl() para reler tabela de partições.
  Sincronizando discos.

Agora podemos montar a partição /dev/hdb3 e verificar se está tudo OK.

  root@darkstar:~# mount -t reiserfs -v /dev/hdb3 /mnt/hdb3
  /dev/hdb3 on /mnt/hdb3 type reiserfs (rw)
  
  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    3,4G   33M  3,4G   1% /mnt/hdb3
  
  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/

Criando o novo filesystem ReiserFs

Agora iremos tratar da nova partição criada.

Inicialmente ela ainda não está com o ReiserFS criado. Para isso utilizamos o comando mkreiserfs conforme abaixo.

  root@darkstar:~# mkreiserfs /dev/hdb4
  mkreiserfs 3.6.19 (2003 www.namesys.com)
  
  ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
  ALL DATA WILL BE LOST ON '/dev/hdb4'!
  Continue (y/n):y
  ...
  
  ReiserFS is successfully created on /dev/hdb4.

Pronto! Sua nova partição está criada e em condições de uso. Basta montá-la com o mount.

  root@darkstar:~# mount -t reiserfs -v /dev/hdb4 /mnt/hdb4
  /dev/hdb4 on /mnt/hdb4 type reiserfs (rw)
  
  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    3,4G   33M  3,4G   1% /mnt/hdb3
  /dev/hdb4 reiserfs   1020M   33M  988M   4% /mnt/hdb4

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

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (520 votos)

Recomende este site
Recomendar este artigo


Versão para impressão


Opinião dos Leitores

*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais

Biblioteca

Redes - Guia Prático
Por Carlos. E. Morimoto

Hardware - o Guia Definitivo
Por Carlos. E. Morimoto

Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto

Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto

VPN: Virtual Private Network
Por Lino Sarlo da Silva

MySQL - Guia do Programador
Por André Milani

Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Extreme Programming
Por Vinicius Manhaes Teles

Google Hacking
Por JOHNNY LONG

Elite da Tropa
Por Luis Eduardo Soares, Andre Batista e Rodrigo Pimentel

Harry Potter e as Relíquias da Morte
Por J.K. Rowling

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

PHP para Quem Conhece PHP
Por Juliano Niederauer

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson

Redes de Computadores
Por Andrew S. Tanembaum

Marley e Eu: a Vida e o Amor ao Lado do Pior Cão do Mundo
Por John Grogan

Deus, um delírio
Por Richard Dawkins

Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

1808
Por Laurentino Gomes

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson