Verificando o disco em busca de erros do Linux Mint. Verificando um disco em busca de setores defeituosos no Linux. Como verificar se há erros em um sistema de arquivos de disco Linux

por administrador

Vejamos maneiras de verificar e diagnosticar o disco rígido em sistemas Linux. As informações sobre a operação do HDD ajudarão você a analisar a condição e, se necessário, substituir a mídia com falha, evitando assim travamento do sistema ou perda de dados. Além disso, adicionamos monitoramento de HDD inteligente ao nosso sistema de monitoramento zabbix

Obtemos uma lista de unidades conectadas no sistema

Para determinar o que está montado onde, vamos fazer

Veja o espaço ocupado em uma unidade específica

Se houver um passeio suave, vamos verificar com o seguinte comando

root@big:~# cat /proc/mdstat
Personalidades:
md1: raid1 ativo sdb3 sda3
965888832 blocos super 1.2

md0: raid1 ativo sdb1 sda1
9756544 blocos super 1.2
dispositivos não utilizados:
raiz@grande:~#

qual ataque está instalado (montado)
md0- nome do dispositivo raid
sda sdb- dispositivos incluídos neste ataque
- estado dos discos na matriz RAID

Instale os pacotes necessários

aptitude instalar hdpparm sysstat smartmontools

Observamos o status da velocidade de leitura da unidade

Com ajuda iostat(como parte do sysstat) analisamos a carga em nossos HDDs

Observamos a saída de dados de todos os discos em intervalos de 10 segundos

Você pode definir a unidade a ser analisada adicionando

Usando este utilitário, determinaremos a carga em nossos dispositivos, estatísticas de E/S e porcentagem de utilização.

média-cpu: %do utilizador %legal %sistema %iowait %roubar %parado
0,16 0,00 1,89 23,75 0,00 74,21

Verificando o status das unidades

Primeiro, vamos verificar se há blocos defeituosos em nosso HDD, se necessário, selecione-os e marque-os para serem ignorados.

badblocks /dev/sda3 -sv > /root/badblockSDA3
Verificação de blocos defeituosos (teste somente leitura): 27,93% concluído, 36:12 decorridos. (0/0/0 erros)

/dev/sda3- nome do dispositivo que está sendo testado
é- exibindo informações percentuais
v- ativar o modo detalhado
> /root/badblockSDA3- gravar setores defeituosos em um arquivo

Marcação de blocos defeituosos (no futuro, os blocos marcados serão ignorados pelo sistema):

e2fsck -l /root/badblockSDA3 /dev/sda3

Os blocos defeituosos são marcados e você pode trabalhar com o disco.

ATENÇÃO!!! Esta operação deve ser realizada em uma mídia desmontada ou em modo somente leitura

ATENÇÃO!!! O dispositivo testado e o dispositivo no qual os blocos defeituosos serão marcados devem ser iguais!

Recebemos dados S.M.A.R.T sobre a operação do HDD

Onde /dev/sdX é o nome do dispositivo que precisa ser verificado.
Você obterá a saída dos atributos SMART, o significado de cada um deles está bem descrito no wiki

Monitorando o status S.M.A.R.T dos discos rígidos no Zabbix

Para cada unidade, verificamos o suporte SMART

root@big:~# smartctl -i /dev/sda |grep SMART
O suporte SMART é: Disponível - o dispositivo possui capacidade SMART.
O suporte SMART está: Ativado
raiz@grande:~#

Se for compatível, mas não habilitado, habilite-o

smartctl -s em -S em -o em /dev/sda

verifique o status com o comando

smartctl -H /dev/sda |grep "teste"| cortar -f2 -d: |tr -d " "

root@big:/etc/zabbix# smartctl -H /dev/sda |grep "test"| cortar -f2 -d: |tr -d " "
PASSADO
root@big:/etc/zabbix#

No arquivo de configuração do agente zabbix, habilite a opção de verificação inteligente para o disco

UserParameter=HDD_smart.[*],sudo smartctl -H /dev/$1 |grep "teste"| cortar -f2 -d: |tr -d " "

Onde HDD_inteligente- chave para o elemento zabbix

V sudoers adicionar uma entrada

zabbix ALL=NOPASSWD:/usr/sbin/smartctl

reinicie o sudo e o agente zabbix.

Para ter certeza da correção, vamos fazer login como usuário zabbix e verificar a execução do nosso comando

root@big:/etc/zabbix# su - zabbix -s /bin/bash
Diretório ausente ou inacessível, faça login com HOME=/
zabbix@big:/$ sudo smartctl -H /dev/sda |grep "teste"| cortar -f2 -d: |tr -d " "
PASSADO
zabbix@big:/$

