PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复? Topic is solved

这里报告PrimoCache软件的Bug或建议,
非常感谢您的支持!
Aesisstrong
3级用户
3级用户
帖子: 14
注册时间: 周六 6月 24, 2023 7:30 pm

PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Aesisstrong »

上一次的“缓存有一定概率导致ReFS分区损坏”的末尾我说了蓝屏之后ReFS卷出现“卷修复不成功”,那个时候ReFS卷只开启了读缓存(目标逻辑卷专属设置),然后我把缓存给关了并删除ReFS卷的盘符,等我把数据恢复(ReFS卷里面有备份,只需要恢复备份就可以了,因为直接恢复不仅特别慢而且会丢失很多文件,使用备份就是方便恢复,因为只需要恢复指定文件)之后,我想把ReFS卷删除(此时已经重启过电脑),我发现这个ReFS卷的分区被识别出来,然后我就给它重新分配盘符,没想到是好的。我便怀疑读缓存有问题。

好像是要证明我的猜想一样,之后又蓝屏了一次,重启之后发现ReFS卷轻松识别(没开缓存),但NTFS卷似乎嗝屁了,迟迟无法识别。NTFS卷蓝屏之前我暂停了写入缓存(因为我在复制大文件),并且卷没有错误(在ReFS卷蓝屏事件之后就修复了),但是其无法识别,卡住了似的。我暂停缓写,没有作用。但当我在“目标逻辑卷专属设置”中取消这个NTFS卷的所有缓存之后,点击应用,几乎在设置成功的同一时刻,NTFS卷被成功识别。难道只是巧合?!

这难道是因为我开启了“忽略同步检测并强行使用缓存”的缘故吗?但是这不应该影响到“卷的识别”(NTFS开启了双缓存(独立读缓和写缓),但蓝屏前暂停了写缓存,重启后暂停写缓无效,取消全部缓存则立刻可以识别)和“卷修复”(ReFS的“卷修复”时只开启了读缓存)吧?系统C盘检查后并没有发现错误(那个NTFS卷有错误),那么缓存盘应该也没有错误吧...?(缓存盘和系统盘处在同一个固态硬盘)

PrimoCache版本:4.3.0
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Support »

为什么要勾选这个“忽略同步检测并强行使用缓存” 选项呢?这个选项仅为非常特殊情况下使用,启用此选项可能引起异常错误并损坏逻辑卷。蓝屏后,二级缓存和源盘数据可能会不一致,这会导致不可预知的错误,卷无法识别也是有可能的,因为卷的元数据也可能被缓存,和源盘上的数据不一致。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Support »

Aesisstrong 写了: 周日 8月 06, 2023 5:46 pm 系统C盘检查后并没有发现错误(那个NTFS卷有错误),那么缓存盘应该也没有错误吧...?(缓存盘和系统盘处在同一个固态硬盘)
缓存盘不一样,其它盘上没有chkdsk问题,不代表它没有问题,最主要的是它的缓存索引数据或缓存数据在蓝屏时不能准确更新就会导致和源盘数据不一致。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
Aesisstrong
3级用户
3级用户
帖子: 14
注册时间: 周六 6月 24, 2023 7:30 pm

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Aesisstrong »

Support 写了: 周二 8月 08, 2023 10:35 pm 为什么要勾选这个“忽略同步检测并强行使用缓存” 选项呢?这个选项仅为非常特殊情况下使用,启用此选项可能引起异常错误并损坏逻辑卷。蓝屏后,二级缓存和源盘数据可能会不一致,这会导致不可预知的错误,卷无法识别也是有可能的,因为卷的元数据也可能被缓存,和源盘上的数据不一致。
难道关闭了这个选项就不会出现这个问题吗?但是就算缓存的数据存在问题,它也应该会发现和自动修复吧?就像普通硬盘出错一样。
Aesisstrong
3级用户
3级用户
帖子: 14
注册时间: 周六 6月 24, 2023 7:30 pm

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Aesisstrong »

