Найти в Дзене
merkulss

Disk Health Checker Проверка состояния диска с визуализацией блоков и статистикой

Не найдя никакой нормальной замены (позже нашел whdd) любимой "Victoria HDD" под Linux, родился скрипт с оглядкой на нее... Пользуйтесь на здоровье. Disk Health Checker — это скрипт на Python, предназначенный для проверки состояния диска. Он позволяет визуализировать чтение блоков диска, измерять время доступа к каждому блоку и выявлять потенциальные проблемы, такие как медленные или дефектные блоки. Скрипт предоставляет удобный интерфейс с использованием библиотеки curses, который включает:
Оглавление
Внешний вид
Внешний вид

Не найдя никакой нормальной замены (позже нашел whdd) любимой "Victoria HDD" под Linux, родился скрипт с оглядкой на нее...

Пользуйтесь на здоровье.

Описание:

Disk Health Checker — это скрипт на Python, предназначенный для проверки состояния диска. Он позволяет визуализировать чтение блоков диска, измерять время доступа к каждому блоку и выявлять потенциальные проблемы, такие как медленные или дефектные блоки. Скрипт предоставляет удобный интерфейс с использованием библиотеки curses, который включает:

  1. Карту блоков:
  2. Визуализация состояния блоков диска в реальном времени.
  3. Каждый символ на карте представляет группу блоков, а цвет символа указывает на максимальную задержку чтения в этой группе.
  4. Дефектные блоки отображаются красным цветом.
  5. Статистику:
  6. Количество блоков с разными задержками чтения (5ms, 20ms, 50ms, 200ms, 500ms, 1.5s).
  7. Количество дефектных блоков.
  8. Скорость чтения (в MiB/s).
  9. Текущий и общий объем данных (в MiB).
  10. Прошедшее и оставшееся время выполнения проверки.
  11. Прогресс-бар:
  12. Отображает текущий прогресс проверки диска.
  13. Автоскролл:
  14. Карта блоков автоматически прокручивается, чтобы текущие проверяемые блоки всегда были на виду.
  15. Возможность ручной прокрутки с возвратом к текущей позиции по нажатию клавиши Esc.
  16. Автоматический запрос прав администратора:
  17. Если скрипт запущен без прав администратора, он автоматически запрашивает пароль sudo и перезапускается с необходимыми правами.

Использование:

  1. Запустите скрипт: python3 disk_health_checker.py
  2. Выберите диск для проверки из списка доступных устройств введя с клавиатуры его номер.
  3. Укажите количество блоков, которые будут представлены одним символом на карте (по умолчанию 10000).
  4. Наблюдайте за процессом проверки:
  5. Карта блоков будет заполняться в реальном времени.
  6. Статистика и прогресс будут обновляться каждую секунду.
  7. Для завершения проверки нажмите клавишу q.

Требования:

  • Python 3.x
  • Библиотека curses (обычно входит в стандартную поставку Python)
  • Права администратора (для доступа к блочным устройствам)

test_disk