Vamos criar um agente zabbix no servidor zabbix ( Ativo) elemento de dados

Nome- arbitrário
Tipo- Agente Zabbix (ativo)
Chave- HDD_inteligente. - para o primeiro disco, para o segundo, respectivamente...
Tipo- Símbolo

E depois de algum tempo observamos os dados

Eu também tive que enfrentar esse problema. Meu único amigo que instalou Ubuntu como um velho Portátil ASUS, e que às vezes simplesmente não quer usar o cérebro, veio até mim com esse problema. O novo Ubuntu 12.10 está instalado em seu laptop e muitas vezes o sistema simplesmente não quer inicializar, jogando-o em uma tela preta ou congelando em um fundo roxo. Mas recentemente esta mensagem começou a aparecer, algo como “O sistema operacional não conseguiu inicializar. Selecione a tecla desejada para ações futuras...” E depois há uma descrição do que precisa ser pressionado. Não me lembro exatamente quais teclas o sistema sugere pressionar, mas o significado é que para corrigir erros automaticamente, pressione tal ou tal tecla, para depuração manual outra, e para ignorar esta mensagem você é solicitado a pressionar um terceiro botão. A correção automática de erros não levou a nada e o carregamento do sistema operacional nunca chegou à sua conclusão lógica. Então decidi experimentar o famoso time fsck.

Primeiro você precisa inicializar a partir de uma unidade flash USB inicializável com Ubuntu (Lubuntu, Xubuntu, Kubuntu, etc.) ou de Disco Ubuntu CD ao vivo. Agora precisamos descobrir qual partição do Ubuntu precisamos verificar para consertar o sistema de arquivos. Inicie o Terminal (Ctrl-Alt-T) e execute o comando:

sudo fdisk -l

Este comando nos mostrará todos os discos e pen drives que estão montados no sistema. Darei um exemplo com meu computador pessoal e não com o laptop de um amigo. Aqui está o que eu consegui:

ubuntu@ubuntu:~$ sudo fdisk -l

Disco /dev/sda: 640,1 GB, 640135028736 bytes
255 cabeçotes, 63 setores/pista, 77.825 cilindros, total de 1250263728 setores



Identificador de disco: 0x0009d6f7


/dev/sda1 * 2048 61442047 30720000 83 Linux
/dev/sda2 61442048 73730031 6143992 82 Troca Linux / Solaris
/dev/sda3 73730048 1250263039 588266496 83 Linux

Disco /dev/sdb: 500,1 GB, 500107862016 bytes
255 cabeçotes, 63 setores/pista, 60.801 cilindros, total de 976773168 setores
Unidades = setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes/512 bytes
Tamanho de E/S (mínimo/ideal): 512 bytes/512 bytes
Identificador de disco: 0xb9ff6f01

Sistema de identificação de blocos de início de inicialização do dispositivo
/dev/sdb1 * 16065 100197404 50090670 83 Linux
/dev/sdb2 105322201 976771071 435724435+ 5 Estendido
/dev/sdb3 100197405 105322139 2562367+ 82 Troca Linux / Solaris
/dev/sdb5 105322203 832110591 363394194+ 7 HPFS/NTFS/exFAT
/dev/sdb6 832112640 860755218 14321289+ 83 Linux
/dev/sdb7 860758016 862613503 927744 82 Troca Linux / Solaris
/dev/sdb8 862615552 976771071 57077760 83 Linux

As entradas da tabela de partição não estão na ordem do disco

Disco /dev/sdc: 8115 MB, 8115978240 bytes
250 cabeçotes, 62 setores/pista, 1.022 cilindros, total de 1.585.1520 setores
Unidades = setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes/512 bytes
Tamanho de E/S (mínimo/ideal): 512 bytes/512 bytes
Identificador de disco: 0xc3072e18

Sistema de identificação de blocos de início de inicialização do dispositivo
/dev/sdc1 * 32 15847625 7923797 b W95 FAT32

Como você pode ver na saída do comando sudo fdisk -l, tenho 2 discos rígidos (sda) de 640 GB e (sdb) de 500 GB, além de uma unidade flash (sdc) de 8 GB, a partir da qual inicializei. Eu sei que meu sistema básico com Ubuntu 12.04 está localizado no disco sda, e a partição com o sistema operacional se chama sda1.

Agora que sabemos a partição que precisa ser verificada, podemos começar a verificá-la. No terminal:

sudo fsck -y -f -c /dev/sda1

Se você vir um erro, provavelmente precisará desmontar esta partição:

sudoumount /dev/sda1

Teclas de comando e parâmetros fsck:

