[ext4]07 磁盘布局 - 块/inode分配策略
2014-03-24 20:09
337 查看
Ext4系统从设计上就认为数据局部性是文件系统的文件系统的一个理想品质。
在机械硬盘上,相关联的数据存放在相近的blocks上,可以使得在访问数据时减少磁头驱动器的移动距离,从而加快IO访问。
在SSD上,没有像磁头一样的移动组件。但是数据局部性可以增大请求大小从而降低请求数量。同时可以尽可能的集中擦写块,从而提高重写速度。对减少碎片也很有帮助。
Ext4解决碎片问题的第一个方法是,multi-block allocator。当创建文件时,块分配器会分配8K的磁盘空间给文件,当然,这样做有个假定——8K空间很快被写数据。当文件被关闭后,没有使用的空间会被释放掉。但是,如果这种推测(就是刚才的假定)是正确的,那么这块数据就被写入了这个简单的extent(8K空间)中。
Ext4解决碎片问题的第二个方法是,delayed allocation。根据这个策略,当文件需要更多的块进行写操作时,文件系统会推迟确定在磁盘上的写入位置,直到脏数据要写入磁盘。除非必要,否则不写入磁盘(Timeout或sync或内核out of memory)。这样可以更好的是文件进行位置决策。
Ext4解决碎片问题的第三个方法是,尽可能使得一个文件的数据和其inode在相同的块组中。这种方法减少了data寻址耗时。特别是刚刚读取inode后就访问数据这种场景。
Ext4解决碎片问题的第四个方法是,整个卷被分割为大小为128M的groups。这样可以最大限度的保证数据局部性。然而,当在根目录创建文件时,inode分配器会扫描块组,从inode最空闲的group中分配inode空间。这种方式会扫描整个卷。但是一般而言,都是按照顺序往下创建的。
在机械硬盘上,相关联的数据存放在相近的blocks上,可以使得在访问数据时减少磁头驱动器的移动距离,从而加快IO访问。
在SSD上,没有像磁头一样的移动组件。但是数据局部性可以增大请求大小从而降低请求数量。同时可以尽可能的集中擦写块,从而提高重写速度。对减少碎片也很有帮助。
Ext4解决碎片问题的第一个方法是,multi-block allocator。当创建文件时,块分配器会分配8K的磁盘空间给文件,当然,这样做有个假定——8K空间很快被写数据。当文件被关闭后,没有使用的空间会被释放掉。但是,如果这种推测(就是刚才的假定)是正确的,那么这块数据就被写入了这个简单的extent(8K空间)中。
Ext4解决碎片问题的第二个方法是,delayed allocation。根据这个策略,当文件需要更多的块进行写操作时,文件系统会推迟确定在磁盘上的写入位置,直到脏数据要写入磁盘。除非必要,否则不写入磁盘(Timeout或sync或内核out of memory)。这样可以更好的是文件进行位置决策。
Ext4解决碎片问题的第三个方法是,尽可能使得一个文件的数据和其inode在相同的块组中。这种方法减少了data寻址耗时。特别是刚刚读取inode后就访问数据这种场景。
Ext4解决碎片问题的第四个方法是,整个卷被分割为大小为128M的groups。这样可以最大限度的保证数据局部性。然而,当在根目录创建文件时,inode分配器会扫描块组,从inode最空闲的group中分配inode空间。这种方式会扫描整个卷。但是一般而言,都是按照顺序往下创建的。
相关文章推荐
- [ext4]07 磁盘布局 - 块/inode分配策略
- [ext4]磁盘布局 - inode bitmap & table
- [ext4]010 磁盘布局 - 如何查找inode的磁盘位置
- [ext4]010 磁盘布局 - 如何查找inode的磁盘位置
- [ext4]06 磁盘布局 - 特殊inode
- [ext4]06 磁盘布局 - 特殊inode
- [ext4]磁盘布局 - inode bitmap & table
- [转] Windows Server “8” Beta 介绍 (07) –基于策略的IP地址分配(下)
- [ext4] 磁盘布局 - extent tree
- EXT4文件系统的磁盘布局
- EXT4 之 文件系统在磁盘上的布局 之一
- ext4js 主页面布局,动态分配菜单,并点击url 显示到内容面板中
- [ext4] 磁盘布局 - extent tree
- ext4 分配节点ext4_alloc_inode
- [ext4]04 磁盘布局 - Meta Block Groups
- EXT4文件系统的磁盘布局
- [ext4]04 磁盘布局 - Meta Block Groups
- Ext4 Disk Layout (ext4 磁盘布局)
- [ext4]05 磁盘布局 - 延迟块组初始化
- Ext3和Ext4文件系统磁盘布局