[QUOTE]
Дмитрий Дёмин написал:
Скачанная с сайта виртуальная машина для VirtualBox версии 7.4.0 при попытке обновления до 7.4.1 умирает в процессе. Т.е. процесс зависает намертво, после перезагрузки машина не запускается с ошибками. С этим сталкивался уже не раз, благо на тестовых машинах.
При этом с версии 7.3.x до 7.4.1 обновляется без проблем.[/QUOTE]
[QUOTE]
Ад Мин написал:
Внесу свои 5 копеек.
Ставлю, как обычно, битриксВМ на виртуалбокс (для теста, разработок), путем скачивания образа со страницы загрузок. Версия 7.4.0. При попытке обновления любым способом до 7.4.1 вешается, как писали выше. Выбор варианта виртуализации в виртуалбоксе ничего не меняет (раньше вообще не знал про эту настройку). Так что после перебора всех вариантов забил на обновление.
Начинаю работать с 7.4.0. Где-то после 10-20 минут работы хост тупо умирает. Причем в ТОР нет ни апача, ни энджи, ни мускуля. Апач и нджи перезапускаются нормально, а БД вешается намертво. Приходится перезапускать хост.
В проверке системы "Ошибка! innodb_strict_mode=ON, требуется OFF".
В еррор логах апача [mpm_prefork:error] [pid 2762] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
В еррор логах нджи ничего серьезного.
В еррор логах мускуля тоже вроде нет ошибок критических.
prefork.conf дефолтный
# from bitrix_env
# memory: 2048MB
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 10
MaxRequestWorkers 10
MaxRequestsPerChild 5000
</IfModule>
Надо добавить, что на локалке стояла сборка с боевого сервака версии 7.3.4, обновление на нее не встало, повисло так же. При попытке остановить процесс и перезапустить процесс дальше была потеряна связь с БД. Пришлось сносить все и экспериментировать с чистого листа...
Что я делаю не так? Почему все умирает празднично после 20 минут работы?
З.Ы.: хорошо что решил потестить обнову на локалке...
З.Ы.Ы.: Увеличение MaxRequestWorkers добавляет времени работы, но в конечном итоге все равно крашится. При этом сама виртуальная машина работает, не работает хост "Firefox не может установить соединение с сервером 192.168.45.182."[/QUOTE]
Дмитрий Дёмин,
Ад Мин, добрый день. Спасибо за сигнал. Провели расследование. Детали ниже.
Итак:
- чистый образ 7.4.0 для VirtualBox
- на VirtualBox у машины время при старте произвольное (пример, в Калининграде у меня 12:12, по логу время "окт 17 15:12:25 localhost.localdomain mysqld[2792]: Version: '5.7.26-29' socket...")
- mysqld стартует с этим временем
- потом запускается ntpd, который синхронизирует время (итого получаем Москву - 13:12, я не менял часовой пояс, все по умолчанию)
- запускаем обновление машины
- при любом рестарте mysqld (в том числе и из обновления пакета) процесс зависает на очистке страниц, в логе (на время тут не обращаем) идут в цикле записи вида:
...
Oct 17 12:54:47 localhost mysqld: 2019-10-17T09:54:47.711249Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Oct 17 12:55:48 localhost mysqld: 2019-10-17T09:55:48.066399Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Oct 17 12:56:48 localhost mysqld: 2019-10-17T09:56:48.409220Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Oct 17 12:57:48 localhost mysqld: 2019-10-17T09:57:48.759395Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
...
Баг в MySQL: [URL=https://bugs.mysql.com/bug.php?id=93708]https://bugs.mysql.com/bug.php?id=93708[/URL]
Исправление: Fixed as of the upcoming 5.7.27, 8.0.17 release
В нашем образе версии 7.4.0 версия MySQL сервера 5.7.26 (Server version: 5.7.26-29 Percona Server).
Через обновления прилетает как раз версия с фиксом - Percona-Server-server-57-5.7.27-30.1.el7.x86_64.rpm.
Образы мы конечно пересоберем, выпустим новые. По срокам пока ничего сказать не могу.
Временное решение проблемы: консоль сервера, открыть два экземпляра.
В первой запустить апдейт машины всех пакетов. Ждем когда зависнет (обычно рестарт mysqld будет на нашем пакете, в консоли увидите "Updating: bitrix-env-7.4-2.el7.noarch 235/448")
Во второй убить процесс mysqld, например через htop или командой kill.
В первой процесс обновления пойдет дальше, обновления поставятся.
Или же второй вариант - до обновления пакетов остановить mysqld.
На других образах для иных типов виртуализации такого не замечено. VMWare/HyperV обновились без проблем.