Все началось с того, что у меня на госте начала просидать база на MS SQL. Диагностика показала, что проблема явно с диском. После некоторых телодвижений так же отвалились сетевые карты virtio.
Пересадил базы от безысходности на iSCSI созданные там же в virt-manager. Но там скорость еще меньше. Что случилось с дисками и с их скоростью? Я в отчаянии. Время до понедельника совсем не много осталось. Голова кипит.
У меня три диска. Первый virtio с виндой на qcow2 с одним снапшотом. Второй Virtio в формате raw и третий quemu в raw (созданный как iscsi в virt-managere)
Во пару скринов тестов
Винт где раньше была база

Винт, где сейчас база

Винт с системой Windows 2008 (Вообще не дождался окончания)

И теперь сравните с тестами http://openadmins.ru/blog/virtio-ide-benchmark-windows2008srvr2
Мои и рядом не стояли!! Умоляю помочь.
Скорость дисков virtio и qemu на шине iSCSI от Virtio
Вот дамп виртуалки
Показать
<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>
а база где? на котором из дисков в смысле?
и еще, как выглядит маунтпоинт /var/lib/libvirt?
dyasny,
База сейчас на втором рисунке. Перетащил с virtio диска.
[console][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[/console]
в images идет симлинк на другой диск. В /etc/fstab отдельно ничего не монтировал
А логи хоста ничего не говорят?
Все началось с того, что у меня на госте начала просидать база на MS SQL.
Кстати, у меня ситуация похожая. А именно есть KVM-виртуалка с WinXP. Так вот, начиная с середины декабря (тогда заметил) резко упала её производительность. Работа на "локальном" виртуальном диске тормозит неимоверно. Тривиальное копирование информации там идет со скоростью несколько десятков КИЛОбайт в секунду.
Ну а далее - есть своп этой самой XP, который работает с такой же скоростью. Ну и сама ось из за тормозного свопа еле ползает.
Почему это произошло - не знаю, но склонен винить именно KVM/QEMU. Так как в ту настроенную машину я не лазаю, она как робот работает в полном автомате. А производительность её меня по любому устраивает. Но всё равно неприятно.
Cruiser78, А хостовая какая ОС? Не CentOS? Можент после обновления на 6.5 все и началось.
Можно поиграться с cache='none', но это при условии, что контроллер с BBU, иначе очень опасно.
cache='none'
У меня на тестовой ОС на диске стоит cache='none'. Скорость не блещет.
что контроллер с BBU, иначе очень опасно
Как это узнать и чем опасно?
Пришла идея пресадить виртуалку на LVM отдельный том. Т.е. Отрезать кусок уже у существующей. Склонироватиь туда гостя и проверить скорость. Прокатит?
Можно ли img туда залить?
Прочитал в инете, что если виртуака крутится на LVM операции ввода-вывода у нее быстрее.
З.Ы, Жду вечера, пока пользователи не пойдут домой. Т.к. нужно будет размонтировать основной раздел для операции.
Что думаете? Есть кто шарит в LVM? Я с ним мало игрался. Буду делать по этой инструкции http://irternus.blogspot.ru/2011/07/lvm.html
З.Ы,Ы. Если делать клонирование, нельзя ли выбрать один диск гостя для клона или он все попытается запендюрить?
[quote="Macumazan"]cache='none'
У меня на тестовой ОС на диске стоит cache='none'. Скорость не блещет.
что контроллер с BBU, иначе очень опасно
Как это узнать и чем опасно?[/quote]
image образы на файловой системе более чем подвержены разрушению при критичных сбоях или внезапном отключении питания.
А наличие BBU надо смотреть , например, через утиль для управления контроллером от его производителя.
Пришла идея пресадить виртуалку на LVM отдельный том. Т.е. Отрезать кусок уже у существующей. Склонироватиь туда гостя и проверить скорость. Прокатит?
Можно ли img туда залить?
Прочитал в инете, что если виртуака крутится на LVM операции ввода-вывода у нее быстрее.
З.Ы, Жду вечера, пока пользователи не пойдут домой. Т.к. нужно будет размонтировать основной раздел для операции.
Что думаете? Есть кто шарит в LVM? Я с ним мало игрался. Буду делать по этой инструкции http://irternus.blogspot.ru/2011/07/lvm.html
З.Ы,Ы. Если делать клонирование, нельзя ли выбрать один диск гостя для клона или он все попытается запендюрить?
qemu-img convert из файла в LV работает без проблем. я все таки считаю что тут проблема со скоростью физ. дисков или с драйвером внутр ВМ, пара процентов производительности полученная от переноса на блочное устройство тут мало что дадут.
Cruiser78, А хостовая какая ОС? Не CentOS? Можент после обновления на 6.5 все и началось.
Про хост - угадал. Но вот тормоза начались сильно ранее, по крайней мере - за неделю-другую до моего критического обновления, кода все мои файловые сервера женским половым органом накрылись. По крайней мере именно тогда обратил на это дело внимание. Пришла сотрудница из сопровождающей Консультант+ организации проверить его работу и уперлась рогом в те тормоза. Потом я немного поперекидывал XP-образ, поискал более быстрые диски, но увы, это не сильно помогло. Ну и сейчас - еле ползает. А у топикстартера, сильно подозреваю, собака зарылась в меленной работе кэша.
Можно ли img туда залить?
Можно. Я начинал работать с виртуалками именно с img. Потом развернул такой бутерброд на двух серверах:
1. LVM на каждом хосту делает разделы, которые далее объединяется по
2. DRBD в режиме primary/secobdary для обеспечения высокой доступности.
3. Далее, на drbd-томе поднимал свой LVM в котором
4. некоторые разделы раздавались под виртуалки по iSCSI.
Переливал виртуалки из img в разделы iSCSI с помощью тривиального tar'а.
Правда, XP так и не стал трогать, она у меня именно в img-формате осталась. Я просто не знаю, можно ли перелить таром ntfs. Тем более, в оффтопике есть неперемещаемые данные...
Ну а на новый год получил подарок от сообщества - 1 и 2 работать осталось, а вот 3 и выше навернулось медным тазом. И сейчас - поднять на drbd-томе группу томов LVM - никак.
проблема со скоростью физ. дисков или с драйвером внутр ВМ,
Сегодня проверю скорость дисков в гостях Linux. Тогда можно будет сделать вывод.
А у топикстартера, сильно подозреваю, собака зарылась в меленной работе кэша.
В хосте? Может я чего накуралесил в настройках хоста. Где можно посмотреть?
Получил ответ в рассылке, но что то не могу понять. Помогите перевести. Понял только то, что как будто у меня на хосте проблема. Заранее благодарен.
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.
просто пишут что была такая же проблема, но они перевели хост на ванильное ядро и все исчезло.
в другом месте я видел упоминания того, что такие проблемы на одном хосте были у вин2008, но у установленной там же 2008R2 все работало отлично
Тоже были проблемы с быстродействием базы под виртуальной машины. В моем случае мне пришлось приобрести ssd и туда скинуть базу. Так же сменил планировщик на deadline и пару тюнингов в fstab. В твоем случае думаю стоит хотя бы img образ базы перенести на отдельный жесткий диск. И только VirtiO, iSCSI с гигабитной сеткой думаю не чего хорошего не выйдет, канал узкий все же.
iSCSI с гигабитной сеткой думаю не чего хорошего не выйдет, канал узкий все же
iSCSI с одним гигабитом это ой. но если с multipath и несколькими линками, то работает очень хорошо.
[quote="semperN"]iSCSI с гигабитной сеткой думаю не чего хорошего не выйдет, канал узкий все же
iSCSI с одним гигабитом это ой. но если с multipath и несколькими линками, то работает очень хорошо.[/quote]
Полностью согласен :) но полагаю у XliN только гигабитный интерфейс, бюджет все же как и у меня :)