生不逢时的openZFS能用在数据库上吗

​在Linux上有很多耳熟能详的文件系统,EXT4,XFS,哪怕BTRFS也比openZFS出名,不过很多40出头的IT人还是对ZFS有些印象的。很多人都觉得openZFS有点生不逢时,正当ZFS准备和LINUX紧密联姻的时候,SUN被Oracle收购了,于是这也注定了ZFS的前路坎坷。在国外的很多IT社区里,都给ZFS打上了“originally Sun , but “got Oracled””这样的标签。在IT领域“got Oracled”不是个好词,很多好技术都被Oracle收购了,并且消灭了。

ZFS是和普通的文件系统完全不同的,它是一种带有严格一致性的文件系统,是一种日志结构的文件系统。类似于数据库,ZFS依靠类似WAL的机制来保证文件系统的一致性。因此ZFS可以随时保持十分强的一致性,有过服务器掉电后文件系统挂掉或者变成只读状态的朋友可能现在还会心有余悸,在ZFS上是永远不需要fsck的,因为WAL可以帮助我们自动纠正这些不一致问题。

ZFS采用COW(COPY ON WRITE)的方式修改数据,这一点与SSD的行为类似,这种方式是个双刃剑,可以获得较好的读写平衡,但是会带来写放大的问题,数据的修改操作会有较高的成本。

ZFS的RAID-Z技术被称为穷人的福音,使用RAID-Z技术,可以把多块硬盘组成一个软RAID系统从而确保数据的安全性。同时ZFS支持数据压缩,可以让数据的存储成本进一步降低。

ZFS支持十分强大的快照技术,通过快照闪回或者克隆数据都十分方便。这给数据保护,数据备份、数据复制等都提供了十分强大的保障。

如此复杂的文件系统,其附加开销肯定十分大,为了确保ZFS的性能,采用了内存中修改,并以強一致性事务的方式存盘的模式。如果你的硬件环境较好,配置有较多的物理内存,那么在内存中完成写操作,并且将日志写在性能极佳的NVME SSD盘上,将海量数据写入大容量HDD中,那么当你的写IO不会大到击穿内存缓冲的时候,ZFS文件系统是能够表现出十分优秀的写入性能的。

对于ZFS的性能问题,网络上有很多不同的关键,也有不同的测试结果。用比较中肯的观点来说,任何的好处都是有代价的,ZFS在确保数据安全的前提下,肯定会在性能上有所欠缺。一些认为ZFS性能很差的朋友可能并没有做好调优,一些认为ZFS性能十分优秀的朋友可能其测试场景过于单一和简单。一般来说,与EXT4/XFS等传统文件系统相比,ZFS在大量持久性写入场景的性能肯定要差不少,对于读写较为均衡的OLTP系统来说,ZFS的性能与EXT4十分接近并略低一些。在某些OLTP数据库场景中,因为ZFS的内存中写与读缓冲机制,也可能会表现出比EXT4/XFS更好的性能。

比如当我们在ZFS上跑PG或者MySQL的时候,因为文件系统是可以确保不会出现块断裂问题的,因此我们就可以关闭FULL PAGE WRITE,从而获得更好的并发性能。这实际上就是我昨天讨论过的,把数据库的工作交给OS来做的一个例子。

实际上,ZFS的调优也没那么复杂,如果你有我上面说的这样的环境,较大的物理内存,SSD盘做日志写入,那么下面的调整方案可能就足以 ZFS表现出不错的性能了。虽然ZFS文件系统上做针对性的调优比较复杂,因为针对不同的数据保护模式,不同的缓冲策略和压缩策略,会有十分复杂的配置。不过一般情况下,调整并不复杂:

  • lrecordsize=8kB;
  • llogbias=throughput [latency] :根据你的应用场景需求可以选择吞吐量和延时,针对高并发要求的OLTP应用,可以选择LATENCY,对于具有大量数据扫描的分析类应用,可以选择throughput;
  • lzfs_arc_max :一定要设置该参数,避免arc cache占用过多的内存,导致操作系统换页。

有兴趣的朋友可以找时间试试ZFS的性能是否能够满足你的应用需求。我觉得不追求极致性能的情况下,ZFS的強一致性保障与数据压缩能力已经能够让我们得数据库系统受益良多了。

目前openZFS社区是十分活跃的,今年年初推出的2.1.7版本支持3.10-6.0的LINUX核心,与一直不够成熟的BTRFS相比,我还是更推荐openZFS。实际上我们的国产数据库厂商也可以试着考虑一下openZFS,利用这个开源项目为自己的数据库产品开发一个底层存储组件,用在自己的数据库一体机上。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/246970.html<

(0)
管理的头像管理
上一篇2025-04-26 21:47
下一篇 2025-04-26 21:49

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注