1

Все началось с того, что у меня на госте начала просидать база на MS SQL. Диагностика показала, что проблема явно с диском. После некоторых телодвижений так же отвалились сетевые карты virtio.

Пересадил базы от безысходности на iSCSI созданные там же в virt-manager. Но там скорость еще меньше. Что случилось с дисками и с их скоростью? Я в отчаянии. Время до понедельника совсем не много осталось. Голова кипит.

У меня три диска. Первый virtio с виндой на qcow2 с одним снапшотом. Второй Virtio в формате raw и третий quemu в raw (созданный как iscsi в virt-managere)

Во пару скринов тестов
Винт где раньше была база
http://storage5.static.itmages.ru/i/14/0202/s_1391358012_6722108_feec35c39e.png
Винт, где сейчас база
http://storage7.static.itmages.ru/i/14/0202/s_1391358053_9176945_2b0baeae75.png
Винт с системой Windows 2008 (Вообще не дождался окончания)
http://storage7.static.itmages.ru/i/14/0202/s_1391358413_4030683_9fffb8f5e9.png

И теперь сравните с тестами http://openadmins.ru/blog/virtio-ide-be … s2008srvr2

Мои и рядом не стояли!! Умоляю помочь.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

2

Вот дамп виртуалки

+ открыть спойлер
<domain type='kvm' id='10'>
  <name>win2k8</name>
  <uuid>6958dd50-6449-c6b4-593a-92cbded9b058</uuid>
  <memory unit='KiB'>6242304</memory>
  <currentMemory unit='KiB'>6242304</currentMemory>
  <vcpu placement='static' cpuset='4-7,12-15'>6</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.5.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Nehalem</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='pbe'/>
    <feature policy='require' name='rdtscp'/>
    <feature policy='require' name='est'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='ds'/>
    <feature policy='require' name='smx'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='dtes64'/>
    <feature policy='require' name='tm2'/>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='dca'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='tm'/>
    <feature policy='require' name='pdcm'/>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='ds_cpl'/>
    <feature policy='require' name='xtpr'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='monitor'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/lib/libvirt/images/win2k8_1-snap1.img'/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/win2k8-1.img'/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/virtio-win-0.1-74.iso'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/win2k8-2.img'/>
      <target dev='sda' bus='scsi'/>
      <alias name='scsi0-0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb0'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb0'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb0'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/>
    </controller>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <alias name='scsi0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:05:d5:47'/>
      <source bridge='bridge0'/>
      <target dev='vnet2'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:57:e6:0e'/>
      <source bridge='bridge1'/>
      <target dev='vnet3'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <interface type='direct'>
      <mac address='52:54:00:e5:b2:d6'/>
      <source dev='eth0' mode='bridge'/>
      <target dev='macvtap0'/>
      <model type='virtio'/>
      <alias name='net2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
    </interface>
    <interface type='direct'>
      <mac address='52:54:00:00:d2:b5'/>
      <source dev='eth1' mode='bridge'/>
      <target dev='macvtap1'/>
      <model type='virtio'/>
      <alias name='net3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/2'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/2'>
      <source path='/dev/pts/2'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5903' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none'/>
</domain>
MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

3 (02.02.2014 22:59:26 отредактировано dyasny)

а база где? на котором из дисков в смысле?

и еще, как выглядит маунтпоинт /var/lib/libvirt?

4

dyasny,
База сейчас на втором рисунке. Перетащил с virtio диска.

 Консоль:
[root@micro ~]# ll  /var/lib/libvirt
итого 26652
drwx--x--x  2 root root     4096 Янв 28 22:16 boot
drwxr-xr-x  2 root root     4096 Янв 28 22:16 dnsmasq
drwx--x--x  2 root root     4096 Янв 28 22:16 filesystems
drwx--x--x  2 root root     4096 Мар  1  2012 im
lrwxrwxrwx  1 root root       21 Мар 16  2012 images -> /home/xlin/iso/images
-rw-r--r--  1 root root 27262976 Май 19  2013 imagesboot-nonfree.iso
drwx------  2 root root     4096 Янв 28 22:16 lxc
drwx------  2 root root     4096 Янв 28 22:16 network
drwxr-x---. 5 qemu qemu     4096 Фев  2 22:31 qemu

