LINUX.ORG.RU

Proxmox и ZFS. Производительность

 ,


0

5

Всем привет. Есть zfs mirror из двух дисков, созданый при установке proxmox. Есть виртуалка, находящаяся на этом гипервизоре (с виндой). Производительность ну очень печальная, даже если ничего не копировать, и вообще нагрузку не создавать. Всё грузится и запускается десятки минут. Оперативной памяти на сервере 16GB, по идее должно быть достаточно для одной пустой виртуалки. Сделал sync=disable, помогло, но не сильно. ЧЯДНТ? Может есть еще какие-либо шаманства, о которых я не знаю?

★★★★★

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

Телепаты в отуске. Конкретные показатели производительности, результаты тестов, конфигурация.

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

Сколько памяти виртуалке отдал ?

Изначально 8 гб, теперь уменьшил до 4 и полегче стало, больше свободной памяти гипервизору.

Свопишься небось ?

В вм пустая система, оперативы съедено 2 гб (50%).

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

Телепаты в отуске. Конкретные показатели производительности, результаты тестов, конфигурация.

Выложу как только отпустит. Единственное что - диски 5400 оборотов.

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

Ты уверен, что проблема в ФС, а не в диске (железе)?

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

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

Смотри, примерно гиг хавает прокс, половину рамы хавает arc. Потом хавает кэш вм, если не выставил cache=none.
Так что под вм остаётся менее 8 гигов при дефолтных настройках.
Убедись, что у тебя не свопится гипервизор, сначала.

Deleted
()
root@pve:~# pveperf
CPU BOGOMIPS:      25600.36
REGEX/SECOND:      2030626
HD SIZE:           1772.45 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     861.69
DNS EXT:           73.23 ms
DNS INT:           0.58 ms (localdomain)
bsdfun ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Убедись, что у тебя не свопится гипервизор, сначала.

У него и свопа то нет, по дефолту то...
В вики proxmox не рекомендуется использовать своп вместе с zfs.

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

Всё равно не похоже на ZFS. У тебя сама ZFS на железе (ZFS чувствует себя плохо в файлах и на виртуальных дисках)?

Размер блока ZFS какой?

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

Мб неоптимальный размер сектора выбрался для дисков.

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

Всё равно не похоже на ZFS. У тебя сама ZFS на железе (ZFS чувствует себя плохо в файлах и на виртуальных дисках)?

Да, на железе. 2 сата диска на 2 тб.

Размер блока ZFS какой?

root@pve:~# zfs get recordsize rpool
NAME   PROPERTY    VALUE    SOURCE
rpool  recordsize  128K     default
bsdfun ★★★★★
() автор топика
Ответ на: комментарий от bsdfun

В вики proxmox не рекомендуется использовать своп вместе с zfs.

что за дурдом?

zfs create -V 16G -b $(getconf PAGESIZE) -o compression=zle -o logbias=throughput \
   -o sync=always -o primarycache=metadata -o secondarycache=none \
   -o com.sun:auto-snapshot=false rpool/swap0;
mkswap -f /dev/zvol/rpool/swap0
echo /dev/zvol/rpool/swap0 none swap defaults 0 0 >> /etc/fstab

такое же дно железо, оперативы только в два раза больше:

root@pve-03:~# free -h
              total        used        free      shared  buff/cache   available
Mem:           31Gi       9,7Gi        21Gi        23Mi       144Mi        21Gi
Swap:          15Gi       658Mi        15Gi

root@pve-03:~# pveperf
CPU BOGOMIPS:      25542.60
REGEX/SECOND:      3176939
HD SIZE:           10735.55 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     116.28
DNS EXT:           56.87 ms
DNS INT:           40.01 ms (dev.acme.ru)

результат бенчмарка на винде: https://i.imgur.com/xta9kV8.png
разница в дисках, очевидно.

root@pve-03:~# zpool status
  pool: rpool
 state: ONLINE
  scan: scrub repaired 0B in 0 days 00:04:30 with 0 errors on Sun Sep  8 00:28:31 2019
config:

	NAME                              STATE     READ WRITE CKSUM
	rpool                             ONLINE       0     0     0
	  mirror-0                        ONLINE       0     0     0
	    wwn-0x5000cca22cdb6fe7-part3  ONLINE       0     0     0
	    wwn-0x5000cca22cdb6ffb-part3  ONLINE       0     0     0
	  mirror-1                        ONLINE       0     0     0
	    wwn-0x5000cca22cdb6ded-part3  ONLINE       0     0     0
	    wwn-0x5000cca22cdb6f7c-part3  ONLINE       0     0     0
	  mirror-2                        ONLINE       0     0     0
	    wwn-0x5000cca22cda2717-part3  ONLINE       0     0     0
	    wwn-0x5000cca22cdb6dec-part3  ONLINE       0     0     0
	  mirror-3                        ONLINE       0     0     0
	    wwn-0x5000cca22cda2e02-part3  ONLINE       0     0     0
	    wwn-0x5000cca22cdb6ffa-part3  ONLINE       0     0     0
	cache
	  sde                             ONLINE       0     0     0