sim- responda sempre sim a todas as perguntas (existe uma alternativa: tecla p - inicia a verificação em modo totalmente automático);

f- verificação forçada do sistema de arquivos (mesmo que o sistema de arquivos esteja marcado como totalmente funcional)

c- procura blocos defeituosos e os marca de acordo

/dev/sda1- dispositivo ou partição que precisa ser verificado. Embora a equipe possa ter uma aparência diferente. Por exemplo:

sudo fsck -p /dev/sda1

Nesse caso, apenas a opção -p foi adicionada. Você acabou de ler sobre todas as teclas de comando fsck e adicionar exatamente as chaves necessárias. Para conhecer todas as capacidades do programa, entre no Terminal:

cara, cara

Isto é o que o Terminal produziu após a verificação:

ubuntu@ubuntu:~$ sudo fsck -y -f -c /dev/sda1
fsck do utilitário-linux 2.20.1
e2fsck 1.42.5 (29 de julho de 2012)
Verificação de blocos defeituosos (teste somente leitura): 0,00% concluído, 0:00 decorrido. (0/0/0 errado
/dev/sda1: Atualizando inode de bloco defeituoso.
Passo 1: Verificando inodes, blocos e tamanhos
Passo 2: Verificando a estrutura do diretório
Passo 3: Verificando a conectividade do diretório
Passo 4: Verificando contagens de referência
Passo 5: Verificando as informações do resumo do grupo

Um disco rígido com defeito é um dos fenômenos mais desagradáveis ​​na operação do computador. Não só podemos perder facilmente muitas informações e arquivos importantes, mas a substituição do HDD prejudica o orçamento. Acrescentemos a isso a perda de tempo e os nervos que, como sabemos, não são restaurados. Para não deixar o problema nos pegar de surpresa e diagnosticá-lo com antecedência, vale a pena saber como verificar se há erros no disco rígido do sistema operacional Ubuntu. Existem muitas ferramentas de software que fornecem esses serviços.

Como testar no Ubuntu Disco rígido por erros.

Não é necessário baixar programas para realizar uma verificação de disco no Ubuntu. O sistema operacional já possui um utilitário projetado para esta tarefa. É chamado de badblocks e é controlado através do terminal.

Abra um terminal e digite:

Este comando exibe informações sobre todos os HDDs usados ​​pelo sistema.

Depois disso entramos:

sudo badblocks -sv /dev/sda

O comando já é utilizado para procurar setores danificados. Em vez de /dev/sda, digite o nome da sua unidade. As opções -s e -v são usadas para exibir o progresso da verificação do(s) bloco(s) na ordem correta e para fornecer um relatório sobre todas as ações (v).

Ao pressionar Ctrl + C paramos de verificar o disco rígido.

Você também pode usar dois outros comandos para monitorar o sistema de arquivos.

Para desmontar sistema de arquivo, digitar:

Para verificar e corrigir erros:

sudo fsck -f -c /dev/sda

  • “-f” força o processo, ou seja, executa-o mesmo que o HDD esteja marcado como íntegro;
  • "-c" localiza e marca blocos defeituosos;
  • “-y” é um argumento de entrada adicional que responde imediatamente Sim a todas as questões do sistema. Em vez disso, você pode inserir “-p”, ele será verificado automaticamente.

Programas

Adicional Programas também faz um excelente trabalho com esta função. E às vezes até melhor. Além disso, alguns usuários acham mais fácil trabalhar com uma interface gráfica.

GParted é apenas para quem não gosta de interface de texto. O utilitário executa um grande número de tarefas relacionadas à operação do HDD no Ubuntu. Isso inclui verificar se há erros no disco.

Primeiro, precisamos baixar e instalar o GParted. Digite o seguinte comando para baixar dos repositórios oficiais:

sudo apt-get install gparted

  1. Abra o aplicativo. Todas as mídias são exibidas imediatamente na tela principal. Se algum deles estiver marcado com um ponto de exclamação, então algo já está errado com ele.
  2. Clique no disco que deseja verificar.
  3. Clique no botão “Seção” localizado na parte superior.
  4. Selecione “Verificar erros”.

O programa fará a varredura do disco. Dependendo do volume, o processo pode demorar mais ou menos. Após a digitalização seremos notificados dos resultados.

Este é um utilitário mais complexo que realiza uma verificação mais séria do HDD usando vários parâmetros. Como resultado, também é mais difícil de gerir. Interface gráfica não fornecido no Smartmontools.

Baixe o programa:

aptitude instalar smartmontools

Vejamos quais unidades estão conectadas ao nosso sistema. Você precisa prestar atenção às linhas que terminam com uma letra e não com um número. Estas linhas contêm informações sobre os discos.

ls -l /dev | grep -E 'sd|hd'

Digite o comando para saída informação detalhada sobre a transportadora. Vale a pena dar uma olhada no parâmetro ATA. O fato é que ao substituir um disco nativo, é melhor instalar um dispositivo com ATA igual ou maior. Desta forma, você pode maximizar suas capacidades. E também observe e lembre-se dos parâmetros SMART.

smartctl –info /dev/sde

Vamos começar a verificação. Se SMART for compatível, adicione “-s”. Se não for compatível ou já estiver ativado, esse argumento poderá ser removido.

smartctl -s em -a /dev/sde

Depois disso, consulte as informações em LER SMART DATA. O resultado pode assumir dois valores: PASSED ou FAILED. Se o último surgir, você pode começar a fazer cópias de segurança e procure um disco rígido substituto.

As capacidades do programa não param por aí. Mas para uma verificação única do HDD, isso será suficiente.

Cópia segura

Este já é o tipo de programa ideal para usar em um navio que está afundando. Se estivermos cientes de que algo está errado com nosso disco e quisermos salvar o máximo possível de arquivos sobreviventes, o Safecopy virá em nosso socorro. Sua tarefa é justamente copiar dados de mídias danificadas. Além disso, extrai arquivos até mesmo de blocos quebrados.

Instale o Safecopy:

sudo apt instalar cópia segura

Transferimos arquivos de um diretório para outro. Você pode escolher qualquer outro. Neste caso, estamos transferindo dados do drive sda ​​para a pasta pessoal.

sudo cópia segura /dev/sda /home/

Blocos ruins

Alguns podem ter dúvidas: “o que são esses blocos quebrados e de onde eles vieram no meu disco rígido se eu nunca toquei neles?” Blocos defeituosos, ou setores defeituosos, são seções do disco rígido que não são mais legíveis. Em qualquer caso, foi assim que foram marcados pelo sistema de arquivos por razões objetivas. E muito provavelmente há realmente algo errado com o disco nesses locais. Os “maus” são encontrados tanto nos discos rígidos antigos quanto nos mais modernos, pois funcionam quase com as mesmas tecnologias.

Setores defeituosos aparecem por vários motivos.

  • Gravação interrompida devido a falha de energia. Todas as informações que entram no disco rígido são divididas na forma de uns e zeros em suas diversas partes. Interromper esse processo significa confundir bastante o disco rígido.
  • Montagem de má qualidade. Não há nada a dizer aqui. Com um dispositivo chinês barato, tudo pode voar.

Agora você sabe como verificar se há erros no seu HDD. A verificação do disco, tanto no Ubuntu quanto em outros sistemas, é uma operação bastante importante que deve ser realizada pelo menos uma vez por ano.

Se durante a inicialização o sistema operacional relatar que há erros no sistema de arquivos em uma das partições, você deverá verificar imediatamente os discos e corrigir os erros do sistema de arquivos.

Qualquer usuário que se preze não deve esquecer que verificar periodicamente se há setores defeituosos nos discos rígidos e verificar se há erros nos discos é um exemplo de bom senso.

Importante! Lançamento e Execução FSCK em um sistema de arquivos montado pode causar corrupção de dados, entãoUse este material por sua própria conta e risco. O autor não se responsabiliza por quaisquer danos que você possa causar.

Para se proteger você precisa:

  • Mude para o modo de usuário único e desmonte o sistema de arquivos
  • Inicialize seu computador no modo de recuperação usando o CD de instalação

Então, você precisa verificar os discos e corrigir erros do sistema de arquivos, vamos começar.

1) Modo de usuário único

