- PVSM.RU - https://www.pvsm.ru -
Наши клиенты часто задают вопросы о том, какое из поддерживаемых в VMmanager [1]типов хранилищ данных самое лучшее, самое быстрое, и какое выбрать в их случае. К сожалению, ответить на этот вопрос просто так не получится.
Поэтому мы решили провести тестирование производительности хранилищ данных.

Компания ISPsystem еще в начале марта 2013 анонсировала [2] выход нового программного продукта для управления виртуализацией — VMmanager. Решение адаптировано как для виртуальных машин, так и для построения облака.
VMmanager поддерживает несколько типов хранилищ данных. Под термином “хранилище данных” подразумевается описание способа хранения виртуальных дисков. Эти типы разделяются на сетевые и локальные. К сетевым относятся: iSCSI [4], NFS [5] и RBD [6]. К локальным — LVM и DIR (файловая система).
Каждое из представленных имеет свои недостатки и преимущества. К примеру, при использовании сетевых хранилищ данных, когда встает вопрос миграции виртуальной машины, нет необходимости переносить образ на другой узел кластера.
Как наиболее доступные и распространенные, мы решили взять локальные хранилища данных LVM, DIR (с форматом RAW и форматом Qcow2) чтобы ответить на вопрос: какое из локальных хранилищ наиболее быстрое при чтении или записи.
Для справки:
Для тестирования был выбран сервер такой конфигурации:
Само тестирование проводилось с помощью приложения fio, которое было описано в статьеина amaramo [9] — “Как правильно мерять производительность диска” [10]. Утилита доступна в на официальном сайте [11] в виде исходных кодов.
Мы воспользовались репозитарием EPEL для установки в Centos:
Проводилось отдельное тестирование как чтения, так и записи. В качестве ключевого значение было выбрано количество IOPS [13].
Параметры fio были следующие:
Тестирование чтения:
[readtest]
blocksize=128k
filename=/dev/vdb
rw=randread
direct=1
buffered=0
ioengine=libaio
iodepth=16
Тестирование записи:
[writetest]
blocksize=128k
size=100%
filename=/dev/vdb
rw=randwrite
direct=1
buffered=0
ioengine=libaio
iodepth=16
Каждый тест запускался по три раза. Перед каждым запуском диск заполнялся “нулями” с помощью приложения dd:
и сбрасывался дисковый кэш операционной системы:
Так как тестирование производилось на том же физическом массиве, где установлена операционная система, то системные приложения могли влиять на полученные значения. Поэтому в качестве результирующего значение бралось медиана [14]. Так как при некоторых запусках значение отличалось на порядок.
Для тестирования создавался виртуальный диск размером 50000 МБ. Размер взят не случайно. Как наиболее ходовой размер диска для виртуальных серверов. Все диски к виртуальным машинами подключались с использование драйвера virtio. Паравиртуальные драйвера (virtio) используются при работе с основными устройствами в виртуальном окружении. Использование этих драйверов в общем случае повышает производительность виртуальной дисковой подсистемы. Эти драйвера присутствуют в ядре Linux начиная с 2.6.25 версии.
При первом способе тестирования использовался sda4 (на котором позже и создавался как LVM, так и диски для виртуальных машин) с добавлением в параметрах fio — size=50G.
Для тестирования при втором способе создавалась LVM группа томов, и в этой группе LVM раздел размером 500000 МБ, как для виртуальной машины.
При тестировании хранилища DIR c форматами RAW и Qcow2 сами образы дисков располагались в виде файлов в файловой системе ext4 в директории /vm.
В пятом способе тестирования делался один проход и заполнение диска “нулями” не проводилось. Так как интересовала производительность как раз сразу после создания снимка файловой системы.
Таблица результатов
| № | Тип хранилища | Результат теста на чтение, IOPS | Результат теста на запись, IOPS |
| 1 | Чтение/запись на физическом сервере | 843 | 331 |
| 2 | LVM-раздел на физическом сервере | 848 | 559 |
| 3 | Виртуальная машина на DIR (RAW) | 668 | 545 |
| 4 | Виртуальная машина на DIR (Qcow2) | 621 | 463 |
| 5 | Виртуальная машина на DIR (Qcow2) + snapshot | 615 | 56 |
| 6 | Виртуальная машина на LVM | 854 | 557 |
Исходя из данных таблицы, можно придти к следующим выводам.
Автор: ksenyaph
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/53204
Ссылки в тексте:
[1] VMmanager : http://www.ispsystem.com/ru/software/vmmanager/documentation
[2] анонсировала: http://ispsystem.com/ru/news/vmmanager
[3] хостинга: https://www.reg.ru/?rlink=reflink-717
[4] iSCSI: http://ru.5.ispdoc.com/index.php/VMmanager:_iSCSI-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B5
[5] NFS: http://ru.5.ispdoc.com/index.php/VMmanager:_NFS_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B5
[6] RBD: http://ru.5.ispdoc.com/index.php/VMmanager:_RBD_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B5
[7] установке Ceph FS с краткой справкой: http://habrahabr.ru/post/179823/
[8] ilaskov: http://habrahabr.ru/users/ilaskov/
[9] amaramo: http://habrahabr.ru/users/amarao/
[10] “Как правильно мерять производительность диска”: http://habrahabr.ru/post/154235/
[11] официальном сайте: http://freecode.com/projects/fio
[12] wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm: http://www.google.com/url?q=http%3A%2F%2Fdl.fedoraproject.org%2Fpub%2Fepel%2F6%2Fx86_64%2Fepel-release-6-8.noarch.rpm&sa=D&sntz=1&usg=AFQjCNFp6ETVwd3mRwRuSy-NJPF7g6q9gA
[13] IOPS: http://ru.wikipedia.org/wiki/IOPS
[14] медиана: http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B4%D0%B8%D0%B0%D0%BD%D0%B0_(%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0)
[15] конвертация в формат Qcow2: http://ru.5.ispdoc.com/index.php/VMmanager:_%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0_%D0%B2_qcow2
[16] снимков файловой системы (снапшоты): http://ru.5.ispdoc.com/index.php/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BA%D0%B8_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B
[17] Источник: http://habrahabr.ru/post/209790/
Нажмите здесь для печати.