我尝试在 Azure 云环境中使用 xfs 文件系统和 barrier=0 执行 SQL Server 数据库还原。它在大约 8 分钟内还原了大约 15GB 的数据。
我听说这个选项在不久的将来会被弃用。如果没有这个选项,恢复时间将增加到 25 分钟。
我们是否知道此选项的任何替代方案,可用于在使用 XFS 文件系统恢复期间实现相同的性能指标?
/etc/fstab
UUID=12907c8a-6b2f-4981-b94c-f3cd772270a7 / xfs 默认值,nobarrier 0 0
答案1
从内核 4.13 开始,XFS 的 nobarrier 被移除。本文提出了两种解决方法:
- 从 XFS 切换到 ext4
- echo“写入”> /sys/block/$device/queue/write_cache
我自己尝试了write_cache
选项(例如echo "write through" | sudo tee /sys/block/nvme0n1/queue/write_cache
)选项,我的 nvme 的性能提高了 20 倍!对我来说,结果比没有障碍的 ext4 快两倍。
http://smalldatum.blogspot.com/2018/01/xfs-nobarrier-and-413-linux-kernel.html
答案2
我没有发现任何具体内容表明这一点已被弃用。请参阅:在 Azure 上优化 Linux VM 您将使用 nobarrier 选项:
如果您使用 XFS,请使用 mount 选项禁用屏障nobarrier
(要启用屏障,请使用选项屏障)
如果您还有其他问题,请告知我们。