Протестировать работу диска
При тестировании диска ты проверяешь фактические значения его характеристик — количество операций ввода и вывода (IOPS), производительность.
Результаты тестирования можно сравнить со значениями, которые указаны в конфигурации диска. Проводить тестирование можно для всех типов дисков.
Для тестирования используется утилита fio. С fio можно использовать файл-тесты — подготовленные текстовые файлы с настройками тестирования.
Установить утилиту fio
Выполни команды:
sudo apt update
sudo apt install fio
Подготовить диск
Не используй эту команду для дисков, которые содержат какую-либо информацию — команда уничтожает все данные на диске. В примерах ниже приведены тесты с записью на диск с параметром filename=/dev/sdb — запись также уничтожит данные и файловую систему на диске, если они там есть.
- Создай новый сетевой диск. 
- Запиши на диск данные для тестирования: - dd if=/dev/urandom of=/dev/sdX bs=4M
Протестировать диск
Выбери нужный тест или выполни все тесты с любом порядке:
- случайная запись блоками 4 КБ — тестирование количества операций ввода (W IOPS);
- случайное чтение блоками 4 КБ — тестирование количества операций вывода (R IOPS);
- случайная запись блоками 4 MБ — тестирование пропускной способности;
- случайное чтение блоками 4 MБ — тестирование пропускной способности.
Параметры тестов:
- size— общий размер тестового файла;
- blocksize— размер одного блока, с которым проводится операция чтения или записи;
- filename— файл для записи или чтения. В примерах ниже приведены тесты с записью на диск с параметром- filename=/dev/sdb— запись также уничтожит данные и файловую систему на диске, если они там есть;
- iodepth— количество потоков.
Случайная запись блоками 4 КБ
- Создай тест: - nano write.ini
- Добавь в файл содержимое: - [writetest]
 size=2000M
 blocksize=4k
 filename=/dev/sdb
 rw=randwrite
 direct=1
 buffered=0
 ioengine=libaio
 iodepth=32
- Запусти тест: - fio write.ini
- В выводе теста посмотри значение IOPS: - write: IOPS=118, BW=475KiB/s (487kB/s)(2000MiB/4310296msec); 0 zone resets
Случайная запись блоками 4 МБ
- Создай тест: - nano write.ini
- Добавь в файл содержимое: - [writetest]
 size=2000M
 blocksize=4M
 filename=/dev/sdb
 rw=randwrite
 direct=1
 buffered=0
 ioengine=libaio
 iodepth=32
- Запусти тест: - fio write.ini
- В выводе теста посмотри значение пропускной способности (BW): - write: IOPS=25, BW=100MiB/s (105MB/s)(2000MiB/19974msec); 0 zone resets
Случайное чтение блоками 4 КБ
- Создай тест: - nano read.ini
- Добавь в файл содержимое: - [readtest]
 size=2000M
 blocksize=4k
 filename=/dev/sdb
 rw=randread
 direct=1
 buffered=0
 ioengine=libaio
 iodepth=32
- Запусти тест: - fio read.ini
- В выводе теста посмотри значение IOPS: - read: IOPS=320, BW=1280KiB/s (1311kB/s)(2000MiB/1599899msec)
Случайное чтение блоками 4 MБ
- Создай тест: - nano read.ini
- Добавь в файл содержимое: - [readtest]
 size=2000M
 blocksize=4M
 filename=/dev/sdb
 rw=randread
 direct=1
 buffered=0
 ioengine=libaio
 iodepth=32
- Запусти тест: - fio read.ini
- В выводе теста посмотри значение пропускной способности (BW): - read: IOPS=25, BW=100MiB/s (105MB/s)(2000MiB/19911msec)