Тар на ленту: номер блока и коэффициент блокировки

2664
idrevettenome

Размер блока 64 КБ предназначен для максимизации пропускной способности и предотвращения «блеска обуви».

mt -f /dev/nst0 setblk 64k  tar -c -v -R -b128 -f /dev/nst0 test_dir 

возвращает:

bloc 0 : test_dir/ bloc 1 : test_dir/file_1.bin bloc 204802 : test_dir/file_2.bin bloc 2252803 : test_dir/file_3.bin bloc 4300804 : test_dir/file_4.bin ... 

Но номер блока на tarвыходе соответствует размеру блока 512 В, несмотря на то, что коэффициент блокировки дает размер блока 64 КБ (128 * 512).

И затем, независимо от размера блока команды mt (переменная, 64 КБ).

Целью будет произвольный доступ в Tar-ленту. Конвертировать размер блока 64 КБ в 512 означает обрезать.

Есть ли способ сопоставления записей размером tarи mt?

0
Выдержки из man-страниц команды `st` (более подробно, как` mt`): _italic_Many программы (например, tar (1) `) позволяют пользователю указывать коэффициент блокировки в командной строке. Обратите внимание, что это определяет размер физического блока на ленте только в режиме переменного блока. idrevettenome 8 лет назад 0
Но, как я упоминал выше, я попытался с помощью `mt -f / dev / nst0 setblk 0`. Просмотрено на форуме: _italic_tar / dd / любой другой размер блока! = (SCSI) блок драйвера ленточного устройства _italic_ ([http://www.linuxmisc.com/14-unix-administering/b290ded6513059e2.htm]) idrevettenome 8 лет назад 0

2 ответа на вопрос

0
rayzinpwr

ОБНОВЛЕНИЕ: Arg! Вот тебе и тесты. Только что сделал полное резервное копирование, и tar с размером блока / записи по умолчанию работал примерно на 25% медленнее. Итак, я вернулся к использованию -b2048. Попробую -b1024 и посмотрим как пойдет.

Ладно, просто провёл несколько тестов. Мой совет - установить размер блока ленты на 0 (переменная) и выбрать блок / запись tar по вашему выбору. Я проверил, используя размер блока ленты 1M и 512K с соответствующими размерами записи tar (-b2048 = 1M -b1024 = 512K), а затем я установил размер блока ленты 0 и проверил, используя tar -b2048 и -b1024, и не было никакой разницы, Затем я снова запустил тест с 'setblk 0', но с размером блока tar по умолчанию 512 (другими словами, без -bxxxx) для общей длины записи 10240 байт, но без разницы в производительности.

Я использую Quantum LTO-5. Пока вы существенно превышаете 512 байт (я считаю, что по умолчанию LTO-5), вы должны быть в порядке, и вряд ли вы будете испытывать какие-либо проблемы с обувью. IMO, единственная причина установить размер блока диска (вместо переменного) - игнорирование размера программного блока (размер записи в случае tar).

Примечание. Размер блока по умолчанию для tar равен 512 байт x 20, а общий «размер записи» составляет 10240 байт. Кстати, все мои тесты завершились в течение 12 секунд, что составляет ~ 141 000 000 байт / с, максимальной пропускной способности LTO-5.

0
Abner

Мои результаты с --blocking-factor при использовании tar для записи на несколько архивов tar размером от 200 до 300 ГБ.

  • - коэффициент блокирования 256 пропускной способности от 62 до 68 МБ / с.

  • - коэффициент блокировки 1024, пропускная способность 87 МБ / с.

Я намерен провести больше экспериментов с еще большими блокирующими факторами.

Выше получен с размером аппаратного блока по умолчанию (я думаю, переменная) и без сжатия.

Мое оборудование указано ниже:

  • HP EH958B StorageWorks Ultrium 3000 LTO-5 1,5 / 3 ТБ SAS (Serial Attached SCSI) Внешний ленточный накопитель половинной высоты LTO5

  • Ленточный картридж TDK LTO-5 Ultrium 1,5 ТБ / 3,0 ТБ LTO Лента Ultrium-5

  • Технология ATTO ExpressSAS H680 PCIe 2.0 Низкопрофильная карта SAS HBA 6 Гбит / с (внешние порты) P / N: ESAS-H680-000

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