powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / NBACKUP с перенаправлением
48 сообщений из 48, показаны все 2 страниц
NBACKUP с перенаправлением
    #39888923
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа!

Нет ли у кого-нибудь батника с nbackup(backup) nbackup(restore) без промежуточного файла (с перенаправлением потоков)?
для 2.5

Хочется на ходу иметь рабочую копию БД.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39888924
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё ты задумал-то? Сколько уровней бэкапа?
Если тебе просто иметь рабочую базу на момент бэкапа, то всё равно этот файл надо на диске иметь
Всего три команды так-то
nbackup -L
(копирование файла)
nbackup -F на выполненной копии
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39888932
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a
А чё ты задумал-то? Сколько уровней бэкапа?
Если тебе просто иметь рабочую базу на момент бэкапа, то всё равно этот файл надо на диске иметь
Всего три команды так-то
nbackup -L
(копирование файла)
nbackup -F на выполненной копии

Упс - четыре же. Разблокировку базы забыл.

nbackup -L
(копирование файла)
nbackup -N
nbackup -F на выполненной копии
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39888974
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

две команды:
nbackup -b 0 база копия
nbackup -f копия
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39888978
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

сыпасиба.
я таки должен был это знать.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39888988
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
 nbackup -b 0 псевдоним stdout|zstd -qo копия.nbk.zst
 zstd -qd копия.zst -o база.fdb
 nbackup -f псевдоним
Вместо zstd можно использовать и другой компрессор. Главное, чтобы не "тормоз с максимальной степенью сжатия".
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889030
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Код: plaintext
1.
2.
 nbackup -b 0 псевдоним stdout|zstd -qo копия.nbk.zst
 zstd -qd копия.zst -o база.fdb
 nbackup -f псевдоним
Вместо zstd можно использовать и другой компрессор. Главное, чтобы не "тормоз с максимальной степенью сжатия".


вау. с перенаправлением и компрессором. в точности, как просил :)
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889033
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

ну и раз все тут такие умные.

почему финальная база меньше исходной?
исходная пустая 73 мб, копия поле F - 70 мб
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889038
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,

может потому что в БД есть свободные страницы?
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889042
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,
открыл мне глаза
пойду скрипты упрощать

Я почему-то считал, что -b 0 даст не базу, а таки бэкап, который надо потом восстанавливать.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889052
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Код: plaintext
1.
2.
nbackup -b 0  псевдоним  stdout|zstd -qo копия.nbk.zst
 zstd -qd копия.zst -o база.fdb
 nbackup -f  псевдоним 
Уверен в последней строке ?
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889080
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Уверен в последней строке ?
Это псевдонимы на двух разных хостах :)
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889090
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

я не очень понимаю смысла сначала потоком архивировать копию БД, а потом ее разархивировать и переводить в RW.
По мне это лишняя загрузка процессора. Хотя, эффект будет, если диски медленные, а процессор быстрый, и база хоть как-то упаковывается.

Это как бэкап с опцией -e
http://interbase.blogspot.com/2018/09/gbak-b-e.html
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889095
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. бекап с архивацией
2. пересылка на другой хост
3. восстановление на оном хосте.

экономит время и траффик.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889098
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a
kdv,
открыл мне глаза
пойду скрипты упрощать

Я почему-то считал, что -b 0 даст не базу, а таки бэкап, который надо потом восстанавливать.


не я один поезда под откос пускаю
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889099
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

1. бекап с архивацией
2. пересылка на другой хост
3. восстановление на оном хосте.

экономит время и траффик.


хоть чем-то занимает оставшиеся 11 ядер
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39889150
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
я не очень понимаю смысла сначала потоком архивировать копию БД, а потом ее разархивировать и переводить в RW.
Типичная ситуация, в которой делается "nbackup -b 0" - передача копии базы на другой хост. Быстрый компрессор позволяет сократить время копирования. Это, в свою очередь заметно уменьшает время, на которое требуется лочить базу.
zstd даёт весьма приличную степень сжатия и упаковку со скоростью до сотен мегабайт в секунду. Даже в гигабитной сети время для "упаковать, scp/nfs и распаковать" будет заметно меньше, чем "просто копировать".
Если на источнике нет места, а приёмник доступен по nfs/smb, то получить в гигабитной сети копирование на скорости 200-300 МБ/сек - вполне реально. Если на приёмнике есть http/ftp, то добавив в конвеейр curl, можно получить такую же скорость.

P.S.
Именно "nbackup -b 0 stdout|компрессор" нужен редко - достаточно "nbackup -lock, упаковать файл, nbackup -unlock", но если хочется в потоке - оно именно так и работает.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890055
inoremap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Быстрый компрессор позволяет сократить время копирования. Это, в свою очередь заметно уменьшает время, на которое требуется лочить базу.

