我正在尝试在 Linux 下的 LTO-4 驱动器上设置加密密钥。我成功地做了一次,重启了驱动器,现在我无法让驱动器再次接受密钥。
我正在使用的命令是这样的:
$ stenc -f /dev/nst0 -a 1 -e on -k test.key
Provided key length is 256 bits.
Key checksum is 7a43.
Turning on encryption on device '/dev/nst0'...
Sense Code: Illegal Request (0x05)
ASC: 0x26
ASCQ: 0x00
Additional data: 0x00000000000000000000000000000000
Error: Turning encryption on for '/dev/nst0' failed!
Usage: stenc --version | -g <length> -k <file> [-kd <description>] | -f <device> [--detail] [-e <on/mixed/rawread/off> [-k <file>] [-kd <description>] [-a <index>] [--protect | --unprotect] [--ckod] ]
Type 'man stenc' for more information.
驱动器是 HP,所以我需要使用,-a 1
但是不同的值不会改变结果。改用/dev/sg1
也有同样的问题。
磁带是 LTO-4,因此支持加密:
$ mt-st -f /dev/nst0 status
SCSI 2 tape drive:
File number=0, 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 (41010000):
BOT ONLINE IM_REP_EN
我运行了 HP Tape & Library Tools 并使用同一磁带进行了加密测试,它通过了,所以驱动器似乎能够设置密钥,只是stenc
由于某种原因不能通过程序。
我发现一个 SCSI 手册说 ASC 0x26 是“参数列表中的无效字段”,这并没有真正解释太多。
有没有其他人以前见过这个错误,或者有任何想法如何让驱动器接受密钥?
像往常一样,数小时的故障排除毫无意义,但在公共论坛上发布问题会立即揭示问题。
stenc 1.0.7 中有一个错误,如果
--detail
在空白磁带上使用会导致崩溃。我试图联系作者进行修复,但无法联系到他。似乎这次崩溃使驱动器处于不一致的状态,它拒绝接受更多的密钥。修复错误然后在
stenc --detail
没有崩溃的情况下运行似乎已经解决了这个问题。我现在可以多次设置任何键,并且没有其他问题。如果其他人有同样的问题,在
stenc-1.0.7/sec/scsiencrypt.cpp
第 176 行它说delete status;
。您需要在此下方直接添加一个新行,内容为status=NULL;
. 这修复了导致崩溃的双重释放错误。从 CentOS 7.3 或 7.4(7.2 有效)开始,我在尝试启用加密时遇到了另一个随机出现的非法请求错误。
我发现 SCSI 命令中的一些保留位未正确初始化。设置时
#define DEBUGSCSI
可以看到这些位在每次调用时都不同。添加以下内容
memset()
以scsiencrypt.cpp
修复它:我花了一天时间调试为什么我们的 Quantum LTO7 HH 驱动器在我们使用完全修补的 1.0.7 配置加密时不断给出 Sense 错误
stenc
,而不管上传时使用的选项如何。最后,我们发现在我们的例子中,这是因为我们在生成密钥时设置了一个密钥描述符——使用生成密钥
stenc -g 256 -k test.key -kd TESTKEY
然后上传它stenc -f /dev/nst0 -e on -k test.key -a 1
会失败,而stenc -g 256 -k test.key
使用相同的命令上传会成功。希望这对某人有帮助!我通过更新固件解决了 IBM SCSI LTO-4 驱动器上的一个稍微不同
stenc
的错误。出厂固件似乎根本不支持加密。我的错误是:
这些固件位于 IBM 网站的付费墙后面,但您可以在 IBM FTP 服务器上稍作挖掘(它们不够公开,我觉得我可以直接链接),或者在联想网站上:https ://datacentersupport.lenovo.com/gb/en/products/storage/tape-and-backup/ts3200/6173/downloads/driver-list/component?name=Software%20and%20Utilities