George
Почитал вашу переписку там выше - в итоге, что и как правильно ускорит SLOG? Если "по науке". ))
синхронную запись. Т.е. Sync iodepth=1, уменьшит latency на io. Без метода бенча табличка ваша смысла не имеет и сказать ничего нельзя
Ilya
ну так ты и измерял скорость процессора
Rabinovitch
ну так ты и измерял скорость процессора
Понятно. А расхождения показателей лишь иллюзия. Эхх...
Ilya
вот, например, зеркало из 2х5400RPM с lz4
Ilya
датасет с lz4, очевидно
Anonymous
Поменяй на /dev/urandom
Ilya
зачем?
Anonymous
Ахах, я вырвал из контекста.
Станислав
66353889280 байт (66 GB, 62 GiB) скопирован, 46,9876 s, 1,4 GB/s - сферический конь в вакууме) *тоже из дев-зеро в файл на датасете со сжатием, соответственно размер файла 66гб, а занято в датасете 0 байт) но кстати я бы сказал - довольно медленный результат на мой взгляд, хоть и на стареньком зионе
Станислав
11081351168 байт (11 GB, 10 GiB) скопирован, 48,6255 s, 228 MB/s - ну а вот урандом, туда же с теми же параметрами (raidz2 на 8 разношёрстных дисках) - вот кстати вопрос, это хороший результат?
Vladislav
Ну сейчас не сравнивал, а в древние времена, фотошоп банально в разы работал быстрее
Я уже вижу это тестирование: Ubuntu + Gimp на пепниуме 4 Windows + Photoshop на Intel i7-7700k
Vladislav
Коллеги хотел бы узнать, насколько slog убивает ssd диск, есть у кого-то опыт в этом вопросе? При условии 50 МБ/с записи 24/7
Василий
Я уже вижу это тестирование: Ubuntu + Gimp на пепниуме 4 Windows + Photoshop на Intel i7-7700k
Нет. Тестирование тогда было на одной и той же машине. Так вещи, которые в фотошопе занимали секунды, на жимпе занимали минуты. И да, машина была dx40 если тут есть те, кто знают что это)
Василий
Хотя нет. Таки пентиум
Vladislav
Хорошо, если это было в пределах одной конфигурации, но я ими пользоваться начал только 8 лет назад, и к этому моменту единственная разница была "тыкни сюда, а не сюда" Поэтому мне сложно представить то о чем Вы говорите
Василий
Хорошо, если это было в пределах одной конфигурации, но я ими пользоваться начал только 8 лет назад, и к этому моменту единственная разница была "тыкни сюда, а не сюда" Поэтому мне сложно представить то о чем Вы говорите
Грубо говоря, в те времена, картинка 10000*10000 была дофига большая. И жимп на этой картинке умирал, а фотошоп ворочал. Виртуализация тогда только зараждалась, поэтому сидел любознательный народ в дулбуте. Частотное разложение жимп делает?
Vladislav
Никогда не делал его сам, но судя по этому https://bwps.ru/howto/LziSImiS0cc.html Умеет
Evgenii
#проблема Мы получили сообщение от системы мониторинга: Problem: ZFS ARC dnode size > 90% dnode max size on Backup-SB35 Это бэкап сервер, который работает под управлением PBS и имеет достаточно мало Ram - всего 16 Гб. Вот дополнительные данные по этому серверу на текущий момент: cat /proc/spl/kstat/zfs/arcstats | grep dnod dnode_size 4 987480448 arc_dnode_limit 4 626498304 arc_summary -s arc ------------------------------------------------------------------------ ZFS Subsystem Report Sun Jan 23 12:14:17 2022 Linux 5.13.19-1-pve 2.1.1-pve1 Machine: Backup-SB35 (x86_64) 2.1.1-pve1 ARC status: HEALTHY Memory throttle count: 0 ARC size (current): 91.4 % 7.1 GiB Target size (adaptive): 100.0 % 7.8 GiB Min size (hard limit): 6.2 % 497.9 MiB Max size (high water): 16:1 7.8 GiB Most Frequently Used (MFU) cache size: 19.2 % 1.0 GiB Most Recently Used (MRU) cache size: 80.8 % 4.4 GiB Metadata cache size (hard limit): 75.0 % 5.8 GiB Metadata cache size (current): 66.4 % 3.9 GiB Dnode cache size (hard limit): 10.0 % 597.5 MiB Dnode cache size (current): 157.6 % 941.8 MiB ARC hash breakdown: Elements max: 479.1k Elements current: 63.5 % 304.0k Collisions: 7.1M Chain max: 5 Chains: 20.2k ARC misc: Deleted: 45.1M Mutex misses: 3.9k Eviction skips: 13.5k Eviction skips due to L2 writes: 0 L2 cached evictions: 0 Bytes L2 eligible evictions: 4.3 TiB L2 eligible MFU evictions: 6.6 % 290.5 GiB L2 eligible MRU evictions: 93.4 % 4.0 TiB L2 ineligible evictions: 745.5 GiB Мы еще не занимались инцидентом. - На данный момент мы знаем, что dnode - это аналог inode из классических файловых систем. - Мы предполагаем, что dnode должен помещаться в RAM, чтобы работать эффективно. (как и остальные матаданные) #вопрос - что такое dnode - у кого какие мысли по поводу инцидента. Это проблема? Как решать?
Василий
А я вот на перезагрузке сервера получил: INFO: task zpool:1326 blocked for more than 120 seconds. При этом два раза так подвисло на 2 минуты, потом еще раз на 4 минуты. Выдало 3 стектрейса от zpool и пошло дальше грузиться. Zfs не бутабельная, просто пул. Никаких следов какой-то проблемы с пулом нет. zpool status показывает что все норм. Смарты у дисков тоже в порядке. Что это было и как теперь с этим жить?
Василий
Единственное что заметил, что порядок дисков слегка поменялся, ssd один переехал на последнюю букву. Но у меня в пул собрано по disk-id, а не по /dev/sd...
Василий
Стактрейс кинь
Jan 24 02:34:35 prox3 kernel: INFO: task zpool:1326 blocked for more than 120 seconds. Jan 24 02:34:35 prox3 kernel: Tainted: P O 5.13.19-2-pve #1 Jan 24 02:34:35 prox3 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Jan 24 02:34:35 prox3 kernel: task:zpool state:D stack: 0 pid: 1326 ppid: 1 flags:0x00004002 Jan 24 02:34:35 prox3 kernel: Call Trace: Jan 24 02:34:35 prox3 kernel: __schedule+0x2fa/0x910 Jan 24 02:34:35 prox3 kernel: schedule+0x4f/0xc0 Jan 24 02:34:35 prox3 kernel: taskq_wait+0x80/0xd0 [spl] Jan 24 02:34:35 prox3 kernel: ? wait_woken+0x80/0x80 Jan 24 02:34:35 prox3 kernel: vdev_load+0xc6/0x5e0 [zfs] Jan 24 02:34:35 prox3 kernel: ? dmu_buf_rele+0x3d/0x50 [zfs] Jan 24 02:34:35 prox3 kernel: ? zap_lookup+0xd8/0x100 [zfs] Jan 24 02:34:35 prox3 kernel: spa_load+0xd98/0x1840 [zfs] Jan 24 02:34:35 prox3 kernel: spa_tryimport+0x11f/0x570 [zfs] Jan 24 02:34:35 prox3 kernel: zfs_ioc_pool_tryimport+0x68/0xc0 [zfs] Jan 24 02:34:35 prox3 kernel: zfsdev_ioctl_common+0x752/0x9b0 [zfs] Jan 24 02:34:35 prox3 kernel: ? __kmalloc_node+0x276/0x300 Jan 24 02:34:35 prox3 kernel: ? _copy_from_user+0x2e/0x60 Jan 24 02:34:35 prox3 kernel: zfsdev_ioctl+0x57/0xe0 [zfs] Jan 24 02:34:35 prox3 kernel: __x64_sys_ioctl+0x91/0xc0 Jan 24 02:34:35 prox3 kernel: do_syscall_64+0x61/0xb0 Jan 24 02:34:35 prox3 kernel: ? handle_mm_fault+0xda/0x2c0 Jan 24 02:34:35 prox3 kernel: ? exit_to_user_mode_prepare+0x37/0x1b0 Jan 24 02:34:35 prox3 kernel: ? irqentry_exit_to_user_mode+0x9/0x20 Jan 24 02:34:35 prox3 kernel: ? irqentry_exit+0x19/0x30 Jan 24 02:34:35 prox3 kernel: ? exc_page_fault+0x8f/0x170 Jan 24 02:34:35 prox3 kernel: ? asm_exc_page_fault+0x8/0x30 Jan 24 02:34:35 prox3 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xae Jan 24 02:34:35 prox3 kernel: RIP: 0033:0x7f96a6279cc7 Jan 24 02:34:35 prox3 kernel: RSP: 002b:00007ffc2c3b0508 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 Jan 24 02:34:35 prox3 kernel: RAX: ffffffffffffffda RBX: 00007ffc2c3b3c40 RCX: 00007f96a6279cc7 Jan 24 02:34:35 prox3 kernel: RDX: 00007ffc2c3b0520 RSI: 0000000000005a06 RDI: 0000000000000003 Jan 24 02:34:35 prox3 kernel: RBP: 00007ffc2c3b3b00 R08: 00007f96a5b09010 R09: 0000000000000000 Jan 24 02:34:35 prox3 kernel: R10: 0000000000000022 R11: 0000000000000246 R12: 000055defcb1c570 Jan 24 02:34:35 prox3 kernel: R13: 00007ffc2c3b0520 R14: 000055defcb1fef0 R15: 000055defcb1f320
Василий
Еще такое в логе было перед этим для всех дисков: Jan 24 02:30:44 prox3 systemd-udevd[748]: sdf1: Failed to update device symlinks: Too many levels of symbolic links
Vladislav
последнее более интересно
Василий
Но это я смотрю при каждой загрузке сыпет и все грузится нормально. На другой ноде тоже самое и проблем в загрузке не было.
Nikita
Добрый день, коллеги! В последнее время работаю над установкой opensuse на zfs root. В результате обнаружил ряд нестыковок в инструкции, часть которых уже закоммитил, а часть еще готовлюсь. Результатом получился скрипт установки из Live дистрибутива с минимальным вмешательством пользователя в процессе и неплохой кастомизацией файлом конфигурации. Там есть еще, что нужно по мелочи причесать, как будет готово - поделюсь ссылкой. По сути, скрипт повторяет инструкцию. Вопрос же мой таков - я столкнулся с тем, что недостаточно порезать features у /boot раздела, нынешний груб всё равно отказывается на него устанавливаться и проверяет корневой (/) раздел. Если порезать features у корневого раздела, то всё работает. По этой причине я не вижу смысла создавать отдельный пул под /boot, достаточно отдельной фс в корневом разделе. Что вы думаете по этому поводу? З.Ы. да, я понимаю, что лучше добавлять поддержку в официальный установщик, но автоматический скрипт всё же удобнее, чем инструкция...
Aleksei
Добрый день, коллеги! В последнее время работаю над установкой opensuse на zfs root. В результате обнаружил ряд нестыковок в инструкции, часть которых уже закоммитил, а часть еще готовлюсь. Результатом получился скрипт установки из Live дистрибутива с минимальным вмешательством пользователя в процессе и неплохой кастомизацией файлом конфигурации. Там есть еще, что нужно по мелочи причесать, как будет готово - поделюсь ссылкой. По сути, скрипт повторяет инструкцию. Вопрос же мой таков - я столкнулся с тем, что недостаточно порезать features у /boot раздела, нынешний груб всё равно отказывается на него устанавливаться и проверяет корневой (/) раздел. Если порезать features у корневого раздела, то всё работает. По этой причине я не вижу смысла создавать отдельный пул под /boot, достаточно отдельной фс в корневом разделе. Что вы думаете по этому поводу? З.Ы. да, я понимаю, что лучше добавлять поддержку в официальный установщик, но автоматический скрипт всё же удобнее, чем инструкция...
Привет. У меня ubuntu грузится с отдельного /boot пула. он создавался автоматом при установке.
Aleksei
а у / раздела все features включены?
это на домашней машине, на сколько я помню, то вроде все. вечером смогу посмотреть. единственно что мне не понравилось, что после апгрейда на последнюю стаб версию из git, boot автоматом не монтируется. при обновлении ядра прихоидтся быть внимательным.
George
Добрый день, коллеги! В последнее время работаю над установкой opensuse на zfs root. В результате обнаружил ряд нестыковок в инструкции, часть которых уже закоммитил, а часть еще готовлюсь. Результатом получился скрипт установки из Live дистрибутива с минимальным вмешательством пользователя в процессе и неплохой кастомизацией файлом конфигурации. Там есть еще, что нужно по мелочи причесать, как будет готово - поделюсь ссылкой. По сути, скрипт повторяет инструкцию. Вопрос же мой таков - я столкнулся с тем, что недостаточно порезать features у /boot раздела, нынешний груб всё равно отказывается на него устанавливаться и проверяет корневой (/) раздел. Если порезать features у корневого раздела, то всё работает. По этой причине я не вижу смысла создавать отдельный пул под /boot, достаточно отдельной фс в корневом разделе. Что вы думаете по этому поводу? З.Ы. да, я понимаю, что лучше добавлять поддержку в официальный установщик, но автоматический скрипт всё же удобнее, чем инструкция...
> Вопрос же мой таков - я столкнулся с тем, что недостаточно порезать features у /boot раздела, нынешний груб всё равно отказывается на него устанавливаться и проверяет корневой (/) раздел. надо сюда рыть по хорошему, на дебиане этот путь не только у меня работает уже 5 лет точно
George
может стоит сравнить граб из дебиана и сусе
Nikita
может стоит сравнить граб из дебиана и сусе
вот бы еще понимать, как... версию на suse я смотрел - соответствует последней версии git-а груба.
George
вот бы еще понимать, как... версию на suse я смотрел - соответствует последней версии git-а груба.
zpool create \ -o cachefile=/etc/zfs/zpool.cache \ -o ashift=12 -d \ -o feature@async_destroy=enabled \ -o feature@bookmarks=enabled \ -o feature@embedded_data=enabled \ -o feature@empty_bpobj=enabled \ -o feature@enabled_txg=enabled \ -o feature@extensible_dataset=enabled \ -o feature@filesystem_limits=enabled \ -o feature@hole_birth=enabled \ -o feature@large_blocks=enabled \ -o feature@lz4_compress=enabled \ -o feature@spacemap_histogram=enabled \ -o feature@zpool_checkpoint=enabled \ -O acltype=posixacl -O canmount=off -O compression=lz4 \ -O devices=off -O normalization=formD -O relatime=on -O xattr=sa \ -O mountpoint=/boot -R /mnt \ bpool ${DISK}-part3 список флагов точно такой был? этот из инструкции для дебиана, мной не раз использованный
George
George
ну и вывод update-grub в студию
Nikita
ну и вывод update-grub в студию
это всё на неработающей схеме с двумя пулами, так?
George
на у вас не работающей, где проблема воспроизводится
George
Note: Ignore errors from osprober, if present. на это тоже внимание обратите
George
ну и сравните с инструкцией для дебиана на всякий https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Buster%20Root%20on%20ZFS.html
George
может в сусовской упустили что
George
я когда принимал её не имел возможности протестить
George
так что буду рад правкам
George
zfs
Значит по фичам грабу ок
Nikita
Значит по фичам грабу ок
ок, да не ок... ибо дальше он выдает ошибку, которую можно получить, если сделать "grub2-probe /"
George
ок, да не ок... ибо дальше он выдает ошибку, которую можно получить, если сделать "grub2-probe /"
ну это дальше, нужен вывод, а также после этого посмотреть что он нашёл и в /boot/ положил
George
то что рутовый пул он не поймёт это в общем то нормально
Nikita
ну и вывод update-grub в студию
Found theme: /boot/grub2/themes/openSUSE/theme.txt Found linux image: /boot/vmlinuz-5.16.1-1-default Found initrd image: /boot/initrd-5.16.1-1-default Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. Adding boot menu entry for UEFI Firmware Settings ... done Installing for x86_64-efi platform. grub2-install: error: ../grub-core/kern/fs.c:121:unknown filesystem.
Nikita
ну и вывод update-grub в студию
тут я, конечно, grub2-install делаю, ибо обновлять пока нечего)
George
тут я, конечно, grub2-install делаю, ибо обновлять пока нечего)
кажется в этом и дело. grub2-install емнип только ставит бутлоадер на конкретный диск, а конфиги для него генерит update-grub
George
и по инструкции сначала идёт update-grub
George
вы в итоге не по инструкции шли?
Nikita
ну так я перед grub2-install делаю update-bootloader и grub2-mkconfig.
Nikita
вы в итоге не по инструкции шли?
по инструкции, но, как я уже писал, она работает только с урезанными features для корневого раздела
George
по инструкции, но, как я уже писал, она работает только с урезанными features для корневого раздела
а, у opensuse update-bootloader аналог update-grub, его вывод нужен, нашёл ли он пул
Nikita
а, у opensuse update-bootloader аналог update-grub, его вывод нужен, нашёл ли он пул
команда update-bootloader не даёт никакого результата, пользуюсь grub2-mkconfig, как написано в инструкции.
Nikita
эм, а команда grub2-install полная как выглядела? тоже скиньте на всякий
grub2-install —target=x86_64-efi —efi-directory=/boot/efi —bootloader-id=opensuse —recheck —no-floppy
George
/boot/efi должна быть vfat если efi, это же так? всё примонтировано в /boot/efi? По идее на этом этапе граб не должен на ФС рутовые смотреть, но это гипотеза
George
это с BOOT пулом? вроде там есть найденная система linux /BOOT/suse@/vmlinuz-5.16.1-1-default root=ZFS=/ROOT/suse
Nikita
yep
George
и кажется, что должно работать
Nikita
соответственно /BOOT/suse на bpool, /ROOT/suse на rpool
Nikita
ну так в том то и дело, что если я произвожу установку по абсолютно тому же алгоритму, но на корневом пуле режу features, как на bpool, то всё работает)
George
просто конфиг выглядит рабочим