Support 写了: 周二 8月 08, 2023 10:39 pm
Aesisstrong 写了: 周日 8月 06, 2023 5:46 pm 系统C盘检查后并没有发现错误(那个NTFS卷有错误),那么缓存盘应该也没有错误吧...?(缓存盘和系统盘处在同一个固态硬盘)
缓存盘不一样,其它盘上没有chkdsk问题,不代表它没有问题,最主要的是它的缓存索引数据或缓存数据在蓝屏时不能准确更新就会导致和源盘数据不一致。
另外我蓝屏前临时关闭了缓存写入,理论上不应该有不同步的现象吧?或者说和我想象的技术方式不一样?
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Support »

Aesisstrong 写了: 周二 8月 08, 2023 10:41 pm 难道关闭了这个选项就不会出现这个问题吗?但是就算缓存的数据存在问题,它也应该会发现和自动修复吧?就像普通硬盘出错一样。
这个选项的含义就是在蓝屏等异常关机后不进行同步检测校验,直接强行使用二级缓存。不校验还怎么发现和自动修复。而且这个选项并不能在GUI程序上直接勾选,必须通过CLI勾选,也是为了防止用户在不明白这个选项含义时勾选导致严重的问题。

只要选项“异常关机后不校验缓存”和“忽略同步检查并强行使用缓存”没有勾选,二级缓存就会在异常关机后校验其缓存数据是否和源盘一致。
关于二级缓存各个配置的说明,请参见
https://www.romexsoftware.com/zh-cn/pri ... on.html#L2
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Support »

Aesisstrong 写了: 周二 8月 08, 2023 10:47 pm 另外我蓝屏前临时关闭了缓存写入,理论上不应该有不同步的现象吧?或者说和我想象的技术方式不一样?
读缓存也是一样需要索引信息的,也就是源盘的数据块对应在缓存盘上的哪块位置。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
Aesisstrong
3级用户
3级用户
帖子: 14
注册时间: 周六 6月 24, 2023 7:30 pm

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Aesisstrong »

Support 写了: 周二 8月 08, 2023 11:03 pm
Aesisstrong 写了: 周二 8月 08, 2023 10:41 pm 难道关闭了这个选项就不会出现这个问题吗?但是就算缓存的数据存在问题,它也应该会发现和自动修复吧?就像普通硬盘出错一样。
这个选项的含义就是在蓝屏等异常关机后不进行同步检测校验,直接强行使用二级缓存。不校验还怎么发现和自动修复。而且这个选项并不能在GUI程序上直接勾选,必须通过CLI勾选,也是为了防止用户在不明白这个选项含义时勾选导致严重的问题。

只要选项“异常关机后不校验缓存”和“忽略同步检查并强行使用缓存”没有勾选,二级缓存就会在异常关机后校验其缓存数据是否和源盘一致。
关于二级缓存各个配置的说明,请参见
https://www.romexsoftware.com/zh-cn/pri ... on.html#L2
我的意思是NTFS和ReFS的发现错误和自动修复,它们难道在这种情况下不能进行修复吗?即使索引错误也应该能够修复吧?或者提示分区未格式化而不应该卡住识别不了吧?
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Support »

文件系统元数据有异常导致文件系统卡住也是完全有可能。。。修复机制不可能不管什么样的错误都100%能处理。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
Aesisstrong
3级用户
3级用户
帖子: 14
注册时间: 周六 6月 24, 2023 7:30 pm

Re: PrimoCache的读缓存似乎会导致已经被损坏的盘无法被修复?

帖子 Aesisstrong »

好吧,这警告我们不要随意开启“忽略同步检测并强行使用缓存”。(ˉ▽ˉ;)...
主要是我认为检测到不一致之后不应该直接清空缓存(所以我才勾选它防止缓存被清空),而是检查最后的缓存操作,只将这些错误的缓存抛弃,也就是日志系统。虽然这样可能会造成性能问题。⊙﹏⊙∥

感谢支持组的回复!
回复