Время блокировки базы можно уменьшить если база данных расположена на файловой системе с поддержкой клонирования блоков (zfs, btrfs, xfs, ReFS) - копирование файла базы командой cp --reflink, между nbackup -lock и nbackup -unlock, будет почти мгновенным.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890060
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inoremap,

в этом случае после -unlock сразу начнутся тормоза?
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890085
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
inoremap,

в этом случае после -unlock сразу начнутся тормоза?
Тормоза начнутся сразу, как положишь базу на brtfs. Плавали знаем.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890104
inoremap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
inoremap,

в этом случае после -unlock сразу начнутся тормоза?

Хороший вопрос, быстротест подтвердил падение скорости записи примерно в 2 раза.

База для теста:
Код: sql
1.
2.
3.
4.
5.
6.
create database '/var/tmp/test.fdb' page_size 8192 user 'SYSDBA' password 'm';
create table test(id integer not null primary key, val double precision);
set term ^ ;
execute block as declare variable i integer; begin delete from test; i = 0; while (i < 1000000) do begin i = i + 1; insert into test values(:i, rand()); end end^
commit ^
exit ^


тест записи:
Код: plaintext
time (echo 'update test set val = rand(); commit;' | isql-fb -u SYSDBA -p m localhost:/var/tmp/test.fdb)

результаты:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
0m15,801s
0m35,838s
0m37,781s
time cp --reflink=always test.fdb test-r0.fdb # 0m0,007s
 0m55,574s 
0m39,688s
0m39,192s
time rm -f test-r0.fdb # 0m0,006s
0m39,255s
0m38,928s
0m38,400s
time cp --reflink=always test.fdb test-r0.fdb # 0m0,024s
 1m0,041s 
0m40,366s
0m39,914s

интересно что при выключеном forced writes скорость не падает:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
0m10,044s
0m17,530s
0m17,517s
time cp --reflink=always test.fdb test-r0.fdb # 0m0,170s
0m17,510s
0m17,566s
0m17,563s
time rm -f test-r0.fdb # 0m0,007s
0m17,554s
0m17,610s
0m17,584s
time cp --reflink=always test.fdb test-r0.fdb # 0m0,170s
0m17,555s
0m17,562s
0m17,561s
time sync # 0m0,139s

файловая система - xfs.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890107
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inoremap
быстротест подтвердил падение скорости записи примерно в 2 раза.
Ну так copy on write начинает работать ?

inoremap
интересно что при выключеном forced writes скорость не падает
Отложенная запись в файловый кеш амортизирует ?
Думаю, с другими объёмами БД оно было бы заметнее.

PS Не в 2 раза, а на 50% (40сек -> 60 сек), но не суть
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890114
inoremap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
inoremap
интересно что при выключеном forced writes скорость не падает
Отложенная запись в файловый кеш амортизирует ?
Думаю, с другими объёмами БД оно было бы заметнее.

Тогда sync выполнялся бы дольше.

Если предположить что размеры страниц которые записывает firebird не совпадают с размерами блоков с которыми работает CoW, то при включенном forced writes CoW должен копировать весь блок при записи хотя бы одной страницы, но если forced writes выключен, то CoW может копировать блок только когда в него будут записаны все страницы, в этом случае скорость не будет сильно отличаться от скорости обычной записи.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890882
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Тормоза начнутся сразу, как положишь базу на brtfs. Плавали знаем.

да *** такое "счастье"

https://arxiv.org/pdf/1707.08514.pdf

...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890908
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений
да *** такое "счастье"
Текст надо читать, а не только картинки разглядывать.
В исследование весь файловый ввод-вывод делается блоками по 4КБ с вызовом fsync() после каждой операции.
Если брать более типичные для FB 16КБ, то картина делается уже не такой страшной.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890984
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

что так что этак разница с ext4 - 8x
фтопку, темболее на сервере БД, где все иопсы на счету
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890989
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет уж, н**.
у нас ораклячий ДБА приобщившись к сакральным знаниям
впердолил btrfs на Oracle Linux Server 7.6 с развёрнутым Oracle 9.2,
а потом мужественно пару месяцев боролся с
чудесами тормозами.

беременные женщины были очень недовольны! (С)
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39890996
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну из CentOS8 btrfs выкинули, но речь не про то.
В исследовании взят искусственный сценарий. Если взять другой искусственный сценарий, то btrfs покроет остальных, как бык овцу.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39891190
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного не по теме....
А как вообще готовить nbackup -decompress ? Команда в виде строки передаётся? Такое подозрение что она вообще игнорится
PS: FB 3.0.5.33179, Win10
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39891207
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ABog,

а ты где про decompress читал ?
А что там про Win написано ?

PS http://tracker.firebirdsql.org/browse/CORE-4462
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39891213
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Ну раз nbackup -? в винде показывает -de в наличии - ожидал что оно таки работает.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39896648
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
А какие сейчас вообще перспективы появления nbackup -decompress под виндой?
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39896694
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ABog,

