缙哥哥的博客
与你分享我的点点滴滴生活

群晖文件系统Btrfs和ext4有什么区别?选择哪个比较好?

昨天缙哥哥在成功测试安装黑群晖之后,发现只有10G存储,完全不够用,于是乎又用虚拟机开了一个200G的虚拟空间,新硬盘挂载到群晖的时候让我选择文件系统 Btrfs 或 ext4(如下图),这时候就尴尬症犯了,卧槽,缙哥哥根本不知道文件系统 Btrfs 或 ext4 两者之间的区别啊,这样我怎么选择?

新硬盘挂载到黑群晖6.1的时候让我选择文件系统 Btrfs 或 ext4

新硬盘挂载到黑群晖6.1的时候让我选择文件系统 Btrfs 或 ext4

什么是文件系统

我们是不是先得知道文件系统是干嘛的?如果你不清楚文件系统是干什么的,一句话总结起来也非常简单。

文件系统主要用于控制所有程序在不使用数据时如何存储数据、如何访问数据以及有什么其它信息(元数据)和数据本身相关,等等。听起来要编程实现并不是轻而易举的事情,实际上也确实如此。文件系统一直在改进,包括了更多的功能、更高效地完成它需要做的事情。总而言之,它是所有计算机的基本需求、但并不像听起来那么简单。我们还是过吧,像缙哥哥这样的文盲,理解不了……

于是乎,缙哥哥就谷歌两者的区别,发现在Linux的系统下,有4种常见的文件系统,分别是 ext3、ext4,xfs 和 btrfs 。哎哟我去,两个都没搞明白,他给我来4个……不管了,先找到自己需要用到的两个再说。

ext4文件系统

ext4 还有一些明显的限制。最大文件大小是 16 tebibytes(大概是 17.6 terabytes),这比普通用户当前能买到的硬盘还要大的多。使用 ext4 能创建的最大卷/分区是 1 exbibyte(大概是 1,152,921.5 terabytes)。通过使用多种技巧, ext4 比 ext3 有很大的速度提升。类似一些最先进的文件系统,它是一个日志文件系统,意味着它会对文件在磁盘中的位置以及任何其它对磁盘的更改做记录。纵观它的所有功能,它还不支持透明压缩、重复数据删除或者透明加密。技术上支持了快照,但该功能还处于实验性阶段。

Btrfs文件系统

Btrfs(B-tree file system,B-tree文件系统)是针对 Linux 开发的一个新的 CoW(copy-on-write,写时复制 )文件系统。它最初是由甲骨文公司在2007年着手开始开发的,并在2014年8月正式发布其稳定版。开发 Btrfs 的目的在于解决 Linux 文件系统中缺少池、快照、校验和以及集成的跨多设备访问等问题,目标在于实现 Linux 的规模化存储。规模化不仅仅是指解决存储问题,也意味着通过简洁的界面提供对存储的管控和管理能力,让大家能看到已使用的内容并使它更可靠。

Btrfs 有很多不同的叫法,例如 Better FS、Butter FS 或者 B-Tree FS。它是一个几乎完全从头开发的文件系统。btrfs 出现的原因是它的开发者起初希望扩展文件系统的功能使得它包括快照、池化、校验以及其它一些功能。虽然和 ext4 无关,它也希望能保留 ext4 中能使消费者和企业受益的功能,并整合额外的能使每个人,尤其是企业受益的功能。对于使用大型软件以及大规模数据库的企业,让多种不同的硬盘看起来一致的文件系统能使他们受益并且使数据整合变得更加简单。删除重复数据能降低数据实际使用的空间,当需要镜像一个单一而巨大的文件系统时使用 btrfs 也能使数据镜像变得简单。

用户当然可以继续选择创建多个分区从而无需镜像任何东西。考虑到这种情况,Btrfs 能横跨多种硬盘,和 ext4 相比,它能支持 16 倍以上的磁盘空间。btrfs 文件系统一个分区最大是 16 exabyte,最大的文件大小也是 16 exabyte。

Btrfs 的特性

  1. 扩展性 (scalability) 相关的特性,Btrfs 最重要的设计目标是应对大型机器对文件系统的扩展性要求。 Extent,B-Tree 和动态 inode 创建等特性保证了 btrfs 在大型机器上仍有卓越的表现,其整体性能而不会随着系统容量的增加而降低,文件大小上限16EiB。
  2. 数据一致性 (data integrity) 相关的特性。系统面临不可预料的硬件故障,Btrfs 采用 COW 事务技术来保证文件系统的一致性。 Btrfs 还支持 checksum,避免了 silent corrupt 的出现。而传统文件系统则无法做到这一点,并支持数据和元数据的校验和,后台消除进程支持查找和修复冗余副本上的文件错误,支持在线文件系统碎片整理和离线文件系统检查。
  3. 多设备管理相关的特性。 Btrfs 支持创建快照 (snapshot),和克隆 (clone) 。 支持快照可写和快照只读,支持文件条块化、文件镜像和文件条块化+镜像三种部署方案,高效的增量备份。btrfs 还能够方便的管理多个物理设备,使得传统的卷管理软件变得多余。
  4. 其他难以归类的特性。这些特性都是比较先进的技术,能够显著提高文件系统的时间 / 空间性能,压缩 (gzip和LZO),包括延迟分配,小文件的存储优化,目录索引高效空间利用,动态索引节点分配等。

这里,缙哥哥看到了一个“快照(snapshot)”技术,想必用过云服务器的小伙伴都知道,快照是干嘛的!快照是对文件系统某一时刻的完全备份。建立快照之后,对文件系统的修改不会影响快照中的内容。

以缙哥哥的博客的阿里云ECS服务器为例,每当进行博客文件、数据备份,这段时间博客就无法访问,因为服务器后台停止了数据库,虽然缙哥哥的博客文件和数据库不大,影响不多,但从网站统计的数据来看,还是明显的发现了,这个时间段的访客下降了。那么如果几个网站都在备份,就比较耗时间了!那么,如果是NAS服务器进行备份,而且假如在备份过程中我还正在下载或上传文件,某个应用程序修改了数据库的内容,那么将无法得到一个一致性的备份。因此在备份过程中数据库服务必须停止,对于某些关键应用这是不能允许的。几个T的内容,Oh My LADY GAGA,这特么得多久?

利用快照,缙哥哥可以在某个时间点将数据库停止,对群晖 NAS 系统建立一个快照。这个过程一般只需要几秒钟,然后就可以立即重新恢复数据库服务。此后在任何时候,缙哥哥都可以对快照的内容进行备份操作,而此时用户对数据库的修改不会影响快照中的内容。当备份完成,便可以删除快照,释放磁盘空间。

这是非常有用的一种技术。这代表着数据的安全啊,代表着操作的容错性大大的加强了有木有?万一缙哥哥特么一时手贱,把别墅里的小姐姐都删除了,还可以使用快照恢复有木有?

至于如何开启快照功能,缙哥哥以后再写,目前,从文件系统的角度来看,已经赤裸裸的倾向于 Btrfs 文件系统了。接下来,让我们再看看两者的其他区别吧!

缙哥哥的选择

这还犹豫啥,当然是选择 Btrfs 文件系统啦!虽然 Btrfs 文件系统有诸多的不成熟不完善,但是冲着习惯了阿里云的快照备份模式,缙哥哥也毫不犹豫的选择了 Btrfs 文件系统!

赞(12) 打赏
转载请注明来源及链接:缙哥哥 » 群晖文件系统Btrfs和ext4有什么区别?选择哪个比较好?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