Btrfs文件系统
文章平均质量分 83
介绍btrfs三层结构:基本结构btree--磁盘保护NV--磁盘备份RAID
qq_41104683
这个作者很懒,什么都没留下…
展开
-
Btrfs之NV(一):COW
Btrfs采用了两种方法:COW和,保证磁盘能够在断电之后保证数据的一致性,以防止super或者meta_data数据被破环而导致整个文件系统的崩溃。原创 2023-07-28 13:43:29 · 401 阅读 · 3 评论 -
Btrfs之NV(二):log root
如果采用cow,他需要等待所有线程都退出trans后将所有dirty data都落盘而不是只落盘inode,这样会导致fsync inode花费相当长的时间。所以在这种情况下Btrfs 会通过log_root进行journal的方式保证inode的一致性。原创 2023-07-28 13:46:51 · 193 阅读 · 1 评论 -
Btrfs之RAID(一):Chunk抽象和使用
将物理device抽象成上层逻辑chunk,让上层软件可以像访问数组一样访问device。这层封装既能并发的读写device,加快文件的读写速度;也能对device做备份,保证一定数量的device失效后数据仍然可以恢复。原创 2023-06-12 08:40:55 · 396 阅读 · 0 评论 -
Btrfs之RAID(二):RAID读写
Btrfs在读(__do_readpage)写(btrfs_writepages)文件时,会查询inode的逻辑地址到底层的映射(extent_map)。如果使用将device抽象成chunk,那么Btrfs在extent_map中查询到的是chunk的地址,所以需要RAID进一步将chunk的地址映射到device上,然后根据RAID类型对相应的device进行读写。原创 2023-06-12 08:34:27 · 379 阅读 · 0 评论 -
Btrfs之RAID(三):RAID应用
在Btrfs中由于Btree有着很好的扩展性,使得底层存储设备也能随之增添、移除或者替换。这些存储设备组成一个存储池,经过RAID抽象后供Btrfs使用。这会使得RAID在加快文件读写速度,设备失效后数据恢复的同时,也能使Btrfs在存储特性上更加。原创 2023-07-07 09:30:15 · 679 阅读 · 1 评论