Altere o nível de inicialização e desmonte o sistema de arquivos:

# inicialização 1
#umount /home

Procure partições conectadas:

#fsck /dev/sda1

2) Modo de recuperação do CD de instalação

Insira o CD de instalação na unidade e reinicie o sistema:

Aguarde um pouco e após inicializar a partir do CD de instalação, execute o comando:

# resgate linux nomount

A diretiva NOMOUNT desabilitará a montagem, para que você possa usar o FSCK com segurança.

Depois disso, execute o FSCK na partição com erros:

# fsck -yvf /dev/sda1

LVM (Gerenciador de Volume Lógico)

A situação com LVM (Gerenciador de Volume Lógico) seções são um pouco mais complicadas. Para começar FSCK Para LVM as partições devem primeiro ser encontradas PV (Volume Físico), VG (Grupo de Volume), LV (extensão lógica) e ativá-los, para isso execute os seguintes comandos em sequência:

#lvm pvscan
#lvm vgscan
# lvm lvchange -ay VolGroup00
#lvm lvscan

# fsck -yfv /dev/VolGroup00/LogVol00

Após a execução, o FSCK retornará o resultado na forma de um código, este código é um número único que representa a soma dos seguintes valores:

0 - Sem erros;
1 - Erros do sistema de arquivos corrigidos;
2 – O sistema deverá ser reinicializado;
4 - Erros do sistema de arquivos deixados sem correção;
8 – Erro operacional;
16 – Erro de uso ou sintaxe;
32 - Fsck cancelado por solicitação do usuário;
128 - Erro de biblioteca compartilhada.