в images идет симлинк на другой диск. В /etc/fstab отдельно ничего не монтировал

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

5

А логи хоста ничего не говорят?

6

XliN пишет:

Все началось с того, что у меня на госте начала просидать база на MS SQL.

Кстати, у меня ситуация похожая. А именно есть KVM-виртуалка с WinXP. Так вот, начиная с середины декабря (тогда заметил) резко упала её производительность. Работа на "локальном" виртуальном диске тормозит  неимоверно. Тривиальное копирование информации там идет со скоростью несколько десятков КИЛОбайт в секунду.
Ну а далее - есть своп этой самой XP, который работает с такой же скоростью. Ну и сама ось из за тормозного свопа еле ползает.
Почему это произошло - не знаю, но склонен винить именно KVM/QEMU. Так как в ту настроенную машину я не лазаю, она как робот работает в полном автомате. А производительность её меня по любому устраивает. Но всё равно неприятно.

7

Cruiser78, А хостовая какая ОС? Не  CentOS? Можент после обновления на 6.5 все и началось.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

8

Можно поиграться с cache='none', но это при условии, что контроллер с BBU, иначе очень опасно.

9

Macumazan пишет:

cache='none'

У меня на тестовой ОС на диске стоит cache='none'. Скорость не блещет.

Macumazan пишет:

что контроллер с BBU, иначе очень опасно

Как это узнать и чем опасно?

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

10

Пришла идея пресадить виртуалку на LVM отдельный том. Т.е. Отрезать кусок уже у существующей. Склонироватиь туда гостя и проверить скорость. Прокатит?
Можно ли img туда залить?

Прочитал в инете, что если виртуака крутится на LVM операции ввода-вывода у нее быстрее.

З.Ы, Жду вечера, пока пользователи не пойдут домой. Т.к. нужно будет размонтировать основной раздел для операции.

Что думаете? Есть кто шарит в LVM? Я с ним мало игрался. Буду делать по этой инструкции http://irternus.blogspot.ru/2011/07/lvm.html

З.Ы,Ы. Если делать клонирование, нельзя ли выбрать один диск гостя для клона или он все попытается запендюрить?

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

11 (03.02.2014 16:19:13 отредактировано Macumazan)

XliN пишет:
Macumazan пишет:

cache='none'

У меня на тестовой ОС на диске стоит cache='none'. Скорость не блещет.

Macumazan пишет:

что контроллер с BBU, иначе очень опасно

Как это узнать и чем опасно?

image образы на файловой системе более чем подвержены разрушению при критичных сбоях или внезапном отключении питания.

А наличие BBU надо смотреть , например,  через утиль для управления контроллером от его производителя.

12

XliN пишет:

Пришла идея пресадить виртуалку на LVM отдельный том. Т.е. Отрезать кусок уже у существующей. Склонироватиь туда гостя и проверить скорость. Прокатит?
Можно ли img туда залить?
Прочитал в инете, что если виртуака крутится на LVM операции ввода-вывода у нее быстрее.
З.Ы, Жду вечера, пока пользователи не пойдут домой. Т.к. нужно будет размонтировать основной раздел для операции.
Что думаете? Есть кто шарит в LVM? Я с ним мало игрался. Буду делать по этой инструкции http://irternus.blogspot.ru/2011/07/lvm.html
З.Ы,Ы. Если делать клонирование, нельзя ли выбрать один диск гостя для клона или он все попытается запендюрить?

qemu-img convert из файла в LV работает без проблем. я все таки считаю что тут проблема со скоростью физ. дисков или с драйвером внутр ВМ, пара процентов производительности полученная от переноса на блочное устройство тут мало что дадут.

13

XliN пишет:

