HC550: 02023 年时,我只需 800 块,那时你对我爱答不理,今天我让你高攀不起。
如今的存储市场,连二手 HC550 都得两千 CNY 起步,机械硬盘再也不是我等穷鬼能用得起的存储设备了。让我们把目光转向 LTO 磁带吧!
我于 02025-08-30 以 2299 CNY 的价格购入了台 HP MSL4048 的带库(含一个 LTO6 的 SAS driver)。
磁带库和磁带机相比服务器要金贵,最重要的就是做好无尘,磁带库手册上明确说需要基本的 ISO 8 级无尘(大部分无尘机房的环境)。有幸见识过在普通室内环境 7×24 工作多年的库、机、平均全量读写400次的带子,袋子里面都进了肉眼可见的一层灰,它们最终都提前退休报废了。
正经的无尘机房当然是封闭室内空间+FFU。但是我们没钱,又想给我们的设备(即使是二手的设备)无尘的环境,可是咱们没钱,咋办呢?

淘宝花 200 CNY 买个二手小米空气净化器2,倒着放,让它把干净空气从上至下灌进机柜里,机柜中成正压。空气净化器的长宽正好是 24×24,刚好匹配我机柜的 27×27 的上通风口。多出来的几厘米边边角角用静电棉给堵上就成。以后只需要每 5 个月换 20~30 CNY 的滤芯。

这个磁带机运行起来比服务器还吵,主要是驱动器的外置暴力风扇,上电就疯狂吹。翻了下库的带外管理,发现可以单独开关机驱动器电源,单独关机后就不算吵了。
然后,这个库的带外管理模块需要库本身开机才能工作。😅我没找到来电开机的设置,所以不能简单用智能插座解决远程开机问题。于是我淘宝了个支持米家的蓝牙断路器,烙在库的开机键上。
原本打算在开关旁边打孔,从开关电位引出线来,接我的蓝牙断路器。结果打出下面两个孔,被屏幕挡着,用不了。再打出上面两个孔,被开关的传动机构挡着,还是用不了。只好把开关拆了。
怎么知道这样的逆天 DIY 方案到底能不能行呢?
ISO 规定的洁净等级是按照每立方各直径的颗粒数量来区分的。而我们从一般的空气质量传感器和气象站看到的 PM2.5 和 PM10 用的单位是 ug/m3。
PM10,颗粒直径按平均 5um 算。
单位体积 V = 4/3 * π * (5/2)^3 = 65.45 um3
颗粒数量 PCS = X / (V * D)
X = 气象站出的数据 (ug/m3)
V = 65.45 μm3
D = 1.7 g/cm3 = 1.7*10^9 μg/m3 (用 https://pubs.acs.org/doi/abs/10.1021/es204073t 推算)
V = 65.45 * 1e-18 # m3
D = 1.7e9 # ug/m3
def pcs(x): # x in ug/m3
return x / (V * D)
ISO 8 级洁净要求
>= 0.5um 3520,000
>= 1um 832,000
>= 5um 29,300
就按 5um 来算,29300 pcs/ m3
pcs_limit = 29300 # pcs/m3
def quota(x): # x in ug/m3
return pcs(x) / pcs_limit
>>> quota(1)
306.7423972746551
>>> quota(22)
6748.332740042413
这样粗略算下来,我家附近的环境空气洁净度超标 6.7k 倍。就算 PM10 是 1ug/m3,也超标了 300 倍。而多数成品空气质量检测器(包块空气净化器自带的)的输出分辨率也才 1ug/m3,所以它们都不能用来测机柜内到底是不是 ISO 8 洁净。
网上卖的正经尘埃颗粒计数器成品卖几百几千,但是家用空气净化器同款的检测模块只要52包邮,TTL 读数据就行。

模块能输出 0.3~10um 等各个直径的颗粒物的单位空间的质量和数量。
这种模块被多款空气净化器使用,厂商故意在低端机上面只读取PM2.5的质量数据,而在“高端机”上则再多读取PM10质量数据,美其名曰:“具有PM10粉尘传感器”。
另外,磁带库运行的允许湿度范围是 20-80,建议范围是 20-50。这个要求简单,放个小米蓝牙温湿度计,然后要用磁带库的时候如果超范围提前开空调除湿或者制冷就行。


半年过去了,本文发布时(02026-04-07)机柜内仍一尘不染。大成功!
接下来原本想谈谈怎么在 Linux 上用命令管理磁带库、驱动器、磁带的,但是网上这样的教程已经很多了,就不多赘述了:
- https://blog.benjojo.co.uk/post/lto-tape-backups-for-linux-nerds
- https://blogs.intellique.com/cgi-bin/tech/2022/01/27
- https://recursiveg.me/2021/09/lto-tape-drive-intro/
- https://web.archive.org/web/20241010112726/https://blog.jimmyho.net/archives/1242/
一些提示:
- LTO 磁带条码生成器我发现 https://kelvin.nu/barcode/ 最好用
- sg_logs /dev/nst0 -a 看所有元数据信息
- sg_logs /dev/nst0 -p 0x17 看磁带 RFID Tag 上的参数。一些参数可以用 sg_write_attr 写,参见 https://www.frederickding.com/posts/2024/06/much-easier-way-to-encode-lto-barcode-into-the-tape-cartridge-memory-1613780/
- mt 有两个版本,mt-gnu 与 mt-st,发行版一般默认 gnu 版,但 gnu 版缺很多常用命令,不想受罪就装 mt-st
以及我们并不使用 tar 来在磁带上存档数据,我们用 LTFS。LTFS 开发者的两篇博文值得一看:https://web.archive.org/web/20230211161809/https://www.smallersystems.com/blog/2011/06/how-does-ltfs-work/ 、https://web.archive.org/web/20230213170705/https://www.smallersystems.com/blog/2011/07/ltfs-consistency-and-index-snapshots/ 。
致谢
感谢 @yangyunfei
感谢 @madaoya