我试图将我们的在线备份转储到磁带上; 由于显而易见的原因,我想encryption磁带上的数据,因此要写入磁带,我需要将所有内容都打包,然后打开它来encryption,然后将其写入磁带:
tar c /etc | openssl aes-128-cbc -salt -pass "pass:Test123" | dd of=/dev/nst0
但是,它似乎是不喜欢这个。 从tar直接写入磁带工作正常:
svr-bup1 # tar cf /dev/nst0 /etc tar: Removing leading `/' from member names svr-bup1 #
添加dd到链中,并打破:
svr-bup1 # tar c /etc | dd of=/dev/nst0 tar: /dev/nst0: Cannot open: Device or resource busy tar: Error is not recoverable: exiting now 0+0 records in 0+0 records out 0 bytes (0 B) copied, 9.6274e-05 s, 0.0 kB/s
在使用和不使用openssl命令的情况下也是如此。 为了简化testing,我省略了它。
MT命令工作正常(与envvariablesTAPE设置):
svr-bup1 # mt status SCSI 2 tape drive: File number=6, block number=0, partition=0. Tape block size 0 bytes. Density code 0x46 (LTO-4). Soft error count since last status=0 General status bits on (81010000): EOF ONLINE IM_REP_EN svr-bup1 # mt rewi svr-bup1 #
硬件是在CentOS 6上使用mpt2sas驱动程序的HP 1720 LTO4 SAS驱动器。
您的tar版本似乎在默认情况下尝试写入磁带设备,而不是标准输出。 它似乎是GNU tar 。 自动检测磁带驱动器是 GNU tar 版本1.11.5之前的默认设置 ,我怀疑你有这样一个旧版本。 其他UNIX系统上的tar版本也可能会尝试默认写入磁带设备。
通过指定文件-强制tar写入标准输出:
tar cf - /etc | dd of=/dev/nst0