Ситуация: 1. mysql копируется на диск с mysqldump (~ 250 ГБ) 2. дамп сжимается с помощью bpzip2 3. дамп перемещается на другой DC 4. использование диска снова в хорошем состоянии
Проблема: Пики использования файловой системы, пример: мне нужно 1 ТБ места для размещения данных при сбросе - мне нужно избавиться от этого (оплата неиспользуемого дискового пространства)
Пытался труба дамп напрямую в bpzip2, но он медленный (требуется сильное сжатие), я хочу избежать блокировки таблиц. Буфер канала нельзя легко изменить с помощью bash (если это возможно), возможно, в C, Python, как я читал.
Вопрос: Есть ли способ справиться с этими пиками? Любые идеи будут оценены по достоинству.
- единичная транзакция протестирована, работает как положено (спасибо Александру Толкачеву)
/ usr / bin / mysqldump -v --single-transaction --skip-add-drop-table -u'user '-p'password' -h 'host' $ {db} 2> / var / log / dump / $ {db} .log | pbzip2 -p2> "$ sql"
Я слышал, что у параллельного bzip могут быть проблемы с конвейером, но, возможно, в некоторых старых версиях, потому что он работает должным образом, а также быстрее - это заняло всего 3/4 исходного времени.
Я беспокоился о канале ~ 250 ГБ, если файл будет поврежден или что-то в этом роде, но во время тестирования обнаружены ошибки. (Я не пробовал восстанавливать, подробнее о трубопроводе по следующей ссылке) https://stackoverflow.com/questions/2715324/can-a-pipe-in-linux-ever-lose-data