Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет.
Вот мой скприпт, которым я делаю Backup:
Неактивен
А что у Вас написано в $MEM? И сколько реально памяти на сервере? Если не пишете суффиксы, учтите, что по умолчанию память задается, кажется, в килобайтах.
Неактивен
В мем будит 70% от общей памяти. А, всего памяти 512M.
В переменной я подставляю суффикс М.
Неактивен
Я так же мем присваивал значение 128М
Неактивен
А можете показать, что написано в dmesg? Точно памяти не хватает? Ну и строчку из ps:
ps axuwww | grep innobackupex
Неактивен
Извините, за долгий ответ. Были причины, по которым не мог сразу вам ответить.
Неактивен
Да, не хватает памяти. Я запуская скрипт. На, второй вкладке терминала смотрю в htop. Он показывает, что израсходована вся память (через сек 2е), следом после этого заполняется свап. Как только доходит до макс. числа. У меня все завершается ошибкой:
Неактивен
Я в скрипте временно, на момент эксперимента оставил очистку папки, где должен храниться бэкап, сразу после выполнения. Но, до него дело не доходит.
Так, что на это не обращайте внимание.
Отредактированно saifuddin (05.05.2016 15:42:46)
Неактивен
Я не вижу в дмесге, чтобы приходил OOM killer, скорее всего, убивает что-то еще. Можете показать команду из ps или htop? Хочу убедиться, что там точно написано 128M.
Ну то есть у меня нету других идей. Можно попробовать запустить руками innobackupex, чтобы убедиться, что руками работает так же.
Неактивен
По поводу вывода команды. Как мне это сделать, Бэкап быстро проходит. Не больше 3-4 сек до ошибки. Я успеваю увидеть в htop, что innobackupex потребляет 89% памяти. При этом на графике этот показатель уже давно 100% Потом начинает уменьшаться свап и ошибка.
Возможно не успевает отображать htop. Там вроде раз в 2 сек обновление стоит.
Неактивен
Этот же скрипт отрабатывает без проблем на основных серверах. Которые по больше этого будут. Там больше 1200М не потребляется памяти.
Неактивен
innobackupex --user="пользователь" --password="пароль" /путь/к/папке
На выходе получил:
Executing FLUSH NO_WRITE_TO_BINLOG TABLES
Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
Добавил для пользователя
GRANT RELOAD ON *.* TO 'user'@'localhost';
GRANT SUPER ON *.* TO 'user'@'localhost';
GRANT REPLICATION CLIENT ON *.* TO 'user'@'localhost';
запустил, из под консоли.
innobackupex --user="пользователь" --password="пароль" /путь/к/папке
Все удачно прошло.
Потом понял.
Проблема начинается, когда я запускаю
innobackupex \
--apply-log \
--redo-only \
--compact \
--use-memory=$MEM \
--no-timestamp \
$DIRBACKUP2
У меня без этого кода все и на том скрипте отрабатывало нормально. А, вот вторая часть вызывает переизбыток занятого пространства в памяти.
Что делать?
Неактивен
Заменил скрипт на xtrabackup и все заработало. Потребление памяти маленькое. Все отлично. Видимо с innobackupex проблема есть, когда в кластере все разных характеристик.
Неактивен