• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created about 11 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scan disk for bad or near failure sectors, performs disk diagnostics

DiskScan -- Scan HDD/SSD for failed and near failed sectors

Build Status ![Gitter](https://badges.gitter.im/Join Chat.svg)

DiskScan is a Unix/Linux tool to scan a block device and check if there are unreadable sectors, in addition it uses read latency times as an assessment for a near failure as sectors that are problematic to read usually entail many retries. This can be used to assess the state of the disk and maybe decide on a replacement in advance to its imminent failure. The disk self test may or may not pick up on such clues depending on the disk vendor decision making logic.

diskscan vs. badblocks

badblocks is intended for a simple task, to find bad blocks in the media. diskscan is trying to say a lot more about the media, specifically it is trying not just to say where is a bad block but also what blocks are already deteriorated but still readable and also give information on the latency of reading each block which should help to give an overall assessment of the disk media.

In essence badblocks looks for fatal issues already happening and diskscan is for upcoming issues that can be fixed.

Also, badblocks is essentially obsolete in this day and age since the disks themselves will reallocate the data and there is no real need to map the bad blocks in the filesystem level anymore.

Build

This project is using CMake, on Debian/Ubuntu it is as simple as: apt-get install cmake make libtinfo-dev libncurses5-dev zlib1g-dev python-yaml

For RedHat/SuSe based distros you need to install ninja-build first and then: yum install compat-libtermcap libtermcap-devel cmake python-yaml zlib-devel

A Makefile is provided to avoid learning the ninja commands and do the non-build stuff (install, etc.)

To do the build:

cmake . && make

Install

make install

You can control the DESTDIR when building packages and PREFIX if /usr is not right.

License

diskscan is licensed under the GPL version 3 or later.

More Repositories

1

libwire

User space threading (aka coroutines) library for C resembling GoLang and goroutines
C
165
star
2

b3603

Alternative firmware for the B3603
C
64
star
3

lsi_decode_loginfo

Decode LSI LogInfo codes to make troubleshooting slightly less cryptic
Python
51
star
4

esp8266_smart_home

C++
41
star
5

libscsicmd

A library to create SCSI commands (CDBs) and parse the results, also for ATA commands and results
C
28
star
6

gpart

Collating patches for gpart from all distributions
C
28
star
7

rethink-miner

A data mining helper for rethinkdb, collect your queries and keep them for reuse
JavaScript
22
star
8

mptevents

Log all LSI MPT driver events to syslog
C
14
star
9

ADS1115

Efficient Arduino library to read ADS1115
C++
14
star
10

mpt-status

Display status of LSI MPT RAID device
C
12
star
11

crcbench

Benchmarking CRC routines to find a fast one
C
9
star
12

STM8_reverse_engineering_aid

An to reverse engineering an STM8 board, probe outputs of the board from the MCU
C
5
star
13

websec

Web Secretary -- Track and notify when a web page changes
Perl
4
star
14

cfgsh

Configuration for an embedded system
C
4
star
15

disksurvey

Survey Disks for interesting information for the purpose of learning about disk failures
JavaScript
4
star
16

openbmap-locator

A GSM location service based on the openBmap data
Shell
4
star
17

flashforge_print

Print over WiFi to a FlashForge printer
Python
4
star
18

disklatency

Monitor disk latency for troubles
C
3
star
19

wire-sysmon

A linux-dash clone written in C with libwire
CSS
2
star
20

notmuch-gtk

A Gtk+ interface to the notmuch mail client, not maintained anymore, I switched to gmail instead.
2
star
21

disksim

disksim patches to work on 64bit arch
C
2
star
22

nRF24LE1_Programmer

A programmer for the nRF24LE1 chip using a 3.3v Arduino
Arduino
2
star
23

wire-httpd

A static file webserver based on libwire
C
2
star
24

docket

Log collector for a clustered system
C
2
star
25

circle-clock

ESP8266 code for a 16 led WS2812B clock
C++
1
star
26

serial-server

A serial server for multiple access to a serial port, useful for mcu programming without an IDE
C
1
star
27

baruch.github.com

1
star
28

fiber-framework

Automatically exported from code.google.com/p/fiber-framework
C
1
star
29

libtask

Automatically exported from code.google.com/p/libtask
C
1
star