SQLinfo.ru - Все о MySQL Highload++ Junior 2017

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.05.2016 23:04:40

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Создание резервной копии

Всем привет.

Вот мой скприпт, которым я делаю Backup:


innobackupex \
--defaults-file=/etc/mysql/my.cnf \
--user=$USER \
--password=$PASSWORDMYSQL \
--compact \
--use-memory=$MEM \
--no-timestamp \
$DIRBACKUP1

innobackupex \
--apply-log \
--redo-only \
--compact \
--use-memory=$MEM \
--no-timestamp \
$DIRBACKUP2


============================

Все работает отлично. Но, есть одно но. У меня используется более слабый сервер(дополнительный) для сбора backupов базы дынных с него. И, потому, что он намного слабее основных. То при запуске скрипта наблюдаем следующее

...
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
InnoDB: PUNCH HOLE support available
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Uses event mutexes
InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
InnoDB: Compressed tables use zlib 1.2.7
InnoDB: Number of pools: 1
InnoDB: Using CPU crc32 instructions
full_backup.sh: line 43: 16556 Killed                  innobackupex --apply-log --redo-only --compact --use-memory=$MEM --no-timestamp $DIRBACKUP2
 


Почему возникает такая ошибка?
Да, потому что при запуске, он съедает всю оперативную память, а потом доходит до свапа и его поглощает. Дойдя до конца, обваливается с такой ошибкой.


Как можно ограничить использование памяти?
Я думал, что --use-memory должна помочь. Но, выходит, что нет. Ей я назначал 20, 30, 70% от общего объема памяти. (менял значения и вовсе без него делал)

Неактивен

 

#2 04.05.2016 12:36:16

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6599

Re: Создание резервной копии

А что у Вас написано в $MEM? И сколько реально памяти на сервере? Если не пишете суффиксы, учтите, что по умолчанию память задается, кажется, в килобайтах.

Неактивен

 

#3 04.05.2016 12:49:10

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

В мем будит 70% от общей памяти. А, всего памяти 512M.
В переменной я подставляю суффикс М.

Неактивен

 

#4 04.05.2016 12:51:14

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

Я так же мем присваивал значение 128М

Неактивен

 

#5 04.05.2016 13:24:56

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6599

Re: Создание резервной копии

А можете показать, что написано в dmesg? Точно памяти не хватает? Ну и строчку из ps:
ps axuwww | grep innobackupex

Неактивен

 

#6 05.05.2016 15:37:21

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

Извините, за долгий ответ. Были причины, по которым не мог сразу вам ответить.



[    1.299028] scsi 1:0:0:0: CD-ROM            NECVMWar VMware IDE CDR00 1.00 PQ: 0 ANSI: 5
[    1.309044] sd 0:0:0:0: [sda] 20971520 512-byte logical blocks: (10.7 GB/10.0 GiB)
[    1.309074] sd 0:0:0:0: [sda] Write Protect is off
[    1.309077] sd 0:0:0:0: [sda] Mode Sense: 61 00 00 00
[    1.309103] sd 0:0:0:0: [sda] Cache data unavailable
[    1.309105] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    1.309625] sd 0:0:0:0: [sda] Cache data unavailable
[    1.309627] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    1.310296] sr0: scsi3-mmc drive: 1x/1x writer dvd-ram cd/rw xa/form2 cdda tray
[    1.310299] cdrom: Uniform CD-ROM driver Revision: 3.20
[    1.310682] sr 1:0:0:0: Attached scsi CD-ROM sr0
[    1.310925]  sda: sda1 sda2 < sda5 sda6 >
[    1.311235] sd 0:0:0:0: [sda] Cache data unavailable
[    1.311237] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    1.311316] sd 0:0:0:0: [sda] Attached SCSI disk
[    1.316389] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    1.316814] sr 1:0:0:0: Attached scsi generic sg1 type 5
[    1.462376] VMware vmxnet virtual NIC driver
[    1.465709] device-mapper: uevent: version 1.0.3
[    1.466064] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
[    1.702212] PM: Starting manual resume from disk
[    1.702216] PM: Hibernation image partition 254:1 present
[    1.702218] PM: Looking for hibernation image.
[    1.702538] PM: Image not found (code -22)
[    1.702540] PM: Hibernation image not present or could not be loaded.
[    1.724609] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[    2.442568] udevd[329]: starting version 175
[    2.698342] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    2.823601] piix4_smbus 0000:00:07.3: Host SMBus controller not enabled!
[    2.871530] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[    2.880993] ACPI: AC Adapter [ACAD] (on-line)
[    2.881441] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    2.884317] ACPI: Power Button [PWRF]
[    2.903469] input: PC Speaker as /devices/platform/pcspkr/input/input2
[    2.987973] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input3
[    2.990980] Error: Driver 'pcspkr' is already registered, aborting...
[    3.057155] [403]: VMCI: shared components initialized.
[    3.057189] Probing for vmci/PCI.
[    3.057347] Found vmci/PCI at 0x1080, irq 16.
[    3.057405] VMCI: using capabilities 0xc.
[    3.057487] [403]: VMCI: Host capability check passed.
[    3.057764] vmci 0000:00:07.7: irq 75 for MSI/MSI-X
[    3.057799] vmci 0000:00:07.7: irq 76 for MSI/MSI-X
[    3.058021] Registered vmci device.
[    3.058244] [403]: VMCI: Using guest personality
[    3.058248] [403]: VMCI: host components initialized.
[    3.058598] [403]: VMCI: Module registered (name=vmci, major=10, minor=59).
[    3.058600] [403]: VMCI: Using host personality
[    3.058602] [403]: VMCI: Module (name=vmci) is initialized
[    3.078254] [drm] Initialized drm 1.1.0 20060810
[    3.093904] [drm] Capabilities:
[    3.093907] [drm]   Rect copy.
[    3.093908] [drm]   Cursor.
[    3.093910] [drm]   Cursor bypass.
[    3.093911] [drm]   Cursor bypass 2.
[    3.093912] [drm]   8bit emulation.
[    3.093913] [drm]   Alpha cursor.
[    3.093914] [drm]   Extended Fifo.
[    3.093915] [drm]   Multimon.
[    3.093916] [drm]   Pitchlock.
[    3.093918] [drm]   Irq mask.
[    3.093919] [drm]   Display Topology.
[    3.093920] [drm]   GMR.
[    3.093921] [drm]   Traces.
[    3.093922] [drm]   GMR2.
[    3.093923] [drm]   Screen Object 2.
[    3.093924] [drm] Max GMR ids is 64
[    3.093926] [drm] Max GMR descriptors is 4096
[    3.093927] [drm] Max number of GMR pages is 65536
[    3.093929] [drm] Max dedicated hypervisor surface memory is 163840 kiB
[    3.093931] [drm] VRAM at 0xec000000 size is 4096 kiB
[    3.093933] [drm] MMIO at 0xfe000000 size is 256 kiB
[    3.093935] [drm] global init.
[    3.093988] [TTM] Zone  kernel: Available graphics memory: 254442 kiB
[    3.093990] [TTM] Initializing pool allocator
[    3.093996] [TTM] Initializing DMA pool allocator
[    3.094214] [drm] width 640
[    3.094226] [drm] height 480
[    3.094237] [drm] bpp 32
[    3.099833] [drm] Fifo max 0x00040000 min 0x00001000 cap 0x0000077f
[    3.100438] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    3.100441] [drm] No driver support for vblank timestamp query.
[    3.100536] [drm] Screen objects system initialized
[    3.100540] [drm] Detected no device 3D availability.
[    3.104139] [drm] Initialized vmwgfx 2.4.0 20120209 for 0000:00:0f.0 on minor 0
[    3.144881] parport_pc 00:09: reported by Plug and Play ACPI
[    3.145158] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[    4.102667] EXT4-fs (dm-0): re-mounted. Opts: (null)
[    4.461843] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
[    4.602738] loop: module loaded
[    5.018739] Adding 385020k swap on /dev/mapper/debian-swap_1.  Priority:-1 extents:1 across:385020k
[    6.016989] TCP htcp registered
[    8.070758] eth0: intr type 3, mode 0, 2 vectors allocated
[    8.075090] eth0: NIC Link is Up 10000 Mbps
[    8.658963] RPC: Registered named UNIX socket transport module.
[    8.658967] RPC: Registered udp transport module.
[    8.658968] RPC: Registered tcp transport module.
[    8.658970] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    8.697606] FS-Cache: Loaded
[    8.745586] FS-Cache: Netfs 'nfs' registered for caching
[    8.768502] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    9.338932] Netfilter messages via NETLINK v0.30.
[    9.356388] ip_set: protocol 6

 

