Hi! Продолжаю докручивать домашний FreeBSD NAS@Virtualbox+6х1ТБ/5400 2,5", проброшенных в виртуальный LSI SAS (device mpt). Нарвался вот на что: Есть папка - 60ГБ, в ней ещё структура из 1700папок и 55К файлов, лежит на отдельном разделе 1ТБ/7200, читается "более 100МБ/с". Делаем на raidz1 тома zfs create -s -o compression=lz4 -o volblocksize=128KB -V 70G PZ01/x-128 zfs create -s -o compression=lz4 -o volblocksize=32KB -V 70G PZ01/x-32 выставляем zfs set compression=lz4 recordsize=512K PZ01 и делаем файлик dd if=/dev/zero of=/PZ01/x-512-70G bs=4096 count=1 oseek=18350079 все три ресурса отдаём по iscsi в винду (обратно). Заливаем с 7200 - в принципе почти одинаково на все 3 (быстро). Читаем: С тома с 32КБ - ужас-ужас, 10-30МБ/с и диски загружены. С тома 128КБ - 30-60МБ/с written 58,1G logicalused 60,5G refcompressratio 1.04x Из файла - под 100МБ/с (неожиданно совсем) written 55,9G logicalused 60,4G refcompressratio 1.03x <-?! математика обиделась? по идее 1.08 должно быть... Вопрос - чего ж нету во фре-10 volblocksize>128KB и когда вообще появилось large_blocks? Ну и как получить volblocksize>128KB? -- Best regards, Paul Arakelyan.
On Tue, Jan 17, 2017 at 07:12:26PM +0200, Paul Arakelyan wrote:
Вопрос - чего ж нету во фре-10 volblocksize>128KB и когда вообще появилось large_blocks? Ну и как получить volblocksize>128KB?
Нагуглил, начался движняк в 2014 http://www.slideshare.net/MatthewAhrens/openzfs-at-asiabsdcon-freebsd-develo... Нашел в zvol.c сравнение с SPA_OLD_MAXBLOCKSIZE (это 128КБ) int zvol_check_volblocksize(uint64_t volblocksize) { if (volblocksize < SPA_MINBLOCKSIZE || volblocksize > SPA_OLD_MAXBLOCKSIZE || !ISP2(volblocksize)) return (SET_ERROR(EDOM)); return (0); } и ещё /usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c /* * Volumes are limited to a volblocksize of 128KB, * because they typically service workloads with * small random writes, which incur a large performance * penalty with large blocks. */ if (prop == ZFS_PROP_VOLBLOCKSIZE) maxbs = SPA_OLD_MAXBLOCKSIZE; "Типично из пистолета можно застрелиться, поэтому ..." Вот теперь думаю - мож махнуть на SPA_MAXBLOCKSIZE, и что из этого будет... (Кто поддерживает версию "Шо буде - шо буде...Пи***ць буде!" ?) А ещё есть место с unmap (оно вполне работает с iscsi - удаляешь файлы с тома - место освобождается) -- Best regards, Paul Arakelyan.
On Tue, Jan 17, 2017 at 09:57:22PM +0200, Paul Arakelyan wrote:
On Tue, Jan 17, 2017 at 07:12:26PM +0200, Paul Arakelyan wrote:
Вопрос - чего ж нету во фре-10 volblocksize>128KB и когда вообще появилось large_blocks? Ну и как получить volblocksize>128KB?
*/ if (prop == ZFS_PROP_VOLBLOCKSIZE) maxbs = SPA_OLD_MAXBLOCKSIZE;
Вот теперь думаю - мож махнуть на SPA_MAXBLOCKSIZE, и что из этого будет... (Кто поддерживает версию "Шо буде - шо буде...Пи***ць буде!" ?)
Не случилось от такого, но "Гыгабыт+virtualbox SAS/SATA" = стрёмно, под нагрузкой на запись при скоростях в 100МБ/с+- - клеит ласты/тормозит/дропает данные. Но читает офигенно... SAS вроде лечится hw.pci.enable_msix="0" hw.pci.enable_msi="0" получается ~50МБ/с. Как бы так сделать, чтоб при обращениях на запись msi/msix выключались, а при отсутствии запросов - включались. SATA - не лечится никак, и скорость не очень, и затыки с дропом данных, сразу всюду, но иногда необъяснимо работает без глюков: ahcich3: Timeout on slot 21 port 0 ahcich3: is 00000000 cs 00200000 ss 00000000 rs 00200000 tfd 50 serr 00000000 cmd 1000d517 (ada4:ahcich3:0:0:0): FLUSHCACHE48. ACB: ea 00 00 00 00 40 00 00 00 00 00 00 (ada4:ahcich3:0:0:0): CAM status: Command timeout (ada4:ahcich3:0:0:0): Error 5, Retries exhausted ahcich4: Timeout on slot 28 port 0 ahcich4: is 00000000 cs 10000000 ss 00000000 rs 10000000 tfd 50 serr 00000000 cmd 1000dc17 (ada5:ahcich4:0:0:0): FLUSHCACHE48. ACB: ea 00 00 00 00 40 00 00 00 00 00 00 (ada5:ahcich4:0:0:0): CAM status: Command timeout (ada5:ahcich4:0:0:0): Error 5, Retries exhausted ahcich5: Timeout on slot 4 port 0 ahcich5: is 00000000 cs 00000010 ss 00000000 rs 00000010 tfd 50 serr 00000000 cmd 1000c417 (ada6:ahcich5:0:0:0): FLUSHCACHE48. ACB: ea 00 00 00 00 40 00 00 00 00 00 00 (ada6:ahcich5:0:0:0): CAM status: Command timeout (ada6:ahcich5:0:0:0): Error 5, Retries exhausted ahcich0: Timeout on slot 3 port 0 -- Best regards, Paul Arakelyan.
participants (1)
-
Paul Arakelyan