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
我希望这是部分答案,这可能对您有所帮助。
集群存储: 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)