Cruiser78, А хостовая какая ОС? Не  CentOS? Можент после обновления на 6.5 все и началось.

Про хост - угадал. Но вот тормоза начались сильно ранее, по крайней мере - за неделю-другую до моего критического обновления, кода все мои файловые сервера женским половым органом накрылись.  По крайней мере именно тогда обратил на это дело внимание. Пришла сотрудница из сопровождающей Консультант+ организации проверить его работу и уперлась рогом в те тормоза. Потом я немного поперекидывал XP-образ, поискал более быстрые диски, но увы, это не сильно помогло. Ну и сейчас - еле  ползает. А у топикстартера, сильно подозреваю, собака зарылась в меленной работе кэша.

14

XliN пишет:

Можно ли img туда залить?

Можно. Я начинал работать с виртуалками именно с img. Потом развернул такой бутерброд на двух серверах:
1. LVM на каждом хосту делает разделы, которые далее объединяется по
2. DRBD в режиме primary/secobdary для обеспечения высокой  доступности.
3. Далее, на drbd-томе поднимал свой LVM в котором
4. некоторые разделы раздавались под виртуалки по iSCSI.
Переливал виртуалки из img в разделы iSCSI с помощью тривиального tar'а.
Правда, XP так и не стал трогать, она у меня именно в img-формате осталась. Я просто не знаю, можно ли перелить таром ntfs. Тем более, в оффтопике есть неперемещаемые данные...

Ну а на новый год получил подарок от сообщества - 1 и 2 работать осталось, а вот 3 и выше навернулось медным тазом.  И сейчас - поднять на drbd-томе группу томов LVM - никак.

15

dyasny пишет:

проблема со скоростью физ. дисков или с драйвером внутр ВМ,

Сегодня проверю скорость дисков в гостях Linux. Тогда можно будет сделать вывод.

Cruiser78 пишет:

А у топикстартера, сильно подозреваю, собака зарылась в меленной работе кэша.

В хосте? Может я чего накуралесил в настройках хоста. Где можно посмотреть?

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

16

Получил ответ в рассылке, но что то не могу понять. Помогите перевести. Понял только то, что как будто у меня на хосте проблема. Заранее благодарен.

We may have seen this as well. Initial speed tests were actually
pretty good, but after running a few IO test it would actually cause
the physical disks that were dedicated to the windows vm host side to
be stuck at 100% util with no throughput for 30 seconds at a time
according to iostat. We were using noop scheduler on the disks. I
think it's something with your host, as we stopped seeing it when we
moved from stock CentOS 6.5 kernel to vanilla 3.10 kernel. Sorry I
don't have more info on the cause, we saw the issue for a few days but
were already upgrading due to the need for vxlan, so we didn't bother
investigating.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

17

просто пишут что была такая же проблема, но они перевели хост на ванильное ядро и все исчезло.

в другом месте я видел упоминания того, что такие проблемы на одном хосте были у вин2008, но у установленной там же 2008R2 все работало отлично

18 (04.02.2014 21:38:27 отредактировано semperN)

Тоже были проблемы с быстродействием базы под виртуальной машины. В моем случае мне пришлось приобрести ssd и туда скинуть базу. Так же сменил планировщик на deadline и пару тюнингов в fstab. В твоем случае думаю стоит хотя бы img образ базы перенести на отдельный жесткий диск. И только VirtiO, iSCSI с гигабитной сеткой думаю не чего хорошего не выйдет, канал узкий все же.

19

semperN пишет:

iSCSI с гигабитной сеткой думаю не чего хорошего не выйдет, канал узкий все же

iSCSI с одним гигабитом это ой. но если с multipath и несколькими линками, то работает очень хорошо.

20

dyasny пишет:
semperN пишет:

iSCSI с гигабитной сеткой думаю не чего хорошего не выйдет, канал узкий все же

iSCSI с одним гигабитом это ой. но если с multipath и несколькими линками, то работает очень хорошо.

Полностью согласен ab но полагаю у XliN только гигабитный интерфейс, бюджет все же как и у меня ab

