Устойчивое тестирование ввода-вывода Linux

Устойчивое тестирование ввода-вывода Linux

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

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

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

Мысли?

решение1

Как насчет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 часто стоит посмотреть.

Связанный контент