errors: No known data errors

system-root ★★★★★
()
Ответ на: комментарий от bsdfun

Показатели нормальные, в общем случае.

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

recordsize

Туплю под вечер. Размер сектора, конечно же.

Это который ashift (смотри zdb -C rpool | awk '/ashift: /{print $2}', если в ZoL есть zdb).

По дефолту оно выставляет 9, но для виртуалок я бы делал не меньше 12.

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

zpool get all | grep ashift

zpool get ashift rpool тогда уж. ☺

Как раз 12 и есть.

Тогда я не понимаю.

У меня тоже ощущается проседание (не такое, как у тебя, но оно всё равно ощутимое) производительности (но у меня не Proxmox и не ZoL), потому мне тоже интересно.

mord0d ★★★★★
()

Оперативной памяти на сервере 16GB

1. Ограничь жор zfs.
echo 'options zfs zfs_arc_max=2147483648' > /etc/modprobe.d/zfs.conf
update-initramfs -u
2. Подключи репу с zfs ver 0.8.1
https://launchpad.net/~jonathonf/ archive/ubuntu/zfs
3. Добавь в свой сервер mlc-ssd и сделай его l2arc.
4. По возможности добавь ОЗУ.

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

Кто тему модерирует?
Я написал, что проблема с медленной загрузкой не связана с zfs и дисками, сейчас сообщения нет.
Чего добивался модератор? Направить ТСа по ложному поиску решения проблемы?

ТС: попробуй другой оффтопик, они по разному себя ведут в этой ситуации.

anonymous
()

Сколько стоит zfs_arc_max? Может, слишком много? Раньше, если не ограничивать его на серверах виртуализации, неограниченный кэш zfs вытеснял виртуалки и могла быть такая ситуация, что OOM их отстреливал. Начиная с 0.8, если не ограничивать, то ставится половина имеющейся памяти.

Deleted
()

Попробуй прокс 5.4 поставить.

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

У меня тоже ощущается проседание (не такое, как у тебя, но оно всё равно ощутимое) производительности (но у меня не Proxmox и не ZoL), потому мне тоже интересно.

После отключения prefetch становится значительно легче. Хотя в интернетах читал, что в последних версиях zol это не даёт профита.

bsdfun ★★★★★
() автор топика
Ответ на: комментарий от zelenij
root@pve:~# lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       36 bits physical, 48 bits virtual
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               58
Model name:          Intel(R) Xeon(R) CPU E3-1225 V2 @ 3.20GHz
Stepping:            9
CPU MHz:             3415.704
CPU max MHz:         3600.0000
CPU min MHz:         1600.0000
BogoMIPS:            6399.68
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            8192K
NUMA node0 CPU(s):   0-3


root@pve:~# free -m
              total        used        free      shared  buff/cache   available
Mem:          16010       14782        1069          51         158         957

Диски вот такие:
Model Family:     Western Digital Purple
Device Model:     WDC WD20PURX-64P6ZY0
Serial Number:    WD-WCC4ML533TEV
LU WWN Device Id: 5 0014ee 2b5542b3d
Firmware Version: 80.00A80
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Wed Sep 18 21:04:21 2019 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

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

Винты, конечно, не реактивные..
Но так - железяка совсем не тормоз. Я думаю, что проблема в «медленности» дисков, т.к. на них лежит журнал зфс...
Попробуйте убрать зфс и уйти на лвм..

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

Моё мнение - если нет ссд, на который можно выкинуть арк - о скорости на зфс можно даже не думать.
Кстати, если мне память не изменяет - скорость массива равна скорости самого медленного диска.

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

Кстати, если мне память не изменяет - скорость массива равна скорости самого медленного диска.

Скорость чтения Mirror удваивается, скорость записи равна скорости самого медленного носителя в зеркале из-за свойства синхронности записи.

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

памяти на сервере 16GB

опять стопять, только самой ZFS надо не меньше 16, а еще ОС и виртуалка.

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

кеш вынеси. винты 5400 че серьезно?

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

Если что, ZFS поддерживает разрежённые файлы (как и многие современные и классические ФС). Так что SWAP на ZVOL внутри пула, скорее всего, физически это он и есть. Зачем ему дополнительная компрессия средствами ФС - вопрос отдельных тестов и выводов из них.

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

После отключения prefetch становится значительно легче.

в последних версиях zol это не даёт профита

Во FreeBSD (по крайней мере до 12 включительно) ZFS немного отстаёт и отличается от ZoL.

Многие для виртуалок создают пул с ashift=13 (8K), некоторым это даже помогает.

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

если нет ссд, на который можно выкинуть арк

не арк, а зил. это если есть синхронная запись, иначе разницы нет.

anonymous
()

Мб у тебя партиции не выровнены ?

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

Кхм, ashift должен соответствовать размеру сектора диска.

Его можно выставлять больше (но не меньше).

А вот recordsize можно и покрутить.

Вот только на производительность это никак не повлияет.

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