暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

SQL Server 低版镜像同步到高版本,日志提示 IO 问题怎么处理

背景

       公司有一套基于 Windows Failover Cluster 搭建的 SQL Server DB(使用共享存储),但由于共享存储维保到期,且公司决定不继续维保,为防止共享存储异常导致 DB 不可用,故决定将 DB 迁移到新服务器(使用本地磁盘(Raid)),并升级到高版本(SQLServer2012 至 SQLServer 2019)。


1. 环境

OS:Windows Server 2012 DataCenter

SQL Server:2012 SP4


OS:Windows Server 2019 DataCenter

SQL Server :2019 (RTM-CU19) (KB5023049)


2. 错误日志提示 IO 问题

迁移方案中是先对旧、新服务器配置镜像同步,在配置成功后,检查错误日志时发现有报错:

There have been 5632 misaligned log IOs which required falling back to synchronous IO.

但同步状态显示正常。


一开始以为是镜像同步哪里设置的问题,由于库不大,又重新做了一遍,还是有这个错误,所以应该不是镜像同步设置的问题。

查了一些资料


大概意思就是:磁盘制造商在2011年推出了磁盘存储格式的新规范。新规范增加了磁盘扇区的大小。一些基于闪存的设备(如Fusion-io)和新的大容量磁盘(如4TB SATA磁盘)通常使用Native 4K格式。当以512或512E格式写入日志记录并以4k Native格式还原日志记录时,新的磁盘格式可能导致SQL Server错误日志中出现警告。也就是说旧服务器(很老了)和新服务器(2022)磁盘扇区不一致了才可能有这个问题。


3. 验证

在新旧服务器上分别执行如下命令:

fsutil fsinfo ntfsinfo <drive letter>

如果在常规SAN磁盘上运行此命令,可以看到下面的输出。每个扇区的字节数= 512



512E高级格式看起来像这样,每个物理扇区的字节= 4096。这种格式的物理扇区大小为4096,但逻辑扇区大小为512。



如果是不同的格式,则有可能出现:

There have been xxxx misaligned log IOs which required falling back to synchronous IO


SQL Server存储引擎逻辑检测磁盘扇区大小,并将事务日志文件元数据和内部扇区大小匹配(512或4096字节)。当SQL Server检测到日志条目被写入时,假设扇区大小与当前SQL Server实例上的扇区大小不同,则会生成该错误信息。

如果扇区大小不通,则在以下情况都会发生这种错误:

  1. * 日志传输

  1. * 镜像

  2. * AlwaysOn

出现这种报错后,为了保证一致性,SQL Server可能会从异步IO切换到同步IO。如果使用了 AlwaysOn 、镜像等同步技术,这可能会对性能产生影响。

有可能在 AlwaysOn 副本或镜像服务器上的日志写操作切换到同步IO。这可能导致主服务器和副本/辅助服务器之间同步延迟升高。

意思是,最然有报错,但不影响持续同步,如果业务量大,则同步延迟可能会较高。


4. 4096 的优势




5. 怎么修改扇区大小

这里展示查询到的方法,是否使用根据自身实际情况考虑。

原文如下:



6. 4K原生盘是否建议格式化为512 / 512e ?

每个用户的配置可能不同,并且存在非常多种的部署模式。所以很难给出建议。不过4K本机磁盘确实有优势。

一些一般性意见:

  1. 建议在相近的硬件上配置 AlwaysOn 、Mirror。

  2. AlwaysOn、Mirror 场景可能会因副本切换到同步IO而受到一些影响。如果使用AlwaysOn 或 Mirror,建议使用相同的扇区大小。

  3. Log Shipping 、Async AlwaysOn 、Mirror 通常不会受到此错误的影响。在事务量非常大的情况下,日志记录的恢复可能会稍微慢一些。


7. 最终方案

由于是新服务器,4k的盘也有优势,最后并没有按照上面的方法修改扇区大小。

我的库也比较小,也有足够的时间进行迁移,最后综合考虑还是使用备份恢复的方法进行迁移。




「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论