FAT在RAID恢复中的应用(1):计算块大小

简介:


我们知道,FAT表的表项号是连续的,即由0开始编号,0号表项与1号表项由系统保留做特殊用途。用户数据由2号表项开始使用,也就是2号簇对应的FAT表项。表项内记录的簇号可能是不连续的,但表项号本身则是连续的。利用表项号的这个连续性,我们就可以计算RAID块的大小。

1. 计算方法

利用 FAT 表计算块大小的原理就是,相邻磁盘的同条带同位置的 FAT 项间占用的空间是一个块大小。如图 11.1 所示。
11.1 中,磁盘 0 和磁盘 1 是阵列中两块相邻的磁盘, FAT N 位于磁盘 0 的某个块,当该块写满后,就会转至磁盘 1 的同条带进行写入。 FAT M 是磁盘 1 上与 FAT N 同条带同位置的 FAT 表项,这样,由 FAT N 开始至 FAT M 前的空间即为一个块(灰色加亮部分)。因此,我们可以得出以下公式:
块大小扇区数     M – N FAT 表项字节数  /  每扇区字节数
最大的问题是,每个表项内记录的值是为当前数据分配的下一个簇的簇号,而并不记录表项号本身,我们必须想办法得到当前 FAT 项的表项号才可以进行计算。那么,如何得到这个表项号呢?
我们知道,系统为文件分配空间时,会优先为其分配连续的空间,这时,它们的簇号就是连续的。簇号连续,则记录这些簇号的相应表项也是连续的,如图 11.2 所示。簇号 14 15 16 连续,则它们所在的表项的号码也是连续的。
 
 

          因此,我们可以找到至少有三个连续的簇号记录位置,取中间的簇号值(原则上另一磁盘的相同位置也需要符合同样要求,但并不意味着不是三个连续的记录位置就一定不能使用,因为可能会有结束标记存在。后面我们的实例中2.img中所取的位置就没有明显的三个簇号连续)。对于图11.2中的记录值为15的簇来讲,它的值实际上是当前位置的表项号141而来。同样,对于图11.1中来讲,在磁盘0FAT表项为N的位置实际记录的是下一簇的簇号N+1;同样,磁盘1FAT项为M的位置记录的是下一簇的簇号M+1M-N与(M+1)-(N-1)结果是相同的。因此,我们可以使用符合要求的位置记录的簇号直接进行计算。为了便于理解,下面我们将演示一个实例的计算。























本文转自老骥伏枥51CTO博客,原文链接:http://blog.51cto.com/sjhfml/134060 ,如需转载请自行联系原作者


相关文章
|
Java Linux 数据安全/隐私保护
jdk21(最新版) download 配置(linux window mac)
不同系统使用最新版jdk后续持续更新 可评论区提问
3624 0
|
SQL 存储 分布式计算
Spark1:概述
Spark1:概述
205 0
|
SQL Prometheus 监控
数据库连接池选型 Druid vs HikariCP
springboot 现在官方默认的数据库连接池是 HikariCP,HikariCP的性能从测试的数据上来看也是最高的。
数据库连接池选型 Druid vs HikariCP
|
人工智能 机器人
多模态大模型活动 | 使用 PAI×LLaMA Factory 搭建文旅问答机器人
LLaMA Factory 是一款开源低代码大模型微调框架,集成了业界最广泛使用的微调技术,支持通过 Web UI 界面零代码微调大模型,目前已经成为开源社区内最受欢迎的微调框架,GitHub 星标超过3万。本次活动通过 PAI×LLaMA Factory 微调 Qwen2-VL 模型,快速搭建文旅领域知识问答机器人,期待看到您与 AI 导游的创意对话!
|
人工智能 Linux Docker
一文详解几种常见本地大模型个人知识库工具部署、微调及对比选型(1)
近年来,大模型在AI领域崭露头角,成为技术创新的重要驱动力。从AlphaGo的胜利到GPT系列的推出,大模型展现出了强大的语言生成、理解和多任务处理能力,预示着智能化转型的新阶段。然而,要将大模型的潜力转化为实际生产力,需要克服理论到实践的鸿沟,实现从实验室到现实世界的落地应用。阿里云去年在云栖大会上发布了一系列基于通义大模型的创新应用,标志着大模型技术开始走向大规模商业化和产业化。这些应用展示了大模型在交通、电力、金融、政务、教育等多个行业的广阔应用前景,并揭示了构建具有行业特色的“行业大模型”这一趋势,大模型知识库概念随之诞生。
156995 30
|
Unix Linux 开发工具
vim快捷键大全(表格形式)
vim快捷键大全(表格形式)
468 0
|
前端开发 测试技术 芯片
【前端验证】关于那道经典概率题,用UVM环境来仿真下是男孩的概率
【前端验证】关于那道经典概率题,用UVM环境来仿真下是男孩的概率
201 0
Xmind2022最新版破解与激活教程,操作简单
Xmind 是一款 全功能 的思维导图和头脑风暴软件。像大脑的瑞士军刀一般,助你理清思路,捕捉创意。
4281 0
|
Devops jenkins 持续交付
DevOps 实践:自动化部署与持续集成的无缝对接
【8月更文挑战第30天】本文旨在通过浅显易懂的语言,向读者展示如何在现代软件开发中实现 DevOps 理念下的自动化部署和持续集成。我们将从基础概念出发,逐步深入到实际操作,不仅分享理论知识,还将提供具体的代码示例,帮助读者快速掌握如何将这两个关键环节有效结合,以提高开发效率和软件质量。
为什么头条和抖音上这么多人月入好几万?
为什么头条和抖音上这么多人月入好几万?

热门文章

最新文章