Rychlost /dev/random je opravdu bídná. Rychlejší je /dev/urandom které dává 5,2MB/s
# dd if=/dev/urandom of=/tmp/smaz.txt count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 98.3409 s, 5.2 MB/s
Pro test pásky je to ale málo.
Nejrychlejší /dev/zero už na test stačí. Do /dev/null dává 539MB/s:
# dd if=/dev/zero of=/dev/null count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 0.949387 s, 539 MB/s
Jenže když to pošlu na pásku, tak to v podstatě ignoruje a netočí se, zřejmě protože komprese. Až nakonec na chvilku zavrčí. Výsledná rychlost rychlost je stejná, tedy kolem 11MB/s:
dd if=/dev/zero of=/dev/nst0 bs=65536 count=10000
10000+0 records in
10000+0 records out
655360000 bytes (655 MB) copied, 55.6942 s, 11.8 MB/s
Při vypnutí komprese se už páska točí, ale pořád stejně, tedy 7 vteřin jede, pak 3 vteřiny stojí a tak pořád dokola:
# mt -f /dev/st0 defcompression -1
# mt -f /dev/st0 compression off
# dd if=/dev/zero of=/dev/nst0 bs=65536 count=10000
10000+0 records in
10000+0 records out
655360000 bytes (655 MB) copied, 55.5325 s, 11.8 MB/s
Když čtu z pásky regulerní tar soubor s daty a výstup dám do /dev/null, tak páska zastavuje:
# dd if=/dev/nst0 of=/dev/null bs=65536
25859+0 records in
25859+0 records out
1694695424 bytes (1.7 GB) copied, 138.143 s, 12.3 MB/s
Když chci použít větší bloky než 64kB, tak to hodí chybu:
# dd if=/dev/nst0 of=/dev/null bs=131072
dd: reading `/dev/nst0': Device or resource busy
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000500041 s, 0.0 kB/s
Zkusil jsem nainstalovat ovladač lin_tape od IBM, výsledek je však pořád stejný. Démon lin_taped vytvoří zařízení /dev/IBMtape0. Chování je ale identické jako u původního /dev/st0, tady neumožní větší bloky jak 64kB a páska zastavuje.
Všechno to ukazuje na omezenou rychlost sběrnice.
Zarazilo mne taky to "SCSI 2 tape drive" ve statusu mt:
# mt -f /dev/st0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x42 (LTO-2).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
Díval jsem se do zdrojáku mt a pokud jsem to dobře pochopil, neznamená to přímo, že by se jednalo o pomalé rozhraní SCSI 2 s propustností 10MB/s. Ono ve zdrojáku mt je jen pár možností, které to umí vypsat ("SCSI 1", "SCSI 2", "OnStream SC-, DI-, DP-, or USB", "qic-117 drive type", "IDE-Tape" a "Unknown tape drive type").