问题标签 [volume-shadow-service]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python中的一致备份
我正在研究python中的远程备份解决方案。服务器部分将在 Unix/Linux 上运行,因为它将使用硬链接进行有效的增量备份。
然而,客户端部分也必须在 Windows 上运行,并且文件锁定可能是一个问题。
根据我的研究,卷影复制服务 (VSS) 是我需要的。类似于 LVM 快照,不受文件锁定的影响。然而,VSS API 似乎没有在 pywin32 中实现。
我目前的想法是使用一些包装器来创建临时 VSS 快照,运行客户端,然后将其删除。
我想知道是否有人在这种情况下有经验。
volume-shadow-service - 在 VSS HW Provider 中跳过 GetTgetLuns、LoacteLuns 和 FillinLunInfo
我正在编写 VSS 硬件提供程序,并且能够创建快照。因此,当使用跟踪工具进行跟踪时,我注意到 PostCommitSnapshot 非常完美。在自动导入卷影副本的 PostCommit 快照之后,GetTgetLuns、LoacteLuns 和 FillinLunInfo 是必需的,但正如我正在采取的那样某些存储上的卷的快照,因此我没有足够的信息提供给 GetTargetLuns。
如果我继续使用 AreLunsSupported 中提供的相同 LUNinfo,则会在 GetTargetLuns 中引发 BadSourceLun 错误。
如果我尝试通过注释掉 GetTargetLuns 中的检查条件来跳过此错误,则执行将继续,直到 LocateLuns 然后异步等待,然后调用 OnLunEmpty 方法,然后中止快照。
我尝试将快照状态值设置为 VSS_SS_POSTCOMMITTED,但这是保留给系统使用的。
所以我想在 Vss Hardware Provider 中跳过这些方法?
任何帮助都将不胜感激。
volume-shadow-service - 如何在 vss 硬件提供商中实现 GetTargetLUNs?
我正在为基于 ZFS 的 iSCSI 目标实现 VSS 硬件提供程序。我们已经实现了 AreLunSupported、precommitsnapshot 和 commitsnapshot 等功能,到目前为止它工作正常。但在此之后,它VSS_E_NO_SNAPSHOTS_IMPORTED
在 LocateLun 方法中因“”错误而失败。而且我认为我们没有正确填写目标 LUN 信息。
我的问题是:
如何查找目标 LUN 的序列号?我需要挂载新创建的快照然后获取序列号吗?
我们是否还需要填写互连、存储标识符信息,或者我可以为这些传递 NULL。
.net - 如何以编程方式从 VSS 备份驱动器中读取项目?
我使用 VSS 备份到备份驱动器。我想将该驱动器附加到另一台机器上并列出其上的所有备份,然后列出特定备份中的所有项目。
我知道您可以使用该wbadmin
工具在命令提示符下执行此操作wbadmin get versions
,wbadmin get items
但我想以编程方式读取这些值。
我知道有用于使用 VSS 的powershell 命令,但它们似乎只适用于本地“策略”对象。我找不到从另一台机器检查磁盘的方法(使用不同的策略)。例如,Get-WBBackupTarget 没有指向我的备份驱动器号的参数,只有一个 Policy 对象。并且 Get-WBPolicy 仅返回系统 afaik 的当前策略。
那么是否可以通过编程方式从备份驱动器中读取信息?
c# - 使用 Alphavss 的卷影复制错误
我正在尝试使用网站alphavss上提供的示例代码。我正在尝试包含 VssBackup.cs 类,然后在我的程序中使用它。很可能我错过了一个 dll 引用,但我在使用组件时没有收到任何错误。任何人都知道问题可能是什么?
我收到 3 个错误:
找不到类型或命名空间名称“快照”(您是否缺少 using 指令或程序集引用?)
找不到类型或命名空间名称“IVssAsync”(您是否缺少 using 指令或程序集引用?
找不到类型或命名空间名称“快照”(您是否缺少 using 指令或程序集引用?)
类 ** VssBackup.cs站点提供的 C# 示例代码**
c++ - 需要 Volume Shadow Copy API 来冻结 Exchange Writer
我已经实现了自己的应用程序(可能使用卷影复制)来备份 Exchange 2010 服务器。
我发现了以下架构:备份序列图
但我找不到任何直接冻结/解冻 Exchnage Writer 的功能。
我确实发现只有在创建快照时调用“冻结”和“解冻”命令的函数(请参阅以下架构:在 VSS 下处理备份的概述)
请帮助我找到有关第一个模式的任何文档,即我可以使用哪些 API 函数来冻结和解冻 Writers
谢谢
c# - 如何在尽可能快地写入文件时复制文件?
TL/DR:
我有两台机器:A 和 B。我制作了一个测试程序,以测试它们之间的介质(接口)——我在将文件从 A 复制到 B 再从 B 复制到 A 时检查错误,但我必须以最快的速度完成我可以。所以我有一个源文件:SRC,我将它复制到 B 到新文件:MID,然后我再次将 MID 从 B 复制到 A 到新文件 DST,然后我将 SRC 与 DST 进行比较。这里的问题是如何以尽可能高的速度(即并行)进行
精心制作的:
如何在写入文件时同时复制文件?我使用CopyFileEx将文件从 SRC 复制到 MID,我必须同时将它从 MID 再次复制到 DST。数据必须显式通过磁盘,我不能使用内存缓冲区或缓存,并且:
- 必须在 MID 上创建文件时执行第二次复制 - 我等不及它完成复制。
- 我必须再次明确地从 MID 读取文件 - 我不能使用我用来从 SRC 复制到 MID 的缓冲区
- 所有这一切都必须以最快的速度执行
我可以轻松处理同步问题(我使用CopyFileEx的CopyProgressRoutine回调来了解完成了多少字节并相应地触发事件),但是文件在被复制时被锁定以供读取。我不能使用普通的 C# 的FileStream - 它太慢了......
我目前正在研究的可能解决方案:
- 卷影复制(特别是AlphaVSS)
- memory-mapped-file - 我设法做到非常快,但我担心系统实际上使用缓存,并没有真正从 MID 读回
- 一些我不知道的win-API P/Invoke 函数??
sqlite - 为什么sqlite没有VSS?
Microsoft 的 SQL Server 实现包含 VSS 编写器和其他组件,以帮助它进行备份,而不会对性能造成相当大的影响。
但是 Sqlite 中没有内置这样的 VSS 功能。
所以我想了解 VSS 在 SQL Server 中的重要性以及它对 Sqlite 有何用处?
c++ - VSS 硬件提供商
我一直在尝试按照说明安装 Windows SDK 附带的示例 VSS 硬件提供程序。不幸的是,COM 拒绝注册 DLL,并给出以下输出:
这是该线程中描述的相同问题:
http://www.osronline.com/showthread.cfm?link=185213
我试过同时使用 x86 和 x64 机器,但没有区别。任何提示或建议都将受到欢迎。