快速文件系统简介

  • 作者: 雪山肥鱼
  • 时间:20210629 06:47
  • 目的:快速文件系统
# 简单文件系统的问题
# Fast File System
 ## 组织结构:柱面组
 ## 一般策略,如何分配文件和目录
 ## 大文件策略

简单文件系统的问题

vsfs结构.png

超级块S包含整个文件系统的信息,卷的大小,有多少inode, 指向空闲列表块的头部指针等。磁盘inode区域包含文件系统的所有inode。最后大部分磁盘被数据占用。

  • 问题1:
    vsfs 即 老的 unix 文件系统将磁盘当成随机存取的内存,即数据遍布各处,但是忘了介质是磁盘的非内存的事实,有非常高的定位成本。
    文件的数据块通常举例inode非常远。所以每当第一次读取inode 然后读取文件的数据块时,就会出现非常耗时的 寻道。
  • 问题2:
    文件系统会变得非常碎片化,因为空闲空间没有被得到有效管理。文件的存储与删除过程如下:


    文件存储流程.png

    删掉BD.png

    存储E.png

非常明显的碎片化,当要读写E时,无法顺序读写,发生寻道。
磁盘碎片整理工具的作用就是重新组织磁盘数据以连续放置文件,并为让空闲空间成为一个或者几个连续的区域,移动数据,然后重新ninode等以反应变化。

  • 问题3:
    原始块太小了,512bytes,即 1 block = 1 sector,虽然防止了内存碎片化,但每个块都需要定位开销来访问它,因此传输不加。

待解决的问题

  1. 如何组织文件系统数据结构以提高性能?
  2. 数据结构之上需要哪些类型的分配策略
  3. 如何让磁盘系统具有磁盘意识

Fast File System

快速文件系统,让文件系统的结构和分配策略具有磁盘意识。意思就是,知道介质是磁盘,定位开销大。

组织结构: 柱面组

柱面组.png

效果如上图所示:
对外来说,现代驱动并不会给文件系统暴露这些细节,磁盘只是到处block的逻辑地址,并且隐藏了上述的几何信息。
暴露给文件系统的是块组。block group. 就上图来说,有3个柱面组(最里面的不算)即3个block group


图片.png

那么在同一个 group组,放置2个文件,FFS可以确保先后访问两个文件,不至于发生寻道。所以为达到以上目的,可以在每个 block group 中分配文件和目录。


per block group.png

对于超快来说,每一个group 都有一个副本,有自己的ib,db,inodes table 和 data region. 每一个group都是原来的vsfs的结构。

一般策略: 如何分配文件和目录

如何在磁盘上放置文件和目录以及相关metadata呢?
原则:相关的东西放一起。那么问题来了,什么是相关的呢?

  1. 目录的放置。找到分配量少的柱面,(希望负载均衡),和拥有大量自由的inode(有足够大的地方放置文件)
  2. 将目录数据 和 inode 放到该分组。
  3. 对于单个文件来说:FFS 需要将 数据块分配到与其inode相同的 block group 中。防止inode 和 数据之间的长时间寻道。
  4. 将位于统一目录中的所有文件,放在他们所在目录的柱面组中。

相关的放在一个 block group 里就对了。

效果图对比/a/c, /a/d, /a/e, /b/f:


相关性策略.png
非相关行策略.png

大文件策略

大文件并不是顺序排列的。并非占住了一个坑,后续的data 坑位都是属于它的。
大吻技安的存储并非如此:


大文件存储.png

这样存放很明显的缺点就是,inodes table中有很多空闲inode,但data 区并没有什么空间可以存放数据了。
这样存储大块文件,会导致磁盘搜索的速度降低,特别是在顺序访问的情况下。
但只要控制大块文件的大小,我们大部分时间仍然花费在磁盘的传输数据上。而在大块之间寻道的时间却相对减少。
类似这种概念,块足够大,那么就可以一半时间传输数据,一般时间寻道,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,928评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,748评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,282评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,065评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,101评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,855评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,521评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,414评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,931评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,053评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,191评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,873评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,529评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,074评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,188评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,491评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,173评论 2 357

推荐阅读更多精彩内容

  • 磁盘及文件系统 硬盘的物理构成: 扇区(sector)、磁道(track)、磁头、柱面(cylinder) 分...
    崔千易阅读 695评论 0 0
  • Linux一切皆文件 Linux 中的各种事物比如像文档、目录(Mac OS X 和 Windows 系统下称之为...
    lconcise阅读 450评论 0 2
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 125,193评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,055评论 0 4