Назад | Перейти на главную страницу

Продолжительное тестирование io linux

Я хочу забивать io некоторых дисков в течение длительного периода времени и узнавать, когда я не могу читать из блока (или какой-либо другой симптом, сообщающий мне о проблеме с внутренним хранилищем). Есть некоторые инструменты для тестирования, которые пишут за несколько секунд и показывают результаты, но я хочу провести долгосрочное тестирование.

Пока что я могу думать о записи на диск через dd и чтении из этого файла в / dev / zero. Мне нужно было бы зациклить его, чтобы продолжить чтение и запись после завершения первоначального запуска. Что касается понимания состояния диска, я полагаю, что dd может завершить работу, если он не может читать или писать? В противном случае я могу не знать, есть ли проблема.

Другая идея - запустить bonnie ++ в цикле. Трудно сказать, что происходит в фоновом режиме и сколько оперативной памяти она фактически использует вместо диска (кажется, они пытаются обойти это, говоря вам, что вам нужно записать большой объем данных; больше, чем ваше выделение памяти). Тогда вывод, который он дает, довольно трудно читать. Но этого должно хватить для записи и чтения, если я использую цикл bash для его постоянного запуска.

Мысли?

Как насчет fio работа с верификацией и временной нагрузкой? Я думаю что-то вроде

fio --name=2h --direct=1 --filename=/dev/sdz --verify=crc32c-intel --verify_fatal=1 --time_based=1 --runtime=2h --rw=write

Это произведет случайную запись в / dev / sdz в обход блочного кеша (таким образом, уничтожив содержимое / dev / sdz). После того, как / dev / sdz будет полностью записан, его содержимое будет прочитано и проверено. Этот процесс будет продолжаться в течение двух часов, и предыдущие шаги будут повторяться каждый раз, когда они будут завершены. Это явно несовершенно (например, нет гарантии, что даже первый проход записи будет завершен к концу двух часов и т. Д.), Но это дает некоторые идеи ...

Если вы делаете что-то тестирование ввода-вывода хранилища, то часто стоит посмотреть на fio.