Sunday June 07 2015 10:11, Alexey Vissarionov wrote to Andrew Kant:
AK>>>> Есть сервер с БД, данные довольно большого объема (условно - AK>>>> 0.5TB), AV>>> Это не такой уж и большой объем... AK>> для того, чтоб делать файловую копию - достаточно большой (при AK>> скорости копирования 100MB/сек потребуется около часа, чтоб тупо AK>> скопировать из копии).
AV> Значит, копировать нужно умно. Спасибо, капитан, за совет :)
AK>>>> есть необходимость что-то с ними сделать, проверить результат и AK>>>> вернуть в исходное состояние. И так постоянно. То есть операция AK>>>> приведения всего к начальному состоянию должна быть быстрой. AV>>> Каков характер данных? БД или просто набор файлов? AK>> БД, но при остановке сервера она превращается в набор файлов.
AV> Тогда примерно так: поднимаем репликацию, эксперименты производим на AV> одном из вторичников. А если база умеет откатывать транзакции вручную - AV> совсем хорошо. Операция "поднимаем репликацию" по мощности сопоставима с тупым копированием. Да и транзакция транзакции рознь - в оракле средствами самого оракла нет возможности откатить DDL-оператор, типа изменение таблицы или хранимой процедуры, а тем более последовательности таких "транзакций", поэтому приходится извращаться более низкоуровневыми средствами.
AK>>>> Hапрашивается LVM и его снэпшоты,
AK>>>> может кто-то ещё чего-нибудь посоветует? AV>>> Посоветую использовать кучку (для ротации) Qemu с параметром AV>>> -snapshot AK>> То есть сначала создать кучку образов из одной копии (на каждый - AK>> час), а потом быстро их переключать, пока не закончились AK>> неиспользованные?
AV> Запустили виртуалку, протестировали, остановили виртуалку, и она AV> вернулась в исходное состояние. Если результат понравился - вручную AV> скажи commit ide0-hd0 (или как ты там его обзовешь). Чем это лучше LVM (ну кроме риска потери данных)? Всё практически то-же самое, но без лишнего слоя - остановил базу, отмонтировал раздел (либо сразу его удалить, либо сохранить, "если понравился"), подмонтировал раздел (очередной снэпшот оригинала), запустил базу.