Arahnale
https://wiki.freebsd.org/ZFSTuningGuide#MySQL
MyISAM надо весь конвертнуть в InnoDB, а то проблемы с производительностью будут.
Nikita
Господа, в догонку, а что делать, когда бд лежит не на голом zfs, а поверх файловой системы? Будь то, например, lxc-контейнер c mysql, вм с NTFS-томом и т.п.? Как-то на уровне zfs или и на уровне zfs + файловой системы поверх можно улучшить взаимодействие бд со стораджем?
Nikita
zfs volume - наилучшее приближение к голому диску. Есть еще p9 и проброс zfs внутрь контейнера, но оно у меня не заработало
Я понимаю, но всё же, когда поверх вольюма есть ещё какая-то гостевая фс (NTFS или EXT4) - что можно сделать? И дают ли стандартные рекомендации по тюнингу в таком сценарии какой-то эффект?
Александр
Я понимаю, но всё же, когда поверх вольюма есть ещё какая-то гостевая фс (NTFS или EXT4) - что можно сделать? И дают ли стандартные рекомендации по тюнингу в таком сценарии какой-то эффект?
Ничего. Единственная рекомендация - не использовать в проде виртуалки там, где можно использовать контейнеры без файловой системы поверх файловой системы на диске, эмулируемой средствами файловой системы поверх файловой системы
Станислав
Я понимаю, но всё же, когда поверх вольюма есть ещё какая-то гостевая фс (NTFS или EXT4) - что можно сделать? И дают ли стандартные рекомендации по тюнингу в таком сценарии какой-то эффект?
Есть рекомендации, изучал этот вопрос долго и нудно. Дело в том, что в Linux максимальный размер сектора ext4 ограничен pagesize, а городить бигалок мне показалось не для продакшена. А так как блок данных БД имеет конкретное значение, например, для MySQL стандарт 16кб, то нужно настроить stride и stripe-width
Art
Господа, в догонку, а что делать, когда бд лежит не на голом zfs, а поверх файловой системы? Будь то, например, lxc-контейнер c mysql, вм с NTFS-томом и т.п.? Как-то на уровне zfs или и на уровне zfs + файловой системы поверх можно улучшить взаимодействие бд со стораджем?
LXC-контейнер как раз и не использует свою ФС, а получает в пользование ZFS-датасет, то есть типа "папку" Что касается случаев, когда используется именно полноценная ВМ, то есть у нас ФС типа NTFS или ext4 поверх тома ZFS, то имеются свои рекомендации по тюнингу конечно. Например, желательно выровнять volblocksize под БД
Станислав
Есть рекомендации, изучал этот вопрос долго и нудно. Дело в том, что в Linux максимальный размер сектора ext4 ограничен pagesize, а городить бигалок мне показалось не для продакшена. А так как блок данных БД имеет конкретное значение, например, для MySQL стандарт 16кб, то нужно настроить stride и stripe-width
Потому, порядок действий такой: 1) Создаём zvol с нужным volblocksize 2) Создаём ФС, для многих из них есть параметры для тюнинга под размер блока данных, чтобы ФС их складировала не разрозненно. Например, в ext4 stride указывает, сколько кластеров должны формировать блок данных. Так как этот тюнинг рассчитан был на корректное размещение данных для raid в stripe, то, желательно, указать stripe-width. В случае с ZFS, он всегда равен stride. 3) Я отключал журналирование данных в ext4, так как у нас эту функцию выполняет zfs. Оставлял только метаданные. 4) Монтирование в виртуальной машине. К сожалению, не записал нигде. Насколько помню: data=ordered,noatime,nobarrier
Evgenii
С точки зрения вложенной файловой системы - ZFS является диском, блочным устройством. Думаю отключение журнала - ошибка
Roman
конечно ошибка
Станислав
С чего бы вдруг? Журнал в журнале в журнале? Для баз данных, у которых есть свой журнал, рекомендуют его как раз отключить в ФС по той же причине - чтобы не писать журнал для журнала
Evgenii
zfs ничего не знает о намерениях вашей базы данных или намерениях вашей файловой системы
Evgenii
по вашей логики можно оставить только журнал бд, отключив все нижестоящие
Станислав
А по отношению к zfs другая файловая система тоже на уровень выше.
Evgenii
А по отношению к zfs другая файловая система тоже на уровень выше.
другое направление. Вы можете отключить журнал ZFS, но не должны отключать журнал вложенной фс
Станислав
Нет, журнал ZFS я предпочитаю оставлять, так как у нее более гибкие настройки и возможности
Evgenii
Нет, журнал ZFS я предпочитаю оставлять, так как у нее более гибкие настройки и возможности
ну вот это вам не поможет в случае проблем, которые придут из за отключения журнала NTFS или чего там у вас внутри Вы сами дали отличный пример: — База данных <-> ФС Вы сказали что если в базе есть журнал, то журнал на уровне ФС можно отключить Продляем дальше — База данных <-> ФС <-> ZFS Если внутренняя ФС что-то не успеет сбросить, ZFS не поможет
Александр
Так для этого data=ordered и метаданные остаются.
Что-то я в man zfsprops data=ordered не вижу
Станислав
https://www.kernel.org/doc/Documentation/filesystems/ext4.txt
Илья
Спасибо за ссылки. Мануал на бсдшном сайте видимо плохо читал, а у меня как раз фряха.
Илья
Да, у меня как раз MyISAM
Ivan
У MySQL есть такая возможность, насколько я понял
ничессе, не знал. оказывается мускуль давно так умеет.
Александр
Станислав
ничессе, не знал. оказывается мускуль давно так умеет.
Но я не осилил понять до конца, на сколько это юзабилити. В смысле, если что-то пойдёт не так, как потом исправлять
Станислав
zfs ничего не знает о намерениях вашей базы данных или намерениях вашей файловой системы
Почему не знает. Она точно также получает sync на те блоки, которые требуется точно записать
Илья
Беги от него!!!
Софт требует этот тип таблиц, поддержка innodb у них не заявлена и работу на ней они не гарантируют
Илья
Это не реально. Интернет магазины.
Станислав
Это не реально. Интернет магазины.
Реально, просто дорого)
Александр
Реально, просто дорого)
когда рванет, будет дороже
Станислав
Полностью согласен
Александр
Полностью согласен
Если движок в 2022 не поддерживает innodb, то мне подумать страшно, что еще у них там косое
K
Софт требует этот тип таблиц, поддержка innodb у них не заявлена и работу на ней они не гарантируют
в порядке ликвидации моей безграмотности, позвольте поинтересоваться, а как софт, может быть привязан к типу таблиц? мы в своё время лет 12-13 назад переходили на InnoDB и я оч смутно представляю, как софт может контролировать именно тип таблиц базы данных.
George
и это печально
Станислав
Годик назад под одного клиента докер контейнеры поднимал с php 5.2 и mysql 5.2 из-за того, что "хостер" (штат 1 человек, он же директор) решил не выставлять счёт и погасить свой сервер не предупредив. Движок был самописный от этого же хостера (кого-то нанимал) и там не предвидится даже ssl. Еле завел всю эту телегу. А всё потому, что новый сайт уже третий год в разработке.
Sergey
Поделитесь пожалуйста, у кого есть - под zabbix6 темплейт для zfs
Илья
что за софт такой?
Webasyst. А так да, переходить долго и дорого. Да и просто нереально. В принципе можно попробовать все это по жесткому перегнать в innodb, но не хочется потом ловить все эти глюки.
Илья
А так база данных там небольшая. Еще даже на гигабайт не дотягивает.
Илья
Там много сортировок очень.
Хач
Добрый вечер граждане - нужна помощь. В proxmox rpool в состоянии degraded, подозреваю некорректное выключение питания в процессе работы. По смарту диски вроде живые.
Vladislav
zpool status ?
Vladislav
ждите окончания скраба
Хач
ждите окончания скраба
так окончился вроде? или нет? scan: scrub repaired 0B in 00:08:19 with 13 errors on Mon Mar 21 19:41:17 2022
Vladislav
zpool clear и опять скраб запустите
Хач
zpool clear и опять скраб запустите
запустил. Жду окончания
Vladislav
я так понял, с бэкапа нет возможности восстановится
Vladislav
поэтому пробуем завести пул как есть
Хач
я так понял, с бэкапа нет возможности восстановится
бэкапы есть. Я чет сомневаюсь что бэкап накатится на поврежденный zvol
Хач
Можно конечно и прокс с нуля накатить - но интересно оживить
Хач
я склонировал диск и попробовал удалить его из виртуалки. Из конфига виртуалки он удалился, а в rpool продолжает находится P.S. - диск который якобы содержит ошибки: rpool/data/vm-200-disk-1
Хач
zpool clear и опять скраб запустите
root@aa-pve1:~# zpool status rpool -v pool: rpool state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. scan: scrub repaired 0B in 00:08:18 with 13 errors on Mon Mar 21 19:53:38 2022 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-Samsung_SSD_860_EVO_500GB_S3Z1NB0KA98848E-part3 ONLINE 0 0 0 ata-Samsung_SSD_860_EVO_500GB_S3Z1NB0KA98836K-part3 ONLINE 0 0 0 errors: Permanent errors have been detected in the following files: rpool/data/vm-200-disk-1:<0x1>
Хач
у меня нет идей. я пока занят
спасибо в любом случае
Art
спасибо в любом случае
Попробуй на этом сервере загрузится с лайв образа: бубунты, systemresque или просто с образа прокса в дебаг-режиме И там импортнуть пул с ключом -f И посмотреть статус пула там, и может заодно удалить дурной том Но я не уверен, что ты потом обратно загрузишься с этого пула в штатном режиме... Хотя вроде прямо в консоли появится предложение импортнуть пул
George
я склонировал диск и попробовал удалить его из виртуалки. Из конфига виртуалки он удалился, а в rpool продолжает находится P.S. - диск который якобы содержит ошибки: rpool/data/vm-200-disk-1
емнип прокс позволяет удалить из конфига вм но фактически оставить zvol, можно попробовать руками удалить, если точно не нужен
George
но вообще сбой питания на zfs к такому приводить не должен
Хач
емнип прокс позволяет удалить из конфига вм но фактически оставить zvol, можно попробовать руками удалить, если точно не нужен
руками пробовал - kernel panic. Удалил полностью виртуалку - вроде удалился. Сейчас посмотрим после ребута.
Хач
В общем достали эти танцы - переустанавливаю proxmox. Классная штука ZFS. )))
Олег
В общем достали эти танцы - переустанавливаю proxmox. Классная штука ZFS. )))
много переустановок вас ждет, если не знаете элементарного /etc/pve/....
Олег
При том ZFS не спасет вас от кучу других приколов прокса
Хач
много переустановок вас ждет, если не знаете элементарного /etc/pve/....
возможно, но тут я не один такой - никто не смог помочь советом )))
Олег
возможно, но тут я не один такой - никто не смог помочь советом )))
Ну потому что вопрос не был задан верно, и в той теме где на него ответят
Олег
/etc/pve/qemu-server/id вашего вирта
Олег
и конфигурьте что хотите
Олег
потом релоад конфиг вроде