Неактивен

 

#7 05.05.2016 15:40:09

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

Да, не хватает памяти. Я запуская скрипт. На, второй вкладке терминала смотрю в htop. Он показывает, что израсходована вся память (через сек 2е), следом после этого заполняется свап. Как только доходит до макс. числа. У меня все завершается ошибкой:


...
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
InnoDB: PUNCH HOLE support available
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Uses event mutexes
InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
InnoDB: Compressed tables use zlib 1.2.7
InnoDB: Number of pools: 1
InnoDB: Using CPU crc32 instructions
full_backup.sh: line 43:  6092 Killed                  innobackupex --apply-log --redo-only --compact --use-memory=$MEM --no-timestamp $DIRBACKUP2
rm: cannot remove `/etc/defconfig/backups/temp/*': No such file or directory


Неактивен

 

#8 05.05.2016 15:42:21

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

Я в скрипте временно, на момент эксперимента  оставил очистку папки, где должен храниться бэкап, сразу после выполнения. Но, до него дело не доходит.

Так, что на это не обращайте внимание.

Отредактированно saifuddin (05.05.2016 15:42:46)

Неактивен

 

#9 05.05.2016 16:46:42

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6599

Re: Создание резервной копии

Я не вижу в дмесге, чтобы приходил OOM killer, скорее всего, убивает что-то еще. Можете показать команду из ps или htop? Хочу убедиться, что там точно написано 128M.

Ну то есть у меня нету других идей. Можно попробовать запустить руками innobackupex, чтобы убедиться, что руками работает так же.

Неактивен

 

#10 05.05.2016 17:35:10

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

По поводу вывода команды. Как мне это сделать, Бэкап быстро проходит. Не больше 3-4 сек до ошибки. Я успеваю увидеть в htop, что innobackupex потребляет 89% памяти. При этом на графике этот показатель уже давно 100% Потом начинает уменьшаться свап и ошибка.

Возможно не успевает отображать htop. Там вроде раз в 2 сек обновление стоит.

Неактивен

 

#11 05.05.2016 17:36:02

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

Этот же скрипт отрабатывает без проблем на основных серверах. Которые по больше этого будут. Там больше 1200М не потребляется памяти.

Неактивен

 

#12 06.05.2016 00:22:09

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

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

У меня без этого кода все и на том скрипте отрабатывало нормально. А, вот вторая часть вызывает переизбыток занятого пространства в памяти.

Что делать?

Неактивен

 

#13 06.05.2016 07:50:36

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: Создание резервной копии

Заменил скрипт на xtrabackup и все заработало. Потребление памяти маленькое. Все отлично. Видимо с innobackupex проблема есть, когда в кластере все разных характеристик.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson