LINUX.ORG.RU
решено ФорумAdmin

KVM+QEMU vs. VMware или начинаю плакать

 , ,


0

4

Дорвался до реализации. Долго тестировали на малоответственных системах Proxmox 6.2. Все работает.

Затащили первый крупный сервачёк PostgreSQL на PVE, утром увидели что архивация баз пошла дольше, с 1 часа 15 минут до 1 часа 50 минут, ну считайте 30%.

Вроде выходной и морочится нет желания, коллега говорит что ядра AMD не равны ядрам Intel. Добрался до компа, зашел и сравнил, на обоих железках стоит CPU(s) 32 x AMD Opteron(tm) Processor 6376 (2 Sockets).

Что делать?

И так, работает скрипт архивации:

nice -n 19 ionice -c3 pg_dump -d $DBNAME -h ${SERVERNAME} -p $PORT -U ${USERNAME} -w | pigz > ${ARCHIVEDIR}'/'${DBNAME}'/'${DBNAME}'_'$SUFFIX'.dump.gz';

Вот до копейки, виртуалка перенесена копированием образов диска без конвертации. Объем ОЗУ аналогичен, количество ядер аналогично, и там и там SSD (Optane vs. Samsung NVme)



Последнее исправление: Shulman (всего исправлений: 3)

Ядра бульдозера-бобкэта это и есть 50% производительности от ядер хасвела, раз уж разговор за ДДР3 эпоху.

Так что ой, всё может быть.

anonymous
()

А зачем менять вмварю, если на неё есть лицензии или хватает бесплатной части? Риальнэ же лучшая штука для сферического коня в вакууме при отсутствии четкой необходимости в ковырянии руками в чем-то очень конкретном.

П.с. Нашей самой старой вмваревской виртуалке, в которой бегает ещё 1с7.7, скоро стукнет 20 годиков и все 20 годиков она усердно работает

rukez ★★★★
()
Последнее исправление: rukez (всего исправлений: 1)
Ответ на: комментарий от Shulman

Ой как некультурно кастить людей вот прям так.

Как обустроен виртуальный диск? VirtIO SCSI, симуляция SATA, IDE? Где образ? ФС, LVM, что-либо более мудрёное в духе iscsi?

Я увидел весьма заметный прирост после смены настройки кеширования с дефолтной на «Write back».

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

VirtIO SCSI, Cache: Default (No cache), SSD emulation: No, образ raw лежит на LVM

Shulman
() автор топика
Последнее исправление: Shulman (всего исправлений: 1)

(Optane vs. Samsung NVme)

Это очень разные устройства по IOps-ам и рандомным операциям

unanimous ★★★★★
()

Не понял, а в чем проблема?

zgen ★★★★★
()
Ответ на: комментарий от PolarFox

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

сегодня будем мерить

Shulman
() автор топика
Ответ на: комментарий от Shulman

Я чота туго понимаю, что вы там измерять собрались? Разницу между Атлонами/Феномами (именно эти ядра используются в твоем АМД сервере) и Интелями (какими??) ?

anonymous
()
Ответ на: комментарий от Shulman

Сделай cpu pinning, чтобы каждый поток вмки сидел на своем потоке реального процессора. Если не воткнул, воткни сеть virtio. Отключи ballooning.

pekmop1024 ★★★★★
()

игра в угадаку? где xml? сделать везде виртио, cpu pinning, iothread pinning.

s-o
()

Раз пошла песня про qemu/kvm, спрошу тут.

Развернул у себя самый минимум в виде virt-manager. Так вот, беда приключилась. Указал при создании ВМ размер дисков для Ш10 в 80ГБ, поставился, забыл. Потом заметил (зоркий сокол) что как-то долго образы создавались. Проверил, размер на диске 80ГБ! Обомлел :-(

Ужать то я их ужал, qemu-img convert -0 …qcow2… s_file dst_file

До 14ГБ инсталяшку винды, но это реальный осадочек остался. Sdelete и пару раз загнать 80ГБ на ссд, это таки реальные деньги в виде жизни ячеек.

Короче, как с этим непотребством бороться?

anonymous
()
Ответ на: комментарий от anonymous

В доках к Проксмоксу как-то так спокойно описывается процедура ужатия образов, то вроде всем по барабану на свободное место, но мне моя подозрительность подсказывает, что это далеко не так.

anonymous
()
Ответ на: комментарий от anonymous

умвр, дефолт.

ЗЫ Все же стоит покупать нормальные ссд и не бояться записи (за 7 месяцев ниже).

Data Units Read:                    63 183 077 [32,3 TB]
Data Units Written:                 63 182 928 [32,3 TB]
s-o
()
Ответ на: комментарий от anonymous

Ты тут какую-то дичь втираешь… если ты не планируешь теми дисками 30 лет пользоваться, забудь и забей. У тебя не одна плафторма сменится/сдохнет до того, как ты ресурс ссд ичерпаешь

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Нет, не совсем дичь. Когда у тебя при установке винда форматирует виртуальный диск, скажем в vmware, то места на диске этот образ никак не 80 ГБ занимает…

В данном случаем дичь именно в том, что у меня распухли образы дисков и я грешу именно на virt-manager. Я там бегло глянул, что в опциях создания виртдиска предлагают, кажется там собака порылась.

Но дичь именно в том, что 80ГБ на 240ГБ ссд это много, но ссд это косвенно касается кучей перезаписей, которых можно было бы избежать.

anonymous
()
Ответ на: комментарий от anonymous

то места на диске этот образ никак не 80 ГБ занимает

Есть разные сценарии. Я предпочитаю использовать pre-allocated образы, т.к. производительность важнее даже на десктопе. Ну а на выделенных гипервизорах - LVM only.

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

хватит уже повторять эту чушь…

pekmop1024 ★★★★★
()
Ответ на: комментарий от Samamy

Дядька, спасибо! Проблема решена.

Спешка, руки, чтение наискось.. %-) ССЗБ, но таки да, по дефолту такое делать низя.

anonymous
()
Ответ на: комментарий от pekmop1024

От смотри к чему мои наскоки привели:

Создались образы виртуалки = 80ГБ Установилась винда = 25ГБ Зоркий глаз раздуплился и заметил всё это непотребство.

Чтение, надеюсь, не деструктивное? Ну да ладно, поверим что не деструктивное %-)

Далее в виндовой виртуалке (тут тупанул, на ссд) запускаем, по рекомендации документации Проксмокса, Sdelete, который прошуршал эти самые почти 80ГБ.

Далее копируем на механику и там ужимаем, как рекомендует документация проксмокса.

Ужатое копируем обратно на ссд, и дропаем 80ГБ оригинал

Потом еще и fstrim

anonymous
()
Ответ на: комментарий от pekmop1024

Профессор, был бы я доцентом, я бы вам техпаспорт от ссд приволок :-)) Распечатанный на принтере :-))

anonymous
()
Ответ на: комментарий от anonymous

Но в любом случае Samamy указал где я тупанул. Надо либо внимательно проверять опции в витр.менеджере, либо руками вбивать команду на создание образа, это не сложно.

anonymous
()
fio --thread --direct=1 --rw=randread --ioengine=libaio --bs=4k --iodepth=32 --numjobs=`nproc` --name=foo --time_based --runtime=30 --group_reporting --filename=foo --size=10G

Потом randwrite. Прогнать на обоих виртуалках, сравнить IOPS.

CPU model какой стоит? Правильный:

<cpu mode='host-passthrough' check='partial'/>

Если на хосте transparent hugepages не включен, то имеет смысл виртуалку на hugepages прямо разместить.

mv ★★★★★
()
Последнее исправление: mv (всего исправлений: 1)

Блин, как создать целую науку, вместо вендорских настроек для каждого профиля ОС?

Red Hat Enterprise Linux 7 Virtualization Tuning and Optimization Guide

anonymous
()
Ответ на: комментарий от mv

Пока что предложили изменить cpu type с kvm_64 на host.

Сейчас проверить не могу, жду вечера.

Shulman
() автор топика
Ответ на: комментарий от Shulman

Так ты бессвязный бред пишешь.

Взять бы прямо и чётко сказать, мол пересели с вмвари на proxmox, бекапы бд начали тормозить, железо то же, всё то же, втф? Нет же, надо высер по-обычаю размазать.

WitcherGeralt ★★
()
Ответ на: комментарий от Shulman

Привык уже. Да и не один ты на лоре такой, у вас будто затянувшиеся упорийские игры, где победителем признают обладателя самого упоротого поста.

Потусуйся годик с папуасами, и их начнёшь понимать.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Да ладно тебе, нормальный топик. Мне тоже qemu/kvm понадобился и, как выше видно, споткнулся я там прилично. А тут всё разжевали, пендаля дали в нужном направлении.

Еще бы кто подсказал, как на virtio scsi TRIM делать, так вообще красота была бы :-)

anonymous
()
Ответ на: комментарий от mv

Спасибо за скриптец, 769Кбайт/с получилось на 10 летнем ноутбучном винте

fio --thread --direct=1 --rw=randread --ioengine=libaio --bs=4k --iodepth=32 --numjobs=`nproc` --name=foo --time_based --runtime=30 --group_reporting --filename=foo --size=10G 

anonymous
()

После смены типа процессора на host, время архивации сократилось до 59-60 минут, что на 15 минут меньше чем было

Shulman
() автор топика
Ответ на: комментарий от anonymous

мы проверяли как что работает, заводили вируталки с вендой, переносили виртуалки с вендой, в общем скорее сказать не тестировали а экспериментировали и изучали. Ну можно сказать что месяц я при этом в отпуске был.

А в проде попробовать решили в пятницу. Сегодня решили проблемы производительности.

Shulman
() автор топика
Ответ на: комментарий от anonymous

Еще бы кто подсказал, как на virtio scsi TRIM делать, так вообще красота была бы :-)

А оно разве не работает (в proxmox, например)?

А что в качестве бэкенда (qcow, lvm, zfs)?

Harliff ★★★★★
()
Последнее исправление: Harliff (всего исправлений: 1)
Ответ на: комментарий от Harliff

Ну я тут шапочку Шульмана подхватил, по его стопам иду. qcow2 + virt.manager.

В принципе разобрался, там нужно все опции включить. cache = writeback discard=unmap, detect zeroеs = unmap; Обещают что заработает. Но чота у меня не взлетело, но уже не важно, так как образ диска переужал (см выше). Формально, так сказать, проинформировался, как это делается.

Больше вопросов теперь к мейтейнерам virtmanager-a, ну и прокладке между клавой и стулом :)

anonymous
()
Ответ на: комментарий от anonymous

У меня пока всё просто убунту + virtmanager + обычные диски в ext4, на которых лежат файлы виртуалок.

anonymous
()
Ответ на: комментарий от anonymous
 <driver name='qemu' type='qcow2' cache='writeback' io='threads' discard='unmap' detect_zeroes='unmap'/>
      <source file='/MY-VM/ANON-LOR-w10-vm/ANON-LOR_w10_vm_root.qcow2' index='2'/>

лежит на ссд, раздел в ехт4. При попытке изнутри Ш10 сделать оптимизацию, начинает ДЕФРАГМЕНТИРОВАТЬ -=8()

2й образ диска web_cache на механике.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.