(tar: / dev / nst0: невозможно прочитать: невозможно выделить память) с помощью tar, pv и стримера

Я пытаюсь использовать pv (pipeviewer) вместе с tar для создания резервных копий на ленту, чтобы увидеть ход и т. Д., Например:

du -s /home/myuser
115630916   /home/myuser
tar -cf - /home/myuser/ | pv -s 115630916 > /dev/nst0

, который работает нормально, записывает на ленту успешно. Но как только я пытаюсь проверить архив tar:

mt -f /dev/nst0 rewind
tar -tvf /dev/nst0

я получаю следующие ошибки:

tar: /dev/nst0: Cannot read: Cannot allocate memory
tar: At beginning of tape, quitting now
tar: Error is not recoverable: exiting

Я погуглил, и были предложения, которые я использую --blocking-factor=128 при создании моей резервной копии и восстановлении. Я все еще получаю ту же ошибку.

Также стоит отметить, что если я просто использую tar, все будет работать на 100%, включая восстановление, так что, возможно, pv сломает его?

1
задан 18 January 2012 в 12:43

2 ответа

Решил, pv создавал другой размер блока / буфера ...

Со страницы pv man :

Размер буфера по умолчанию - это размер блока файловой системы входного файла, умноженный на 32 (максимум 512 КБ) или 400 КБ, если блок размер не может быть определен.

Со страницы tar man :

размер блока Nx512 байт (по умолчанию N = 20)

задайте правильный размер буфера для pv как (20 x 512 = 10240)

tar -cf - /home/myuser/ | pv -B 10240 -s 142524k > /dev/nst0

Теперь, если вы тестируете архив с помощью tar -tvf /dev/nst0, он должен работать.

0
ответ дан 18 January 2012 в 12:43

У меня была очень похожая ошибка, но я не использовал pv или что-то еще в канале между tar и ленточным устройством.

Бит фактора блокировки является ключевым, хотя. Я бы прочитал, что для достижения наилучших результатов, вы должны использовать больший размер блока, чем по умолчанию, поэтому я использовал коэффициент блокировки 512 в командной строке tar:

tar -b 512 -cf /dev/tape files

К сожалению, tar не вычисляется автоматически фактор блокировки, и вы должны указать его при восстановлении.

tar -b 512 -xpf /dev/tape
0
ответ дан 18 January 2012 в 12:43

Другие вопросы по тегам:

Похожие вопросы: