dd无法写入磁带机

我试图将我们的在线备份转储到磁带上; 由于显而易见的原因,我想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