为LTO磁带而生的文件系统LTFS|主线任务—夺回“秋雅“

在LTO第一代到第四代,如果我们想要访问LTO磁带的内容,都需要厂商提供的特殊软件来支持,软件需要全部加在整个磁带的内容,才能展示你要查找的文件,保存文件的过程也需要特有的软件来处理。提供的磁带存储的厂商还有多个这就导致用户在使用磁带过程中,非常的痛苦地面对来回之间复杂的搬运场景。

为了解决这个问题,IBM和HP最先开始这方面的研究,推出了线性磁带文件系统 (LTFS-Linear Tape File System)。最开始在2010,从第五代LTO5使用,并在2012年由IBM主推进入SNIA协会开放规范。

目前LTFS已经成为一种开放文件系统规范标准,最新是2021年发布的LTFS V2.5.1版本。

拥有了LTFS后,对LTO磁带意味着什么?带来了哪些好处呢?

随着 LTFS 的引入,LTO 磁带在系统中显示为一个设备,允许用户将文件拖放到磁带和从磁带拖放文件。简而言之,它允许LTO驱动器接口像普通硬盘驱动器一样工作。这消除了对任何特殊软件的需求,并使用户保存和复制文件更加直观。它还具有使LTO驱动器与所有主要操作系统兼容的额外优势。

因为LTFS是self-describing自描述特性,使得数据管理的复杂度降低了很多。LTFS还简化了跨工作流的数据交换,实现统一的文件共享,不依赖硬件和软件平台,这样会让数据恢复变得更加的容易。因为在传统磁带的数据恢复过程,必须要要求使用数据写入时刻使用的特定软件,而这写特定软件存在系统不兼容或者不更新的问题,使得数据修复变得异常困难。

此外,传统磁带中,如果我们需要访问数据,还需要把数据转移拷贝到硬盘再从系统中访问,在LTFS LTO磁带中,我们只需要直接访问磁带即可,变得是一种很简单的的操作。

既然LTFS这么多的优势,那么,LTFS到底是怎么实现的呢?

LTFS 使用 LTO 第 5、6、7 、 8、9 代提供的分区功能。通过使用分区,磁带被分成两个分区,分别存储index和数据(类似于FAT32文件系统,大家可以感兴趣可以参考之前发布的FAT32文件系统的介绍文章:)

  • 第一个分区partion0:比较小,保存索引index,其中包括文件系统信息和元数据,这些元数据提供有关第二个分区数据块中包含的文件的详细信息(例如名称,大小,创建日期,扩展属性以及哪些数据块属于哪个文件的映射,相当于一个数据存储映射表)。将 LTFS 磁带插入驱动器时,软件可以读取第一个分区并快速显示磁带的内容。
  • 第二个分区partion1:空间很大,为数据存储空间,也就是实际的数据的存储最终归宿。有一点需要注意:在数据分区中,磁带内容仍然通过数据块和文件标记格式进行存储,只是分区信息对外解释为LTFS文件系统,并不是对物理磁带的存储技术本质改变,只是让磁带更加的容易使用。

对比 LTFS 出现之前存在的一些弊端,从LTFS出现后就改变了:

  • 磁带仅按照顺序记录数据块和文件标记,没有用于查找特定文件的目录,所有的映射关系(哪些块属于哪些文件的映射)都是由外部应用程序(如备份和归档存储管理软件)维护和管理。如果映射关系丢失,磁带上的数据虽然还在,但是很难被识别和使用了。这个也是LTFS文件系统提供的最大好处。
  • 由于磁带的串行性质,没有固有的“就地”更新功能。如果重写了某个块,则所有后续块也必须重写。在磁带的当前端更新文件标记是不切实际的,因为每次添加数据时,文件标记都会移动到新的物理位置。但是对于 LTFS,磁带没有这种限制,可以根据需要修改索引分区,而不会影响数据分区。

在LTFS文件规范文档中,定义了数据存储的格式,下面是一个完整的LTFS文件格式示例:

针对上图有一些关键的信息点,小编总结如下:

  • 如上文提到,一个完整的LTFS逻辑卷包括两个分区:Index Partition和Data Partition。
  • 每个分区包括Lable Construct标记结构和Content Area内容区域。其中,Lable Construct标记结构有VOL1 Lable逻辑卷标记和LTFS Lable文件标记组成,中间有File Mark间隔。Content Area内容区域则包含index索引和后续的连续数据块组成,中间也有File Mark间隔。

上面说了这么多LTFS的好处和实现原理,还有一个很容易让人误解的地方,需要提醒下。

基于前面的信息,你会不会觉得LTO磁带+LTFS就可以真的向HDD硬盘一样使用了?其实不然,这个也是最容易误解的地方。

HDD硬盘或者叫做磁盘,是随机访问的介质;而磁带不是,在数据分区内部还是要求数据写入的数据。如果在LTO磁盘格式化成LTFS文件系统后,如果直接当作HDD磁盘执行随机访问,可能会出现IO严重慢的情况。

整体来说,LTFS 是一项重大突破,可以让磁带像磁盘一样使用方便,这里重点是“像”,但它并不能取代磁盘读写能力和介质特性。客观对待就好!

最后,如果大家想了解LTFS文件系统的代码,可以参考开源的github链接https://github.com/LinearTapeFileSystem/ltfs

根据github的开源内容,有条件的话还可以动手尝试:

采用ltfs -o device_list命令,可以查看磁带的LTFS文件系统格式化后盘符,类似下图示例,看到三个磁带的字符设备:/dev/sg43,/dev/sg38,/dev/sg37,LTFS文件系统的版本是2.4.0

使用# mkltfs -d 9A700L0077命令可以执行磁带的格式化,

格式化完整后,还可以使用ltfs -o devname=9A700L0077 /ltfs完成文件目录的挂载。这些操作跟linux系统下其他的文件系统操作方式也类似,只是命令不同。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古猫先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值