21

dyasny пишет:
semperN пишет:

iSCSI с гигабитной сеткой думаю не чего хорошего не выйдет, канал узкий все же

iSCSI с одним гигабитом это ой. но если с multipath и несколькими линками, то работает очень хорошо.

Да ладно людей то пугать... Сравним скорость доступа к обычному SATA-HDD. Это мегабайт 70-80 в секунду будет. Верно?  А какова пропускная способность той же гигабитной сети? Да те же 70-80 мегабайт. Ладно, пусть 50-60. Не сильно и медленнее. Так что скорость на гигабитной сетке вполне сопоставима со скоростью работы на типовом SATA-HDD. Да, чуть не забыл оговорить - на выделенной для этих целей гигабитной сети, там юзерей с их трафиком быть не должно.

Делал я iSCSI на гигабитке. Все нормально работало.

22

Пробежала мысль обновить ядро до 3.10. Как думаете хост не упадет? Кто пробовал обновлять CentOS 6.5(4)?

Ядро от сюда хочу взять с elrepo. Вот только какое?
http://elrepo.reloumirrors.net/kernel/el6/x86_64/RPMS/

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

23

Ядро потянет за собой «околоядерные» пакеты - udevsystemd, kmod, kernel-modules, kernel-firmware. Ну и есть еще приложения, завязанные на ядро - виртуализаторы там всякие и прочие гипервизоры, файловые системы и утилиты для их обслуживания...

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

24

XliN пишет:

Вот только какое?

Рабочие все, можно не беспокоиться.

yars пишет:

Ядро потянет за собой «околоядерные» пакеты - systemd

В Centos нет systemd, бог миловал.

In Tux We Trust     Centos 6.5
Самурай без меча подобен самураю с мечом, но только без меча, однако как-будто с мечом, которого у него нет, но и без него он как с ним...

25 (05.02.2014 00:47:36 отредактировано Macumazan)

Cruiser78, Линейная скорость? Да, возможно. В моем сетапе на большом количестве мелких IO софтовый iscsi слил по полной scsi диску пятилеилетней давности.

26

Cruiser78 пишет:

Да ладно людей то пугать... Сравним скорость доступа к обычному SATA-HDD. Это мегабайт 70-80 в секунду будет. Верно?  А какова пропускная способность той же гигабитной сети? Да те же 70-80 мегабайт. Ладно, пусть 50-60. Не сильно и медленнее. Так что скорость на гигабитной сетке вполне сопоставима со скоростью работы на типовом SATA-HDD. Да, чуть не забыл оговорить - на выделенной для этих целей гигабитной сети, там юзерей с их трафиком быть не должно.
Делал я iSCSI на гигабитке. Все нормально работало.

пропускная способность это еще не все. есть еще RT/latency, а они намного важнее.

27

redix, Можно обновлять? Кернел паник не прилетит? )) Меня KVM волнует больше всего.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

28

XliN, у тебя же прежнее ядро останется, если что перегрузишся на него. Ставил 3.12 работало нормально, и не только я.

In Tux We Trust     Centos 6.5
Самурай без меча подобен самураю с мечом, но только без меча, однако как-будто с мечом, которого у него нет, но и без него он как с ним...

29

XliN пишет:

redix, Можно обновлять? Кернел паник не прилетит? )) Меня KVM волнует больше всего.

Подожди у тебя же проблема со скоростью работы дисковой подсистемы так? Новое ядро тебе не решит эту проблему.

30

semperN пишет:

Подожди у тебя же проблема со скоростью работы дисковой подсистемы так? Новое ядро тебе не решит эту проблему.

Ну как? Диски работать должны нормально. Вчера ковырялся с настройками хоста и сейчас нет таких провалов и скорость в районе 60-70 Метров. Кстати это на iSCSI, а на virtio чистом меньше (((

Проверил скорость дисков на госте с XEN и Windows 2003, Так там тоже скорость мала. А это два разных сервера.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"