такие же как и раньше :)

Это реально сильно нужно ?
У меня есть большие сомнения в скорости такого режима работы...
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39896724
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Не то чтобы без этого совсем жить нельзя, но как говориться, шанцевый инструмент заточкой не испортишь.
На счёт сомнений в скорости... тут вот какой момент - если между диском с БДой и местом где должен лежать бекап находится сетка, то чем он (бекап) по размеру меньше, тем процесс быстрее. Подобные прыжки в ширину со сжатием обычно начинаются из-за конечности локальных ресурсов на сервере БД, когда например держать локально инкременталку 0-го уровня уже нет возможности.
За всех не скажу, но лично в моём случае использование сжатия вывода nbackup-а сокращает время процесса примерно в 2.5 - 3 раза (nbackup -B ... stdout|zstd -3 -o %BackUpFile%)
И всё бы хорошо, но теперь проблема в том что в случае аларма придётся разархивировать бекап перед восстановлением БД. А это, мало того, что время на промежуточное копирование (что в таких случаях ресурс очень ценный), так и собственно пресловутое дополнительное место на дисках требуется.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39896750
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ABog,

тестировать будешь ?
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39896762
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Почему нет, для себя - то?
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897070
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ABog,

ну тогда - пробуй https://we.tl/t-8yY1tl0I51

Тут nbackup.exe с поддержкой ключа -DE
Сборка VC10 x64, т.е. можно просто заменить nbackup.exe в уже установленном FB3

Я проверял с 7z (-DE "7z e -so") и с zstd (-DE "zstd -dc --no-progress")
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897136
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Понял, завтра погоняю в реальном окружении и отпишусь.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897169
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ABog,

сначала погоняй в тестовом окружении :)
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897307
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Чего-то не взлетает. Никакой реакции на ключ -DE . Работает точно так же как и предыдущая версия, распаковщик (ни zstd, ни 7z) не вызывается.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897313
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ABog,

и ничего не пишет ? И не висит ?
А ты его точно заменил ?

Покажи полную ком строку (пароли и реальные пути не нужны)
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897318
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ошибся, не то закачал

https://we.tl/t-0Wuav6G2OB
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897319
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Заменил. Версия 3.0.5.33190(x64) от сегодня на 14:23
Не висит, копирует файл из \\STORAGE\Backups\db.level0.nbk.zstd в D:\DB\test.fdb потом выдает ошибку что это не файл снапшота (не записал точный текст)
Ком.строка:
nbackup -DE "zstd -dc --no-progress" -R D:\DB\test.fdb \\STORAGE\Backups\db.level0.nbk.zstd
zstd в папке фаербёрда (установлен снапшот Firebird-3.0.5.33190-0_x64)
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897321
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Последний, по крайней мере завёлся. О результатах позже.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39897992
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак, отвечу сразу на два вопроса:
1. Работает ли это? - О да!!! Прекрасно работает :)
2. Был ли в этом смысл?

Тестировал только для zstd, так как 7z тут совсем не в кассу.
Использованные БД:
Размер БД Размер архива Коэффициент сжатия (Ka) 64.1 GB 17.4 GB 3.683908045977011405.0 GB 168.0 GB 2.410714285714286

Время восстановления nbackup из снапшота 0-го уровня
Ta - из сжатого
Twa - из несжатого

Сценарии
1. SSD-SSD (с быстрого диска на быстрый диск на локальном хосте)
Twa ~= Ta
2. HDD-SSD (с небыстрого диска на быстрый диск на локальном хосте)
Twa ~= 0.7*Ka*Ta
3. SSD-LAN-SSD (с быстрого диска на быстрый диск через локальную сеть)
Twa ~= 1.1*Ta
4. SSD-WAN-SSD (с быстрого диска на быстрый диск через высоколатентную сеть(канал с филиалом))
Twa ~= Ka*Ta
PS: Удивил результат 2-го сценария. При коэффициентах сжатия от ~1.45 и выше даже тут zstd уже имеет смысл.
PPS: Все результаты получены путём поверхностной проверки в реальном окружении и полноценным тестом не являются. Короче Disclaimer.
Имхо, с учётом кучи освобождённого места при хранении и как минимум неотставания распаковки от прямого копирования во всех сценариях - смысл в использования сжатия очевиден.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39898026
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виндовый zstd собиратся --with-zlib и умеет ещё gzip.
Можно не запоминать марсианские команды 7z - мелочь, а приятно
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39898106
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ABog,

спасибо за тестирование.
...
Рейтинг: 0 / 0
NBACKUP с перенаправлением
    #39898321
ABog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Вообще не вопрос. Тебе спасибо, что было что тестировать.
PS: С удовольствием бы протестировал такую же фичу и для gbak -c(-b) -se, когда stdin(stdout) недоступен и сжать(распаковать) динамически не возможно. Ну это так, мечтательно :)
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / NBACKUP с перенаправлением
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]