使用群集共享卷的 SQL Server 镜像备份

ces*_*nux 5 sql-server clustering sql-server-2014 ola-hallengren

我有一个带有 2 个节点的 SQL Server 2014 集群和一个配置了 iSCSI 目标服务器的第三台服务器,它们都是带有 Windows Server 2012 R2 的虚拟服务器。

集群的两个节点都是 iSCSI 启动器并连接到 iSCSI target which was converted to Cluster Shared Volume(CSV).

我正在使用 Ola Hallengren 脚本进行备份,这里的想法是备份到本地 Z:\ 驱动器并镜像到 C:\ClusterStorage\BackupSQL(此文件夹是集群共享卷),备份在每个位置分别成功运行,但是如果我将脚本配置为使用镜像设备,它会给我一个

错误 3212 镜像设备“%ls”和镜像设备“%ls”具有不同的设备规格。

两个驱动器 C: 和 Z: 中的块大小相同,使用以下命令进行测试:

fsutil fsinfo ntfsinfo <drive:>
Run Code Online (Sandbox Code Playgroud)

作业运行失败后,文件夹结构已创建,但内部没有备份,我错过了什么?

这有效:

BACKUP DATABASE [msdb] 
TO DISK = N'Z:\MSSQL\Backup\some_path_and_name.bak' 
--MIRROR 
--TO DISK = N'C:\ClusterStorage\BackupSQL\some_path_and_name.bak' 
WITH CHECKSUM, COMPRESSION, FORMAT
Run Code Online (Sandbox Code Playgroud)

这也有效:

BACKUP DATABASE [msdb] 
--TO DISK = N'Z:\MSSQL\Backup\some_path_and_name.bak' 
--MIRROR 
TO DISK = N'C:\ClusterStorage\BackupSQL\some_path_and_name.bak' 
WITH CHECKSUM, COMPRESSION, FORMAT
Run Code Online (Sandbox Code Playgroud)

这不起作用:

BACKUP DATABASE [msdb] 
TO DISK = N'Z:\MSSQL\Backup\some_path_and_name.bak' 
MIRROR 
TO DISK = N'C:\ClusterStorage\BackupSQL\some_path_and_name.bak' 
WITH CHECKSUM, COMPRESSION, FORMAT
Run Code Online (Sandbox Code Playgroud)

最后一个给了我错误 3212

CR2*_*241 1

我希望这是部分答案,这可能对您有所帮助。

集群存储: clustered file system is a file system which is shared by being simultaneously mounted on multiple servers . 有多种集群方法,其中大多数不采用集群文件系统(每个节点仅直接附加存储)。

本地驱动器 Z:微软说“驱动器”,他们实际上的意思是一个分区 - 一个formatted block of space on an existing physical drive. 就你而言,the "Z" partition is most likely the EFI System Partition (ESP) which holds the boot information for the OS.

集群存储和本地驱动器彼此不同。

备份镜像的硬件要求:

多个存储服务器协同工作以响应多个读写请求。集群文件系统是同时安装在多台服务器上共享的文件系统。

镜像同时适用于磁盘和存储文件系统(磁盘不支持连续文件系统)。与早期版本的 SQL Server 一样,单个备份或还原操作的所有备份设备必须属于同一类型:磁盘或磁带。

在这些更广泛的类别中,您必须使用具有相同属性的类似设备。不够相似的设备会生成错误消息 (3212)。避免设备不匹配的风险,use devices that are equivalent,例如only drives with the same model number from the same manufacturer。或者use same Cluster storage file system for Backup and Mirror paths with different folders

这可能有效:

BACKUP DATABASE [msdb] 
TO DISK = N'C:\ClusterStorage\BackupSQL\\some_path_and_name.bak' 
MIRROR 
TO DISK = N'C:\ClusterStorage\MirrorBackupSQL\some_path_and_name.bak' 
WITH CHECKSUM, COMPRESSION, FORMAT
Run Code Online (Sandbox Code Playgroud)