Повторное тестирование зеркального программного рэйда в среде виртуализации. В тестировании принимают участие идентичные накопители WD Black:
=== START OF INFORMATION SECTION === Model Family: Western Digital RE4 Device Model: WDC WD1003FBYX-01Y7B0 Serial Number: WD-WCAW31856269 LU WWN Device Id: 5 0014ee 25b199363 Firmware Version: 01.01V01 User Capacity: 1 000 204 886 016 bytes [1,00 TB] Sector Size: 512 bytes logical/physical Rotation Rate: 7200 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS (minor revision not indicated) SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Wed Jun 20 13:36:39 2018 +07
Линейная запись на дисковый накопитель
Начнем с базового тестирования чтение-запись на отдельных дисках. Проведу простой линейный тест, он особого практического значения не несет, разве, что мы узнаем лимиты линейного чтения-записи на каждом из накопителей.
Для теста записи будем использовать простую команду (запись 66-и гигабайт информации):
# dd bs=655360 count=100000 if=/dev/zero of=/dev/sdb
На обоих накопителях естественно получен идентичный результат и значит этот тест будет надежнее предыдущего где участвовали два разных накопителя.
# dd bs=655360 count=100000 if=/dev/zero of=/dev/sdc 100000+0 записей получено 100000+0 записей отправлено 65536000000 bytes (66 GB, 61 GiB) copied, 483,759 s, 135 MB/s
Как мы видим пиковая линейная скорость записи у WB-Black 130 мб/секунду.
Линейное чтение информации с накопителя
Операция аналогичная представленной выше, но поменяем операторы местами:
# dd bs=655360 count=100000 if=/dev/sdb of=/dev/null
# dd bs=655360 count=100000 if=/dev/sdb of=/dev/null 100000+0 записей получено 100000+0 записей отправлено 65536000000 bytes (66 GB, 61 GiB) copied, 484,962 s, 135 MB/s Скорость линейного чтения примерно равна скорости линейной записи.
Синтетический тест (ферма виртуализации)
В прошлый раз я проводил тестирование при помощи специализированных утилит и как показала практика выводы не совпадали с последующей реальной практикой эксплуатации (лабораторные тесты они обычно далеки от реальной эксплуатации) и в сегодняшнем тесте я буду запускать несколько реальных достаточно тяжелых виртуальных машин, проводить замеры дисковой активности и загрузки процессора. Основная цель, сравнить скорость дисковых операций и пиковое количество операций в секунду при использовании обычного накопителя и программного RAID-массива и дополнительно, будем наблюдать за загруженностью процессора во время запуска и работы виртуальных машин.
Я создал пять виртуальных машин, которые являются клоном одной и той же машины которая имитирует активную работу, там запускаются несколько экземпляров Libreoffice, производится установка и удаление ПО, распаковывается архив, производится запись в базу данных и несколько параллельных операций чтения и записи (одновременно).
Первым делом запустим одну виртуальную машину и посмотрим на создаваемую нагрузку на хост-систему.
Одиночный тест начался в 16.59 и закончился в 17.15.
Дисковая активность за этот период (не обращайте внимание на 1000% утилизации, если вам интересен этот параметр, то просто делите на 10).
Естественно, что одна виртуальная машина никакого интереса не представляет и такие замеры мы уже проводили в прошлой статье, нас на самом деле интересует конкурентная работа четырех виртуальных машин которые я буду запускать с задержкой в 30 секунд.
#!/bin/sh virsh start test-1 sleep 30 virsh start test-2 sleep 30 virsh start test-3 sleep 30 virsh start test-4 sleep 30
Скрипт отработал, все машины запустились, отработали положенное время и отключились (они принудительно отключаются через 20 минут работы внутренним скриптом). Замер начался в 9.32 и закончился в 10.00, теперь у нас есть результаты относительно напоминающие хорошо загруженную конкурентную систему которые можно будет сравнивать с программным массивом (а в дальнейшем с SSD-накопителем и bcache), я конечно предпочел бы запустить побольше виртуальных машин, но тестовый компьютер ограничен в ресурсах.
Результаты тестирования одиночного HDD - накопителя
Представляю вашему вниманию результаты теста дисковой подсистемы и нагрузки на процессор при последовательном запуске и остановке четырех виртуальных машин эмулирующих реальный узел фермы виртуализации.
Утилизация процессора за время теста
Load Average за время теста
Скорость чтения-записи на диск
Длина дисковой очереди
Данные результаты будут использоваться для сравнения с нагрузкой на процессор и дисковую подсистему формируемые при работе с программным RAID-массивом.
Результаты тестирования программного дискового массива RAID-1
Создадим программный дисковый массив первого уровня из двух идентичных накопителей:
# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
Утилизация и Load Average сервера
Статистика дисковых операций на каждом из дисков отдельно
На MD-массиве в целом (начало замера 08:48)