Qualquer computador é um dispositivo complexo que consiste em muitos componentes e ninguém está imune a falhas em nenhum deles. Neste artigo, veremos como reconhecer prontamente um dos sérios problemas com dispositivos de armazenamento de informações, seja um disco rígido ou uma unidade flash, e como o disco é verificado em busca de setores defeituosos no Linux.

Qualquer unidade consiste em muitos pequenos blocos (setores) que armazenam informações na forma de zeros ou uns (bits). Se, por algum motivo, o sistema operacional não conseguir gravar um pouco de informação em um determinado setor, ele poderá ser considerado “quebrado”.

Um setor pode ser danificado por vários motivos:

  • Defeitos de fabricação
  • Desligue o computador enquanto grava informações.
  • Desgaste físico da unidade.

Um pequeno número de setores defeituosos é encontrado em quase todas as unidades. Mas vale a pena prestar atenção se o seu número aumenta com o tempo. Isso pode indicar a morte física iminente da unidade e é hora de você pensar em substituí-la.

Vejamos quais utilitários Linux podemos usar para verificar se há setores Linux defeituosos em um disco.

Verificando a unidade em busca de setores defeituosos usando badblocks.

Badblocks é um utilitário padrão do Linux para verificar setores defeituosos. Ele é instalado por padrão em quase todas as distribuições e pode ser usado para verificar um disco rígido e uma unidade externa.

Primeiro, vamos ver quais unidades estão conectadas ao nosso sistema e quais partições elas possuem. Para fazer isso, precisamos de outro utilitário padrão do Linux - fdisk.

Naturalmente, você precisa executar comandos com direitos de superusuário:

Parâmetro -eu dizemos ao fdisk que precisamos mostrar a lista de partições e sair.

Agora que sabemos quais partições temos, podemos verificar se há setores defeituosos. Para fazer isso, usaremos o utilitário badblocks da seguinte forma:

$ sudo badblocks -v /dev/sda1 > badsectors.txt

Para verificar, especificamos os seguintes parâmetros:

  • -v— saída detalhada de informações sobre os resultados do teste.
  • /dev/sda1- a seção que queremos verificar em busca de setores defeituosos.
  • > setores ruins.txt— envia o resultado do comando para o arquivo badsectors.txt.

Se, como resultado, forem encontrados setores defeituosos, precisamos dar instruções sistema operacional não registre informações neles no futuro. Para fazer isso, precisamos de utilitários Linux para trabalhar com sistemas de arquivos:

  • e2fsck. Se consertarmos uma partição com sistemas de arquivos Linux (ext2,ext3,ext4).
  • Fsck. Se corrigirmos um sistema de arquivos diferente do ext.

Digite os seguintes comandos:

$ sudo e2fsck -l badsectors.txt /dev/sda1

Ou, se nosso sistema de arquivos não for ext:

$ sudo fsck -l badsectors.txt /dev/sda1

Parâmetro -eu dizemos ao utilitário para usar a lista de setores defeituosos do arquivo badsectors.txt, que obtivemos anteriormente ao verificar com o utilitário badblocks.

Verificando uma unidade em busca de setores defeituosos no Linux em smartmontools

Agora vamos dar uma olhada em uma maneira mais moderna e confiável de verificar se há setores Linux defeituosos em um disco. As unidades modernas ATA/SATA, SCSI/SAS e SSD possuem um sistema de automonitoramento integrado S.M.A.R.T (Tecnologia de Automonitoramento, Análise e Relatórios), Tecnologia de automonitoramento, análise e relatórios), que monitora os parâmetros do inversor e ajudará a determinar a deterioração dos parâmetros do inversor nos estágios iniciais. Para trabalhar com S.M.A.R.T no Linux existe um utilitário smartmontools.

Vamos instalá-lo primeiro. Se sua distribuição for baseada em Debian\Ubuntu, digite:

$ sudo apt instalar smartmontools

Se você tiver uma distribuição baseada em RHEL\CentOS, digite:

$sudo yum instalar ferramentas inteligentes


Principal