环境

CentOS 7.9
LSI 2308阵列卡

磁带与磁带机

为了备份一些长期不用的冷数据,个人选择了LTO Ultrium 5[1]磁带,在此时(2021年底)性价比是很高的,磁带容量未压缩1.5TB,压缩后3TB,并且支持LTFS (Linear Tape File System)[2],操作文件更加方便,由于磁带机可以向下兼容,我们还可以使用更便宜的LTO4磁带,当然LTO5磁带机的价格也是比较亲民。

由于LTO是一个标准,所以不同品牌机器与磁带是可以混用的。

各类型磁带对比

格式 LTO-1 LTO-2 LTO-3 LTO-4 LTO-5 LTO-6 LTO-7 LTO-8 LTO-9
发布时间 2000 2003年 2005年 2007年 2010 2012年 2015 年 2017 年 2021 年
正常容量 100 GB 200 GB 400 GB 800 GB 1.5TB 2.5TB 6TB 12TB 18TB
压缩容量 200 GB 400 GB 800 GB 1.6 TB 3.0 TB 6.25 TB 15 TB 30 TB 45 TB
最大未压缩速度 20M/s 40M/s 80M/s 120M/s 140M/s 160M/s 300M/s 360M/s 400M/s
最大压缩速度 40M/s 80M/s 160M/s 240M/s 280M/s 400M/s 750M/s 900M/s 1000M/s
全盘写入时间 1时23分 1时23分 1时23分 1 时 51分 3时10分 4时20分 5时33分 8时20分 9时16分
LTFS支持
磁带长度 609米 609米 680米 820米 846米 846米 960米 960米 1035米
磁道数量 384 512 704 896 1280 2176 3584 6656 8960

磁带与磁带机兼容情况

磁带 Ultrium 1 Ultrium 2 Ultrium 3 Ultrium 4 Ultrium 5 Ultrium 6 Ultrium 7 Ultrium 8
Ultrium 1 读写 读写 NC NC NC NC NC
Ultrium 2 NC 读写 读写 NC NC NC NC
Ultrium 3 NC NC 读写 读写 NC NC NC
Ultrium 4 NC NC NC 读写 读写 NC NC
Ultrium 5 NC NC NC NC 读写 读写 NC
Ultrium 6 NC NC NC NC NC 读写 读写 NC
Ultrium 7 NC NC NC NC NC NC 读写 读写
Ultrium 8 NC NC NC NC NC NC NC 读写

NC为不支持,横向为机器,纵向为磁带

硬件

一般市面上分为两种接口的磁带机(SAS、FC),无法与正常PC连接,所以需要阵列卡进行转换,电源一般可用sata接口,或大4pin接口供电,一般电源都有提供,提示:切勿用大4pin转sata

  • sas接口的磁带机
  • LSI 2308芯片的阵列卡
  • SFF-8087转SFF-8482 sas硬盘连接线
  • 普通PC一台
  • 含有光驱口的机箱(注意光驱口大小)

系统操作

检查设备驱动

$ lsscsi -g

[0:0:0:0]    tape    HP       Ultrium 5-SCSI   Z3ED  /dev/st0   /dev/sg1

检查磁带机的状态

磁带机有两种设备文件,区别在于写入完成后操作

$ ls /dev | grep st0

nst0
st0

/dev/st0 写入完成后自动倒带
/dev/nst0 写入完成后,磁头移动到下一个可写位置

磁带机操作

yum install mt-st mtx

mt[3]的常用操作有

# 磁带机状态
mt -f /dev/st0 status
# 倒带
mt -f /dev/st0 rewind
# 弹出,将磁带卷至初始位置然后从磁带机内弹出磁带
mt -f /dev/st0 offline

tapeinfo[4]可以查看磁带设备信息

$ tapeinfo -f /dev/st0

Product Type: Tape Drive
Vendor ID: 'HP      '
Product ID: 'Ultrium 5-SCSI  '
Revision: 'Z3ED'
...略

LTFS操作

LTFS (Linear Tape File System)可以用在LTO5以上的磁带机,在操作系统内可以将磁带看作一个磁盘去操作,虽然看起来像磁盘,但还是按照顺序来保存数据,被删除的文件不会释放空间,重新格式化之后,才会恢复容量

LTFS虽然是通用标准,但是针对各家磁带机的时驱动不太兼容
IBM和DELL(IBM代工)的机器推荐用 LinearTapeFileSystem/ltfs Github [5]
由于我是HP,所以使用HP-SOS HPE-LTFS[6]

编译环境

yum gcc icu libicu libicu-devel fuse fuse-libs fuse-devel libxml2 libxml2-devel e2fsprogs  uuid uuid-devel libuuid libuuid-devel

格式化磁带 (tape-serial为磁带序列号)

mkltfs --tape-serial=C00000 -f -d /dev/st0

挂载磁带

ltfs -o devname=/dev/st0 /mnt/ltfs

卸载磁带

umount /mnt/ltfs

磁带的保存

磁带的保存似乎并没有一般人想象的那么严苛,国家也有相应的标准 DA/T83—2019[7]

环境 温度 湿度
保存 15 ℃ ~ 24 ℃ 40% ~ 60%
工作 10 ℃ ~ 26 ℃ 40% ~ 70%
运输 4 ℃ ~ 32 ℃ 20% ~ 80%

避免突然的温度波动,远离磁场
一般来说正常室温一个接近密封箱子,里面加点干燥剂,放在一个角落足够了

最后

磁带机是否实用,因人而异,因数据而异,磁带对于大量数据的存储成本非常低。磁带较多时,需要对磁带进行索引,比如存储了什么东西,上次倒带在什么时候,当然钞能力也可以解决这些问题(上磁带库[8])。


  1. Linear Tape Open wikipedia ↩︎

  2. Linear Tape File System wikipedia ↩︎

  3. mt磁带机操作 ↩︎

  4. tapeinfo磁带机信息 ↩︎

  5. IBM LTFS Github ↩︎

  6. HPE StoreOpen Software (HPE-SOS) HPE-LTFS ↩︎

  7. 国家档案行业标准 DA/T83—2019 ↩︎

  8. Tape library wikipedia ↩︎