[РЕШЕНО] HP Ultrium 960 data compression

Автор terminazaurus, 01 декабря 2014, 11:53:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

terminazaurus

Есть стриммер Ultrium 960 и ленты к нему на 400/800 Gb. Система Debian Wheezy 7.7. Нужно настроить запись на ленту со сжатием, чтобы можно было писать 800 Gb, а не 400, как сейчас.

root@host ~# tapeinfo -f /dev/nst0
Product Type: Tape Drive
Vendor ID: 'HP      '
Product ID: 'Ultrium 3-SCSI  '
Revision: 'G54D'
Attached Changer API: No
SerialNumber: '**********'
MinBlock: 1
MaxBlock: 16777215
SCSI ID: 3
SCSI LUN: 0
Ready: yes
BufferedMode: yes
Medium Type: Not Loaded
Density Code: 0x44
BlockSize: 0
DataCompEnabled: yes
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0x1
DeCompType: 0x1
BOP: yes
Block Position: 0
Partition 0 Remaining Kbytes: 400308
Partition 0 Size in Kbytes: 400308
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions: 0
MaxPartitions: 0

Для настройки stinit.def использовал официальную вики Debian. Но учитывая то, что там нет отдельного кофига под LTO-3, я взял конфиг от LTO-4 и подправил в соответсвии с оборудованием.

root@host ~# cat /etc/stinit.def
manufacturer="HP" model="Ultrium 3-SCSI" {
scsi2logical=1
can-bsr=1
auto-lock=1
two-fms=0
drive-buffering=1
buffer-writes
read-ahead=1
async-writes=1
can-partitions=0
fast-mteom=0
sysv=1
timeout=180
long-timeout=14400
mode1 blocksize=0 compression=0 density=0x44
mode2 blocksize=0 compression=1 density=0x44
mode3 disabled=1
mode4 disabled=1
}

Полсле чего выполнил

root@host ~# stinit -v -v /dev/nst0
Trying to open database '/etc/stinit.def'.
Open succeeded.

stinit, processing tape 0
Mode 1, name '/dev/nst0'
Mode 2, name '/dev/nst0l'
Mode 3, name '/dev/nst0m'
Mode 4, name '/dev/nst0a'
The manufacturer is 'HP', product is 'Ultrium 3-SCSI', and revision 'G54D'.
Mode 1 definition: scsi2logical=1 can-bsr=1 auto-lock=1 two-fms=0 drive-buffering=1 buffer-writes read-ahead=1 async-writes=1 can-partitions=0 fast-mteom=0 sysv=1 timeout=180  long-timeout=14400  blocksize=0 compression=0 density=0x44
Mode 2 definition: scsi2logical=1 can-bsr=1 auto-lock=1 two-fms=0 drive-buffering=1 buffer-writes read-ahead=1 async-writes=1 can-partitions=0 fast-mteom=0 sysv=1 timeout=180  long-timeout=14400  blocksize=0 compression=1 density=0x44
Mode 3 definition: scsi2logical=1 can-bsr=1 auto-lock=1 two-fms=0 drive-buffering=1 buffer-writes read-ahead=1 async-writes=1 can-partitions=0 fast-mteom=0 sysv=1 timeout=180  long-timeout=14400  disabled=1
Mode 4 definition: scsi2logical=1 can-bsr=1 auto-lock=1 two-fms=0 drive-buffering=1 buffer-writes read-ahead=1 async-writes=1 can-partitions=0 fast-mteom=0 sysv=1 timeout=180  long-timeout=14400  disabled=1

Bacula пишет в устройство /dev/nst0l, но все равно на ленту записывается только 400 Gb, а не 800.
На всякий случай приведу конфиг Bacula.

root@host ~# cat /etc/bacula/conf.d/device.conf
Device {
        Name = "ultrium960"
        DeviceType = Tape
        MediaType = LTO-3
        ArchiveDevice = "/dev/nst0l"
        LabelMedia = yes
        RandomAccess = no
        AutomaticMount = yes
        RemovableMedia = yes
        AlwaysOpen = yes
        BlockChecksum = yes
}

ogost

коллега, я сам тоже наткнулся на некий, ultrium hh4, до конца ещё не разобрался.
будут сподвижки - поделюсь.
а в конфигах в /etc/stinit.def  у вас указано:
mode1 blocksize=0 compression=0 density=0x44
возможно нужно копать в эту сторону.

terminazaurus

#2
Цитата: ogost от 01 декабря 2014, 12:42:07
коллега, я сам тоже наткнулся на некий, ultrium hh4, до конца ещё не разобрался.
будут сподвижки - поделюсь.
а в конфигах в /etc/stinit.def  у вас указано:
mode1 blocksize=0 compression=0 density=0x44
возможно нужно копать в эту сторону.
Помимо официальной вики я руководствовался вот этим документом, может будет полезен.
С его помощью stinit.def и сконфигурирован. А compression=0, это только для режима mode1, как раз подразумевает, что при записи в устройство /dev/nst0, компрессия не используется, а в режиме mode2, при записи в устройство /dev/nst0l, должна использоваться.
Кстати, IBM Ultrium HH4 — это LTO-4, в официальной вики есть конфиги.

ogost

#3
спасибо за наводку.
тут говорят, нужно сделать mt -f /dev/st0 compression 1 для того, чтобы включить компрессию (оно в дефолте так и установлено). гуглю дальше.
отбой, эта опция устанавливается в /etc/stinit.def, как и уже указано у вас.
я вот только не пойму, почему у меня пишет
Partition 0 Remaining Kbytes: -1
Partition 0 Size in Kbytes: -1


terminazaurus

Решение найдено, а вернее причина. Конфигурация верная, аппаратное сжатие данных работало, просто оно было не эффективно из-за программного сжатия Bacul'ы. После отключения сжатия в Bacul'e все заработало и удалось записать на ленту больше 400 Gb. Теперь осталось определить, какое сжатие эффективнее и менее требовательно к ресурсам, но это уже другая история.