Назад | Перейти на главную страницу

SSD + MDRAID + LVM + KVM приводит к снижению производительности, чем ожидалось

Мы используем kvm для виртуализации, образы дисков хранятся в виде логических томов. Логические тома хранятся в группе массивов программного RAID1 (mdadm), состоящих из твердотельных накопителей Intel DCS3500 (каждый массив является физическим томом в группе томов).

Если я создаю логический том внутри этой группы томов и использую fio для определения IOPS, я получаю около 40K IOPS для блоков произвольной записи по 4 КБ. Отлично. iostat показывает, что оба SSD используются примерно на 100%. Если я создаю виртуальную машину, которая использует один и тот же логический том для хранения, и запускаю ту же команду fio, я сначала получаю 20K IOPS (отлично), но через 30 секунд или около того оно упадет до 7-8K. Странно то, что iostat теперь показывает, что один SSD используется на 100%, а другой - только на 45%.

Вот графики с течением времени (сделано с помощью iostat -x 2 на гипервизоре)

Как вы видите, сначала кажется, что узким местом является sdn, но затем sdm начинает делать что-то, что утаскивает массив, и теперь sdn занят только наполовину.

Однако по какой-то причине это происходит только в том случае, если тест выполняется внутри виртуальной машины. Если я запускаю его с гипервизора, все в порядке и производительность не падает как минимум 2 минуты. Выбор драйвера виртуального диска, ide или virtio не влияет на результат.

Кто-нибудь раньше сталкивался с такой проблемой? Какая основная причина? Как мне увеличить производительность?

РЕДАКТИРОВАТЬ: Дополнительная информация по запросу (по какой-то причине я не думал об этом в первую очередь)

OS: CentOS 6.4
Kernel: 2.6.32-358.el6.x86_64

mdadm --detail / dev / md104

/dev/md104:
        Version : 1.2
  Creation Time : Mon Feb  3 20:02:02 2014
     Raid Level : raid1
     Array Size : 468720320 (447.01 GiB 479.97 GB)
  Used Dev Size : 468720320 (447.01 GiB 479.97 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Wed Feb 26 14:50:36 2014
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : xxx:104  (local to host xxx)
           UUID : aaaaaaaa:bbbbbbbb:cccccccc:dddddddd
         Events : 28

    Number   Major   Minor   RaidDevice State
       0       8      192        0      active sync   /dev/sdm
       1       8      208        1      active sync   /dev/sdn

Я отключил идентификатор пользователя и имя хоста.