domingo, 11 de julho de 2010

Manter a integridade de um sistema de arquivos


Um Sistemas de arquivos usado continuamente pode, com o decorrer do tempo apresentar alguns problemas. Os problemas mais comuns em um sistema de arquivos são descritos abaixo:

  • Saturação do disco, causada pela utilização máxima de sua capacidade, ficando lotado e impedindo inserção de outros arquivos;
  • Uma queda de energia pode causar inconsistência de dados e corromper o sistema de arquivos;
Os comandos para monitorar o espaço de ocupação de partições e discos, bem como manter a integridade de um sistema de arquivos serão exibidos abaixo.

Monitorando espaço livre em disco

df

O comando df exibe informações gerais sobre a utilização de discos e partições. Mostra o espaço livre e ocupado em cada partição do disco.

Sintaxe:
df [opções] [partição/arquivo]
opções:

a - Inclui sistemas de arquivos com 0 blocos;
h, --human-readable - Mostra o espaço livre/ocupado em MB, KB, GB ao invés de blocos;
K - Lista em Kbytes;
l - Somente lista sistema de arquivos locais;
M - Lista em Mbytes (equivalente a –block-size=1048576);
T - Lista o tipo de sistema de arquivos de cada partição;
t tipo - Lista somente sistema de arquivos do tipo tipo;
x tipo - Não lista sistemas de arquivos do tipo tipo;

Exemplos: df, df -h, df -t vfat.

$ df -h /dev/sda6 - exibe os resultados em um formato legivel de utilização da partição /dev/sda6 incluindo percentual de uso, percentual livre, tamanho total, etc;

Monitorando o uso de discos

du

Este comando exibe informações de utilização de discos por diretórios. Se o diretório for omitido, a busca é feita no diretório atual. Este comano exibe o tamanho de um diretório qualquer.

Sintaxe
du [opções][diretório]
Opções

c - Faz uma totalização de todo espaço listado;
s - Não calcula o espaço ocupado por sub-diretórios;
h - Mostra o espaço ocupado em formato legível por humanos (Kb, Mb) ao invés de usar blocos;
k - Mostra o espaço ocupado em Kbytes.
M - Mostra o espaço ocupado em Mbytes.

Exemplos – du -h; du -hc;

