LINUX.ORG.RU
ФорумAdmin

zfs kvm windows тормоза при записи

 , ,


0

2

Поднимаю хост виртуализации, который будет хостить в т.ч. и винду. Вот с ней и проблемы - при записи возникает какое-то паразитное чтение, которое все адски тормозит. При этом в винде этого чтения в ресурс мониторе не видно. Винда стоит на zfs блочном устройстве. Пул создан из 2 SAS в zfs RAID1. virtio везде. В QEMU кеширование writeback (при умолчательном nocache тормозило сильнее, но статы не смотрел)

zpool iostat 2

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
rpool        215G   341G      1     46  12.0K   757K
rpool        215G   341G  1.31K      4  10.4M   516K
rpool        215G   341G  2.72K    913  21.8M  35.9M
rpool        215G   341G  2.33K  1.68K  18.3M  16.5M
rpool        215G   341G  2.36K  1.49K  18.9M  11.4M
rpool        215G   341G  1.46K  1.40K  11.6M  59.2M
rpool        215G   341G      0  2.25K  4.00K  17.9M
rpool        215G   341G  2.26K  1.62K  18.1M  12.7M
rpool        215G   341G  2.55K  1.70K  20.4M  13.5M
rpool        215G   341G  2.21K  1.77K  17.7M  14.2M
rpool        216G   340G  2.42K  1.44K  19.4M  11.1M
rpool        216G   340G  2.46K  1.72K  19.7M  13.8M
rpool        216G   340G  2.26K  1.76K  18.1M  14.1M
rpool        216G   340G  2.63K  1.84K  21.0M  14.7M
rpool        216G   340G  2.14K  1.31K  17.1M  10.1M
rpool        216G   340G  2.23K  1.74K  17.8M  13.9M
rpool        216G   340G  2.36K  1.77K  18.9M  14.2M
rpool        216G   340G  2.35K  1.75K  18.8M  14.0M
rpool        216G   340G  2.16K  1.59K  17.0M  12.8M
rpool        216G   340G  2.51K  1.74K  20.0M  13.9M
rpool        215G   341G  2.00K    785  16.0M  5.69M
rpool        215G   341G  2.43K  1.72K  19.4M  13.7M
rpool        215G   341G  2.35K  1.83K  18.8M  14.6M
rpool        215G   341G  2.30K  1.69K  18.4M  13.6M
rpool        215G   341G  2.42K  1.76K  19.3M  14.1M
rpool        215G   341G  2.33K  1.76K  18.5M  14.1M
rpool        215G   341G  2.15K  1.62K  17.2M  13.1M
rpool        215G   341G  2.33K  1.76K  18.7M  14.1M
rpool        215G   341G  1.87K  1.56K  14.9M  41.5M
rpool        215G   341G      0  1.01K      0   120M
rpool        215G   341G     13    988   112K   100M
rpool        215G   341G      0  1.12K      0  31.2M
rpool        215G   341G    867  1.42K  6.77M  11.3M
rpool        215G   341G  2.27K  1.74K  18.2M  13.9M
rpool        215G   341G  2.39K  1.75K  19.1M  14.0M
rpool        215G   341G  2.33K  1.47K  18.7M  11.8M
rpool        215G   341G  2.32K  1.80K  18.6M  14.3M
rpool        215G   341G  1.93K  1.50K  15.4M  16.8M
rpool        215G   341G    666  1.23K  5.21M   101M
rpool        215G   341G  2.29K  1.79K  18.3M  14.3M
При том видно, что иногда просирается и перестает читать - сразу начинает лить нормально (120-150 мб/с). Также если писать в этот пул на хосте - то все ок, чтения нет, запись на всю ивановскую.

Чего он там читает??

★★

Последнее исправление: Davyd (всего исправлений: 2)
Ответ на: комментарий от DALDON

И ещё к одному минусу zfs, стоит отнести, что ей надо 20процентов свободного места чтобы было... Иначе - тупняки. По сему, тут возникает очередной трейд-офф. - Что лучше: не нативный zfs, но со сжатием, но 20 процентов свободными. Или нативное lvm, без сжатия, но не паримся со свободным местом особо...

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

а какую технологию для SSD кеша используешь на lvm ?

А их много? Или в чем вопрос собственно?

man lvmcache

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

Кстати, кстати... Вопрос то актуален. Использую writeback. То есть два ssd накопителя, через mdadm, делаем в зеркало и через writeback - подключаем к lvm.

Другой вопрос, как себя поведёт writeback, при power cut? - Вот это пока мне крайне не ясно. Я читал, что dm-cache, вроде как должен инвалидизировать весь кеш, который находится в SSD. Но что будет с теми данными в кеше, которые ещё не успели записаться на НЖМД? - Для меня сей вопрос открыт!

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

есть два ssd накопителя, через mdadm, делаем в зеркало и через writeback - подключаем к lvm.

См. п.2

Cache Topics
   Tolerate device failures in a cache pool LV

       Users who are concerned about the possibility of failures in their fast
       devices  that could lead to data loss might consider making their cache
       pool sub-LVs redundant.

       0. Create an origin LV we wish to cache
       # lvcreate -L 10G -n lvx vg /dev/slow_devs

       1. Create a 2-way RAID1 cache data LV
       # lvcreate --type raid1 -m 1 -L 1G -n lvx_cache vg \
            /dev/fast1 /dev/fast2

       2. Create a 2-way RAID1 cache metadata LV
       # lvcreate --type raid1 -m 1 -L 8M -n lvx_cache_meta vg \
            /dev/fast1 /dev/fast2

       3. Create a cache pool LV combining cache data LV and cache metadata LV
       # lvconvert --cachepool vg/lvx_cache --poolmetadata vg/lvx_cache_meta

       4. Create a cached LV by combining the cache pool LV and origin LV
       # lvconvert --type cache --cachepool vg/lvx_cache vg/lvx
