NetWorker:自定义提供的 0 字节Writerlist.txt文件后显示错误“无法获取 WINDOWS 角色和功能的编写器列表”

Summary: 自定义提供的长度为 0 字节的writerlist.txt文件会使编写器验证步骤在准备卷快照服务 (VSS) 备份时失败。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

用户在群集中的一个节点上遇到 VSS 备份错误。虽然另一个节点始终成功,但有问题的资源失败,并显示以下错误消息:
11/16/17 17:42:37.343548 WINDOWS ROLES AND FEATURES: sow_init_save_sysset_walker () called 11/16/17 17:42:37.343548 WINDOWS ROLES AND FEATURES: sow_save: Failed to get writers list for WINDOWS ROLES AND FEATURES: WINDOWS ROLES AND FEATURES: ERROR: Failed to get writers list for WINDOWS ROLES AND FEATURES: 95088:save: Cannot back up the volume save set because the initialization of VSS did not succeed.
这表示未正确识别 VSS 编写器的情况,从而阻止 VSS 操作完成。

使用计划备份策略和运行 save 命令。

Cause

执行 save 要重现错误,需要两个节点主机上的命令,并允许对生成的日志进行并排比较:
C:\Program Files\EMC NetWorker\nsr\bin>save -D9 -s myserver -b Datadomain -o "VSS:NSR_SYS_WRITER_WIN32_SERVCOMP_USER=yes" C:\Lgto\nmsap91_win_x64\win_x64\networkr\file_to_backup
在触发以下方法之前,两个日志将保持同步:
PopulateSupportedWriterList() Enter
在此之后,两个节点都显示:
CVssSysReqBackup::Init(): Successfully updated writer list.
然后,两个节点都使用以下方法启动编写器验证步骤:
IsWriterSupported()
这就是差异开始的地方:
  • 节点 1:
IsWriterSupported() Enter.
04/10/18 11:22:57.671021 VSS Writer {d61d61c8-d73a-4eee-8cdd-f6f9786b7xxx} is supported
04/10/18 11:22:57.671021 IsWriterSupported() Exit
[for each writer]
  • 节点 2:
IsWriterSupported() Enter.
04/10/18 11:14:17.601823 VSS Writer {d61d61c8-d73a-4eee-8cdd-f6f9786b7xxx} is not supported
04/10/18 11:14:17.601823 IsWriterSupported() Exit
[for each writer]
最后,在 NODE TWO 中收到以下信息:
95088:save: Cannot back up the volume save set because the initialization of VSS did not succeed
在 NODE ONE 中,调试日志显示在方法执行期间, 使用默认的受支持系统编写器列表
 PopulateSupportedWriterList() 
04/10/18 11:22:56.702238 PopulateSupportedWriterList() Enter./n04/10/18 11:22:56.702238 lgwstat: Failed to open file/directory: \\?\C:\Program Files\EMC NetWorker\nsr\bin\writerlist.txt
04/10/18 11:22:56.702238 PopulateDefaultSupportedWriterList() Enter.
04/10/18 11:22:56.702238 PopulateDefaultSupportedWriterList() Exit
但是在 NODE TWO 中,似乎完成并使用了以下内容
PopulateUserSupportedWriterList() 
而不是:
PopulateDefaultSupportedWriterList().
04/10/18 11:14:16.664317 PopulateSupportedWriterList() Enter.
04/10/18 11:14:16.664317 PopulateUserSupportedWriterList() Enter.
04/10/18 11:14:16.664317 PopulateUserSupportedWriterList() Exit
检查客户端文件系统节点 2 后,我们发现 有一个用户提供的编写器列表,这是一个 0 字节文件:
C:\Program Files\EMC NetWorker\nsr\bin>dir writerlist.txt
Volume in drive C has no label.
Volume Serial Number is 5F41-F8xx
Directory of C:\Program Files\EMC NetWorker\nsr\bin
11/10/2017  10:01 AM                 0 writerlist.txt
1 File(s)              0 bytes
0 Dir(s)  33,237,905,408 bytes free
这用于在方法执行期间填充编写器列表:
 PopulateUserSupportedWriterList()
作为一个不包含任何内容的 0 字节文件,THE
PopulateUserSupportedWriterList() 
无法为编写器创建一致的数据结构,然后将其设置为不受支持。

Resolution

必须从 NODE TWO 文件系统中删除 0 字节文件。
C:\Program Files\EMC NetWorker\nsr\bin\writerlist.txt
使用以下各项时:
PopulateDefaultSupportedWriterList()
允许完成 save 操作。

删除完成后:
  • 节点 2:
PopulateSupportedWriterList() Enter./n04/11/18 14:31:10.389231 lgwstat: Failed to open file/directory: \\?\C:\Program Files\EMC NetWorker\nsr\bin\writerlist.txt04/11/18 14:31:10.389231 PopulateDefaultSupportedWriterList() Enter.
04/11/18 14:31:10.389231 PopulateDefaultSupportedWriterList() Exit.
04/11/18 14:31:10.389231 PopulateSupportedWriterList() Exit.

就像我们在 NODE ONE 上看到的那样。现在可以使用节点 2 进行 VSS 备份。

Affected Products

NetWorker Family, NetWorker, NetWorker Series
Article Properties
Article Number: 000056703
Article Type: Solution
Last Modified: 29 Jul 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.