$ du -s /etc – exibe a utilização por arquivo em /etc incluindo seus subdiretórios;
$ du -csh /home/* - exibe o resumo de todos os subdiretórios de /home, com uma saída legivel;
$ du – cs /home/* | sort -nr – exibe o mesmo resumo que o comando anterior e o comando sort ordena do maior para o menor;

Verificar e consertar sistemas de arquivos

“A checagem do sistema de arquivos permite verificar se toda a estrutura para armazenamento de arquivos, diretórios, permissões, conectividade e superfície do disco estão funcionando corretamente. Caso algum problema exista, ele poderá ser corrigido com o uso da ferramenta de checagem apropriada. As ferramentas de checagem de sistemas de arquivos costumam ter seu nome iniciado por fsck e terminados com o nome do sistema de arquivos que verifica, separados por um ponto. Para verificar um sistema de arquivos é necessário que ele esteja desmontado caso contrário poderá ocorrer danos em sua estrutura.” (Guia foca Linux).

fsck

Sintaxe
fsck.ext3 [opções] [dispositivo]
opções

c - Faz o fsck.ext3 verificar se existem agrupamentos danificados na unidade de disco durante a checagem, checa os bad blocs.
f - Força a checagem mesmo se o sistema de arquivos aparenta estar em bom estado. Por padrão, um sistema de arquivos que aparentar estar em bom estado não são verificados.
p - Corrige automaticamente o sistema de arquivos sem perguntar. É recomendável fazer isto manualmente para entender o que aconteceu, em caso de problemas com o sistema de arquivos.
v - Ativa o modo verbose (mais mensagens são mostradas durante a execução do programa).
y - Assume sim para todas as questões.

Exemplos:

#fsck.ext2 /dev/hda2,
#fsck.ext3 -f /dev/hda2,
#fsck.ext2 -vrf /dev/hda1;

badblocks

Faz uma procura por blocos defeituosos em um dispositivo. Este comando apenas pesquisa por blocos defeituosos, sem alterar a configuração do disco. Para marcar os blocos defeituosos para não serem mais usados, utilize a opção -l do fsck;

sintaxe:
badblocks [opções] [dispositivo]
opções

o - [arquivo] Gera uma lista dos blocos defeituosos do disco no [arquivo]. Este lista pode ser usada com o programa fsck.ext2 junto com a opção -l.
s - Mostra o número de blocos checados durante a execução do badblocks.
V - Modo verbose - São mostrados mais detalhes.
w - Usa o modo leitura/gravação. Usando esta opção o badblocks procura por blocos defeituosos gravando alguns padrões (0xaa, 0x55, 0xff, 0x00) em cada bloco do dispositivo e comparando seu conteúdo. Nunca use a opção -w em um dispositivo que contém arquivos pois eles serão apagados!

Exemplo:

# badblocks -s /dev/hda6 – a opção -s mostra o número de blocos checados durante a execução do comando;
# badblocks -s -o bad /dev/hda6 – mostra o numero de blocos checados e uma lista de blocos defeituosos;

defrag

Permite desfragmentar uma unidade de disco. A fragmentação é o armazenamento de arquivos em áreas não seqüenciais, ou seja, uma parte do arquivo é armazenada no inicio do disco, outra parte no final, etc. Fatos como este levam a uma perda de desempenho do disco e do tempo de resposta.
Sistema GNU/Linux possuem um sistema de armazenamento bastante eficiente; mas mesmo assim é conveniente desfragmentar o disco cada vez que a taxa de fragmentação atinga 10%. O sistema de arquivos deve estar desmontado para fazer a desfragmentação. É importante fazer cópias de segurança de sua unidade antes de fazer a desfragmentação. Se por qualquer motivo o programa de desfragmentação não poder ser concluído, dados poderão ser perdidos. A ferramenta para fazer a desfragmentação em um sistema de arquivos ext2 é a e2defrag.

Sintaxe
e2defrag [opções] [dispositivo
dispositivo - Partição, arquivo, disquete que contém o sistema de arquivos que será desfragmentado.
opções

r - Modo somente leitura. O defrag simulará sua execução no sistema de arquivos mas não fará nenhuma gravação. Esta opção permite que o defrag seja usado com sistema de arquivos montado.
S - Cria um sumário da fragmentação do sistema de arquivos e performance do desfragmentador.
V - Mostra detalhes durante a desfragmentação do sistema de arquivos. Caso mais de uma opção -v seja usada, o nível de detalhes será maior.
i - [arquivo] Permite definir uma lista de prioridades em que um arquivo será gravado no disco, com isto é possível determinar se um arquivo será gravado no começo ou final da unidade de disco. Esta lista é lida do [arquivo] e deve conter uma lista de prioridades de -100 a 100 para cada inodo do sistema de arquivos. Arquivos com prioridade alta serão gravados no começo do disco.
p - [numero] Define o [numero] de buffers que serão usados pela ferramenta de desfragmentação na realocação de dados, quanto mais buffers mais eficiente será o processo de realocação. O número depende de quantidade memória RAM e Swap você possui. Por padrão 512 buffers são usados correspondendo a 512Kb de buffer (em um sistema de arquivos de blocos com 1Kb).

Exemplo:

# e2defrag -n -v /dev/hdb4;
# e2defrag -r /dev/hda1;


Referências:


SIQUEIRA, Luciano Antonio.
Certificação LPI-1: 101-102. São Paulo: Linux New Media, 2009.

PRITCHARD, Steven et al.
Certificação Linux LPI: Guia de referência nível 1: Exames 101 e 102. Rio de Janeiro: Alta Books, 2007.

FERREIRA, Rubem E.
LINUX: Guia do Administrador de Sistemas. São Paulo: Novatec, 2008.

Guia Foca Linux, 2010. Disponível em : http://focalinux.cipsga.org.br/ . Acesso em 26 de junho de 2010.

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial