起因
最近在牙医大神的论坛cyberbus里看到第一届晒机大奖赛的奖品是一台外置LTO4磁带机,动心了。无奈参赛规则里说明了这次活动针对的是单台设备,不包括集群,而我又没有一台能够拿得出手的单机,只能作罢了。
最早对磁带介质起意的时候即便是二手价格也是大几千,加上磁带机算了下平均每T价格对比硬盘其实没有很大的优势,便放弃了。这两天刷闲鱼发现一台450块的LTO-5磁带机,看着是从磁带库拆机的模块,卖家像是收破烂的什么都不懂,磁头寿命、通电时间一概不通,一口咬死好用的。于是还价了100块,想着350赌一把也还行。
关于数据磁带
数据磁带理论寿命说是能达到30年,虽然对存储环境温度湿度有要求,但是相比磁带本身,可能30年后磁带机还能不能正常工作才是个问题吧。众所周知磁带机可以向前写一代,向前读两代,意味着即便磁带保存良好,30年后还能找到可用的5-7代磁带机才是个问题。
因此,与其说是拿来永久存储重要资料,倒不如说作为玩具,填充那空缺的技术板块。
Make it work
由于是磁带库拆机的磁带驱动器,所以不像外置磁带机一样可以直接使用,但是本质上是一样的,只是加了一个转换托架,把供电和FC光口转接了出来,以及少了外壳和前面板。
确定供电接口定义
转换托架通过一块PCB把模块做成了可插拔的形式,将风扇、磁带机供电、磁带机控制功能转接到了这块pcb上,因为设计目标是插到磁带库上的,所以要改造供电接口来使用。
好消息是买到的这个模块和B站up主翼王视频里的磁带机是一样的,只是他的是LTO6,我手头的是LTO5,供电接口同样也是MX3.0 4pin,不过他的至少电源线用了黄色和红色标记了12v5v,我手头的供电线都是黑色,虽然大概率是同一标准,万一不是就糟了。
于是开始了电源接口定义的调查。从PCB上电源座的走向来看,是从金手指经过红框里的3个型号是FDS6673AZ的MOSFET供给电源座,其中上面两个是并联供给电源座pin1,下面一个供给电源座pin4,pin2-3是GND,所以只要确认1和4哪个是5v哪个是12v。
电子外行,只能用笨办法,从能下手的地方找蛛丝马迹。试着从风扇3pin插座解谜。还是中间是GND,蓝色框里的3.3v电源管理芯片经过滤波后连接到了pin1,pin3则是由绿框里的型号是25P03LG-VB的MOSFET供电,而源极连接到了红框里的单个的MOSFET漏极。意味着风扇座的pin3和电源座的pin4是同样的电压。而pin1则是tach转速信号。
风扇铭牌告诉了我这是一个12V风扇,所以结果就出来了,电源座从上到下分别是5v、GND、GND、12V。
从磁带机铭牌得知12v/5v电流分别是1.5A和4A,所以5V线路用了2颗MOSFET,也印证了我的分析结果。和翼王视频里LTO-6的电源接口定义是一致的。
周边配件
磁带机的接口分两种,FC和SAS,2代之前可能还有SCSI口,我手头这台就是FC口的,所以需要一张FC HBA卡,光纤则需要根据FC光模块选择单模或者多模。
关于数据磁带,闲鱼上有60一盘的全新磁带或者30一盘的二手磁带,LTO-5是1.5T压缩3T单盘容量,当1.5T即可,每TB价格也低于二手大容量企业级机械盘,作为归档性价比不错。
另外磁带机和光盘机一样,有清洗带这东西,清洗带还有使用次数,emm…
没有那么简单
本以为通电一切正常,连上HBA卡就能识别到设备了,事实上并没那么简单。HPE的SAS接口磁带机确实如此,但是IBM的不行。
上电后数码管显示数字2,尝试单击、连点、长按唯一的按钮之后,进入了一个选择菜单,再次长按后退出了选择模式。查询官方文档得知,这是进入了Maintenance模式。甚至我可以在维护模式L操作下装载/卸载磁带,看上去机器的机械结构没问题,这令我信心大增。
然而退出维护模式绿灯常亮之后,看似进入了就绪状态,但是连接HBA卡,端口的连接状态还是down,操作系统无法识别到设备。这个情况和翼王视频里的一样,只是视频里最后莫名其妙好了,也没有说明白原因。
于是开启了漫长的排查,怀疑HBA卡兼容性问题,换了一块8Gbps的HBA卡,无效。陷入沉思,直到发现设备测的光模块TX并没有发光,因为多模模块850nm波长是可见光,在正常工作状态下TX是能看到微弱红光的。而只有HBA侧有红光,用光功率计验证了这个猜想。
交叉测试了两端的光模块都是好的,一度怀疑是设备光口损坏的原因,毕竟是二手设备。找其他买家验证了同型号插在带库上模块是有发光的,卖家倒是很负责,又发了一台确定正常的过来,而结果还是一样。
再次陷入长考,这时候不得不沉下心来整理思路。
怀疑磁带机需要带库发送就绪信号才能正常进入工作,虽然没有带库,抱着死马当活马医的想法,再次把PCB小板接回了设备,按照供电定义直接给PCB金手指供电。结果风扇是转了,但是磁带机的电源MOSFET并没有开启,看来还是缺少带库的信号。
事情有了转机
转机来自Github上AC7RNsphnHVbyT4/ibm-tape-drive-automatic-standalone项目,原来已经有人成功让IBM磁带机独立工作了。和我猜想一致,需要通过那组控制线给磁带机一个set_config消息。
并且设备后背的DIP开关需要拨到全OFF,具体的定义文档里给出了,收到设备的时候pin5是ON,即ADI模式,而我们需要使用LDI模式。这也是为什么学着翼王把后四位设为ON也没有用。
使用LDI模式上电后,数码管会显示2并且任何操作都没响应。翼王视频最后也提到了这个表格。只是他没有讲清楚,不知道他的团队怎么让那台机器工作正常了,或许找了别人,或许知道后留了一手。
AC7RNsphnHVbyT4的文档里得知设备用的是RS422通讯,用到了JST-SH 10Pin中的前5针。issues里其他用户也提到了接线顺序的事情,确认了手头型号的接口定义。
红色框里这颗VP31 05k CHVL是串口转换芯片,根据数据手册定义使用万用表确认了控制线1-5pin(假设10针jst接口空针为pin10)分别连接RSS422的TX+、TX-、GND、RX-、RX+。
直到这里,已经大概能确定可以让机器运作起来了。
醒来吧老家伙
按照DIP1、2、4pin的信息配置串口,使用HEX收发。设备启动后,发送00设备会响应<0xfa>IBM。之后设备会周期发送轮询信息,需要在收到轮询信息后立即以HEX发送set_config信息,具体信令含义可以参考文档。
020036AC0100000001FFF2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E603
然后设备会自动重启,就能看到FC端口开启了,HBA卡也能成功识别到磁带机。
串口操作只要执行一次,之后重新上电也会自动进入standalone模式。
驱动软件
从IBM官网下载安装LTFS软件IBM_LTFS_SDE_2.4.5.1.10503_x64.exe,把磁带映射成盘符挂载到操作系统。
这里盘符E显示感叹号是因为两台磁带机只连接了其中一台。正常格式化磁带后就能看到可用容量了,LTO5压缩前可用容量是1.3TB左右。
小插曲
顺利识别读盘后,在格式化或者读写的时候偶然会报错,数码管显示代码2,操作会报错。后来找到了这篇文档,没想到连在IBM官网都找不到的文档还能在联想官网找到中文版,不过想想也合理。
查询得知是供电问题,意识到是改电源线用的SATA刺破头的原因,看来刺破头还是不可靠,尤其是末端的那个,很容易虚接。而磁带机对5V供电的要求又很高,重新做了电源线解决。
另外,Win10在安装了KB5025221和KB5023706之后,使用LTFS读写磁带会出现错误0x800703e6内存位置访问无效,并且IBM当月确认不再修复BUG,终止了Windows版的LTFS软件,Windows Server操作系统不受影响。意味着如果仍旧想在win10上使用LTFS,则只能手动卸载安全补丁。
备份软件
备份软件可以用IperiusBackup,当然主流的备份产品NBU、Veeam这种也是支持磁带介质的。
3210原则
第一次听说这个概念还是20年和Veeam原厂工程师交流得知,这次算是用磁带达成了3210原则.ceph集群作为主存储、SMR磁盘作为温存储归档、磁带作为冷归档实现3副本。分别用磁盘和磁带两种介质实现2中介质。再定期将aes-256-cbc加密压缩后的文件上传至阿里云盘。希望未来想要重温这些文件的时候还能够顺利获取。
外壳
现在临时的状态是这样的,也没有风扇,之后会3D打印一个外壳,到时候再更新这部分内容。
后记
最后卖家也没有把第一台磁带机要回去,算是捡漏了。从最初想着花400块买个玩具大不了当摆件,没想到不小心跳进了兔子洞,经历了几次绝望后最终解决,很久没有获得这样的快乐了。捡垃圾就是如此,充满着未知和惊喜,廉价的快乐,而积攒的知识是一生的财富。