Где можно найти инструменты для проверки целостности хранилища (записи / чтения)?

Мне нужны инструменты для проверки целостности данных локальных жестких дисков, USB-накопителей и т. Д.

Я ищу решение, такое как знаменитый сайт www.heise.de/download/h2testw или что-то, что, по крайней мере, распространено в репозиториях. (h2testw снова записывает конкретную датуустановку на носитель, затем читает ее снова, чтобы проверить, правильно ли она написана и отображает время записи / чтения / скорость.)

Я не ищу

dd if=/dev/random of=/dev/sdx bs=1k && dd if=/dev/sdx of=/dev/null bs=1k 

так как он не будет проверять, правильно ли написано все. Это только тест, если чтение / запись успешно работает с устройством.

До сих пор я не очень доволен

 badblocks -w -v /dev/sdx1 

либо, поскольку он кажется очень медленным, и я не знаю, что он точно пишет, и если он считает выравнивание по носителю на флэш-носителях.

Существует программа под названием F3 http://oss.digirati.com.br/f3/, которую необходимо скомпилировать. Разработанный после h2testw, концепция звучит интересно, я бы скорее предпочел бы ее предварительно упакованный двоичный файл.

One Solution collect form web for “Где можно найти инструменты для проверки целостности хранилища (записи / чтения)?”

Следующий сценарий создает случайный файл (около 100 М) в общей памяти, вычисляет его контрольную сумму и затем несколько раз копирует его на заданное блочное устройство, чтобы все устройство было заполнено копиями случайных данных, а при повторном чтении и вычислении контрольную сумму, чтобы проверить, соответствует ли она исходной.

Он производит выходные данные:

 We will create a test data file /dev/shm/testsource with size 100000000. We will fill the device /dev/sdb (of size 16001036288) with this data (in 160 blocks) and then will check if the data is not corrupted. This will erase all data in /dev/sdb. Do you want to continue? 1) yes 2) no #? 1 Creating test source file... (100000000) Calculating source checksum... 9f4c31858b3bb1122974a5c9d8ec28c6f71b3367 Writing block 0 ... Checking block 0 ... ok Writing block 1 ... Checking block 1 ... ok Writing block 2 ... Checking block 2 ... ok 

Он требует dd, blockdev, cut, sha1sum, / dev / urandom и / dev / shm. Он требует доступа к устройству (обычно root). Это было протестировано на Linux 2.6.3x. Это медленно. Вы можете изменить его, чтобы выполнить несколько проходов или сделать все записи, а затем проверить или подождать когда-нибудь перед проверкой (тест «затухания»).

 #!/bin/bash TARGETDEVICE=$1 TESTFILE="/dev/shm/testsource" BLOCKSIZE="100000000" if [ -b "$1" ]; then TARGETSIZE=$(blockdev --getsize64 $TARGETDEVICE) if [ "$TARGETSIZE" -gt 0 ] ; then let "BLOCKS=$TARGETSIZE / $BLOCKSIZE" if [ "$BLOCKS" -lt 2 ] ; then BLOCKSIZE=$TARGETSIZE BLOCKS=1 fi fi echo "We will create a test data file $TESTFILE with size $BLOCKSIZE." echo "We will fill the device $TARGETDEVICE (of size $TARGETSIZE) with this data (in $BLOCKS blocks) and then will check if the data is not corrupted." echo "This will erase all data in $TARGETDEVICE." echo "Do you want to continue?" select choice in yes no ; do if [ "$choice" == "yes" ] ; then echo "Creating test source file... ($BLOCKSIZE)" dd if=/dev/urandom of=$TESTFILE bs=$BLOCKSIZE count=1 status=noxfer 2> /dev/null echo "Calculating source checksum..." CHECKSUM=$(sha1sum $TESTFILE | cut -d " " -f 1) echo $CHECKSUM for ((y=0 ; y<$BLOCKS ; y++)) ; do echo "Writing block $y ..." dd if=$TESTFILE of=$TARGETDEVICE bs=$BLOCKSIZE count=1 seek=$y status=noxfer 2> /dev/null echo -n "Checking block $y ... " TESTCHECKSUM=$(dd if=$TARGETDEVICE bs=$BLOCKSIZE count=1 skip=$y status=noxfer 2> /dev/null | sha1sum | cut -d " " -f 1) if [ "$CHECKSUM" == "$TESTCHECKSUM" ] ; then echo "ok" else echo "MISMATCH" echo "(found $TESTCHECKSUM)" fi done rm -f $TESTFILE break fi if [ "$choice" == "no" ] ; then echo echo "Operation cancelled" echo break fi done else echo echo "Missing or wrong target device" echo "Usage: $0 /dev/device" echo fi 
  • Как сделать автоматическое измерение времени загрузки для свежих изображений?
  • Как проверить ненадежное графическое приложение?
  • Как обновить стабильный Debian (Wheezy) до тестирования (Jessie)?
  • Альтернативный источник для пакета, удаленный из тестирования или нестабильной репо
  • Захват содержимого строки состояния tmux
  • Компиляция и запуск проекта тестирования linux
  • Как запустить скрипт с привилегиями, ожидаемыми от общего «предполагаемого пользователя» сценария?
  • Unix Program (не ab) для создания локальных запросов на локальный сервер с разными IP-адресами
  • создать поврежденную файловую систему FAT
  • Системные звуки gnome 3 не работают
  • Проверка локального файла
  • Linux и Unix - лучшая ОС в мире.