Измерение использования диска
Какой самый справедливый блок для определения использования диска (кроме общего объема памяти, например, в ГБ)?
- IOPS?
- Чтение / запись байтов?
- Байты, передаваемые по сети (будут равны байтам по объему)?
- Другой?
И как их можно определить под Linux?
Речь идет о выставлении счетов за экземпляры виртуальных хранилищ, к которым обращаются виртуальные серверы по сети.
2 ответа
Вы можете использовать следующие команды для мониторинга диска:
# sar -p -d 1 1
(если в вашей системе установлен пакет sar), с помощью sar вы также можете проверить чтение / запись вашего диска в истории из файла /var/log/sa/sar-01.
а также
# iostat -d -x 3 3
где последние два числа - это интервал в секундах, число повторений и
-d : Display the device utilization report (d == disk)
-x : Display extended statistics including disk utilization
Ответ более сложный, потому что это тонкая проблема. Не все хранилища созданы равными, и для разных типов работ требуются разные типы хранилищ.
Наиболее распространенные виды хранения и их измерительные характеристики:
- Случайные операции ввода-вывода с небольшими блоками: обычно базы данных, иногда общие офисные файлы, узким местом для многих рабочих нагрузок, выполняющих этот тип работы, являются операции ввода-вывода, предполагающие в основном чтение, в основном случайные (непредсказуемые), главным образом, небольшие блоки ввода-вывода. Этот тип работы обычно выполняется для небольших наборов данных, поэтому SSD является оптимальным. SSD не имеют движущихся частей и, как правило, могут доставлять тысячи операций ввода-вывода каждый. Кэширование здесь чрезвычайно эффективно, потому что записи обычно намного реже, чем чтения, и все записи кэшируются, что приводит к очень низкой задержке. Измерением этого хранилища является задержка и максимальная скорость ввода-вывода (а также то, насколько велика задержка при узких операциях ввода-вывода).
- Потоковый ввод-вывод: обычно резервные копии, иногда общие папки для медиа-каналов, узким местом, скорее всего, будет количество байтов в секунду, которое вы можете передавать. Запись здесь также выигрывает от кеша, но если он действительно потоковый дольше, чем короткий всплеск активности, кеш насыщается, а наблюдаемая скорость - это, по сути, скорость, с которой кеш может прерывать запись на диск. В этой категории размер хранилища, скорее всего, будет большим, и поскольку твердотельные накопители, хотя они и являются самыми быстрыми, не на порядок быстрее для потокового ввода-вывода, чем для диска (как и для небольших случайных операций ввода-вывода), вы Посмотрю штатные диски для этого. 15 тыс. Об / мин, 10 тыс. Об / мин, 7,2 тыс. Об / мин. Во многих случаях, если размер важнее скорости, вы увидите большие медленные диски (SAS или SATA, расположенные рядом) с емкостью 1 ТБ-6 ТБ и скоростью вращения шпинделя 7,2 К / мин.
- Смешанная нагрузка: обычно гипервизоры. Они берут кучу потоковых виртуальных машин ввода-вывода, кучу небольших блоков случайных виртуальных машин ввода-вывода и кучу системных задач, которые обеспечивают такие функции гипервизора, как моментальные снимки и перемещение машин между пулами хранения, и помещают их в одну и ту же очередь ввода-вывода. Вам будет труднее всего обслуживать этот тип ввода-вывода с помощью одного уровня диска, поэтому лучшие практики в совместно используемом хранилище (например, SAN или NAS) должны использовать несколько типов дисков и интеллектуальных данных уровня хранилища, которые пытаются обслуживать случайные данные. Горячие точки ввода / вывода с SSD и потоковый ввод / вывод с приводами шпинделя. Измерением этого типа хранилища является задержка и пиковое число операций ввода-вывода в секунду, а также пропускная способность в байтах / с.