06.02.2012 15:33, Alexander Panyushkin пишет:
On 06.02.2012 13:07, skeletor wrote:
Есть сервер в продакшине и с него нужно сделать дамп баз. Базы большие
(50 Гб каждая). Проблема в том, что при дампе идёт сильная нагрузка на
диски и в итоге - основной сайт лежит.

Какие средства пробовались:
- обычный дамп через mysqldump на другие диски
- дамп через mysqldump по сети сразу на другой хост

Но даже и в этом случае диски нагружаются достаточно, что бы сайт не
отвечал.

ПС. Сам сайт и БД лежат на разных серверах и фраза "сайт лежит"
означает, что истекает таймаут при подключении к БД.

Может есть варианты ещё как-то сделать дамп или выставить поменьше
нагрузку на диски. nice/renice - не помогают, так как сервак не
настолько нагружен, что бы приоритет влиял на это.

Заранее спасибо.

Если база на ZFS, делаем snapshot, потом делаем видимым snapdir,
заходим в него и копируем всю папку базы целеком куда нужно.
Но не факт, что будет меньше наргузка на винты.

Проблема нагрузки на винты - в данном случае это фигня по сравнению с проблемой целостности базы: вы сильно рискуете получить неконсистентное нечто, ибо в zfs snapshot не попадут накопленные в буферах mysqld изменения данных. Надо до снапшота надо флашить таблицы, как-то так:

FLUSH TABLES WITH READ LOCK

zfs shapshot

UNLOCK TABLES



--
Best regards,
Andrey Kopeyko <k...@zvuki.ru>

Ответить