anonymous
()
Ответ на: комментарий от anonymous

ну дождался, хоть один адекват из секты свидетелей zfs вырвался и осознал

Непонятно только, каким боком здесь ЛВМ, ибо, как водится, решение из говна и палок:

By the magic of LVM snapshots. lvmsync is able to read the metadata that device-mapper uses to keep track of what parts of the block device have changed, and use that information to only send those modified blocks over the network.

Налицо нарушение уровней абстракции, однако почему-то обычных в таких случаях воплей от ляликсофанбоев не наблюдается. Двойные стандарты они такие двойные :)

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

Это сторонний хак, никто им не пользуется.

Однако его тут буквально несколькими сообщениями ранее рекомендуют, утверждая что это замена zfs send -i. Вы уж там как-то определитесь, это хак или таки нормальное решение.

Свободен!

И тебе не кашлять!

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

Однако его тут буквально несколькими сообщениями ранее рекомендуют, утверждая что это замена zfs send -i. Вы уж там как-то определитесь, это хак или таки нормальное решение.

Многих вещей нет в ядре, их можно назвать «хаками», но плохими они от этого не становятся. Кто хочет пользуется на свой страх и риск.

Это сторонний хак, никто им не пользуется.

Я имел ввиду: никто им не пользуется официально

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

Однако его тут буквально несколькими сообщениями ранее рекомендуют

Никто его не рекомендует! Речь идёт в возможной альтернативе. Я чётко написал, что не пробовал его. Всем ясно, что это костыль.

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

Многих вещей нет в ядре, их можно назвать «хаками», но плохими они от этого не становятся. Кто хочет пользуется на свой страх и риск.

То есть, поскольку ZFS в ядре нет, плохой она от этого тоже не становится, я правильно понимаю? И все эти вопли по поводу рампант лэйеринг вайолэйшн тоже мимо кассы?

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

Кончай тупить, надоел уже. zfs не плохая, ее надо применять к месту --- снапшоты-типа-бекапы на несильно нагруженных файлопомойках, ... NAS домашнего разлива ...

И все эти вопли по поводу рампант лэйеринг вайолэйшн тоже мимо кассы?

мимо. fsck и dd тоже лезут на блочное устройства в обход всего и никто не кричит

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

странно что в zfs до сих пор не запилили аутодефраг как в btrfs.

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

Почему-то не приживается raid1, на уровне lvm. Всегда пользуются mdadm. Под mdadm уже есть инструмент мониторинга, для того же zabbix. Ну как-то так... Очкую.

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

О! Ты пришёл в наш тред... :) Ну в общем, я пока смотрю, что творится в лагере lvm. Есть пару не приятных, но не критичных багов. Но ничего не падает (zfs на zvol у меня при интенсивном вводе выводе - колом встаёт, от слова совсем. Запись обрывается, виртуалка виснет. Есть уже рецепт, и в новых версиях zfs, он применён - они там отключили умный планировщик ввода-вывода. Но осадок у меня остался...). Со сжатием я выкрутился (qcow2, умеет в сжатие). С производительностью, надёжностью у lvm, в первом приближении - всё ок.

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

Запись обрывается, виртуалка виснет

iowait большой бывало случался, но чтоб висло ни разу.

С производительностью, надёжностью у lvm, в первом приближении - всё ок.

С этим проблем нет, но не удобно после zfs работать с lvm.

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

iowait большой бывало случался, но чтоб висло ни разу.

Собственно, я сам в шоке. Более чем серьёзно, создаём zvol - чем меньший блоксайз, тем вероятнее висяк. Делаем интенсивный тест записи - удивляемся как Windows перестаёт реагировать - даже на движения мышью. Через какое то время, тест на запись - сваливается с нулями. Виртуалка отвисает, а в dmesg чёрте чего. - Баг известный. Фикс в новой версии zfs есть. - Но фикс - костыльный. Они там отключают просто умные планировщики ввода-вывода, и возвращают примитивные механизмы. Ну и вообще, я посмотрел в баг треккер - подобные ошибки, совсем не редкость прям. В общем, с zvol - реально боюсь лезть в продакшн. - Кстати, ты не пробовал запускать zol, в отсутствии скажем: l2arc или, log девайсов? - Меня постигла неудача. И особо так и не смог запустить том... - Что тоже не порадовало меня. Эта проблема, опять-же характерна только для zol.

P.S., планирую крутить несколько инстансов с Oracle, так что, имею всё же сомнения в стабильности zol, при интенсивном i/o

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

Кстати, ты не пробовал запускать zol, в отсутствии скажем: l2arc или, log девайсов? - Меня постигла неудача.И особо так и не смог запустить том..

В основном инсталляции без l2arc и отдельного zil, никаких проблем. Что значит не смог запустить том?

King_Carlo ★★★★★
()

вот что то подобное наблюдаю, начинаю с фтп копирование и все фризится начинет

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

Ну к примеру: отвалится l2arc или zil. После перезапуска ОС, zpool, не смонтируется. Как-то так. Читал, что не давно наконец-то разработчики zol, вроде как исправили это - но с ходу у меня не вышло ничего. Может быть надо удалить/поправить файл: /etc/zfs/zpool.cache. Не ковырялся глубоко.

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

отвалится l2arc или zil

А, понял, был изначально с l2arc и zil, потом что-то отвалилось. С отвалившимся l2arc пул точно нормально монтировался.

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