SQLServer2005相对于SQLServer2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQLServer2005使SQLServer跻身于企业级数据库行列。在数据高可用性方面,SQLServer2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。本文向读者简单介结SQLServer2005镜像功能。
一、镜像简介
数据库镜像是一个高可用性软件解决方案,为客户端提供小于10秒故障转移。每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器,其中见证服务器是可选的。主体服务器和镜像服务器要求是独立的服务器实例。主体服务器和镜像服务器的角色是相对的,可以自动或者手动地将主体服务器设置为镜像服务器,镜像服务器设置为主体服务器。与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。
图1:两台服务器镜像
图2:两台服务器镜像,一台见证服务器
数据库准备结束,端点创建完成,用户便可以启用数据库镜像。镜像启动后,每个伙伴都将开始维护所在数据库中有关其数据库,以及另一个伙伴和见证服务器的状态信息。这些状态信息允许服务器实例维护称为“数据库镜像会话”的当前关系。在数据库镜像会话过程中,服务器实例将通过彼此定期交换PING消息来互相监视。
现在有几个备选方案:1。程序移植,数据库仍统一管理。
这种方式最易实现,但存在的问题数据库必须开放internet通道,如何保证安全,是个问题。而且,访问速度是否能达到要求同样是个问题。采用通道?速度上又不能满足。
2。程序和数据库都移植。
这种方式能实现的镜像效果最好,但实施难度较大,在国内网站中实现这种镜像的还不多。这方案还有2种不同实现方式:
21 程序不改,数据库同步
这种方式相对简单些,程序部分基本不用改动,依靠sqlserver2000的同步功能来实现数据同步。
但从我在erp项目实施中获得的经验看,这种方式看似简单,但其实问题可能最多。首先,sqlserver同样继承了microsoft的老毛病:效率不高。同步复制3G的数据这个速度我实在不乐观。其次需直接开放internet访问,如何避免安全问题,还没想好,还需要找安全专家咨询。最后,同步复制过程中如果发生网络故障,如何保证多数据源的数据完整性和一致性又是个极大的挑战。
22 平台程序改动,数据库异步复制
这种方式对程序的要求较高,网站平台架构的调整较大。等于是把网站由单站点程序转为多站点平台。这样在业务和数据一致性上都有较高要求。这种方式工作最大,难度看似也最大,但我认为这种方式最可行。首先,把程序结构按照事务划分,借助mts可实现多站点统一事务,保证数据的一致性;其次,数据采用异步复制,能避免网络中断造成的数据不完整,防止引起某些逻辑错误;最后,这种方式要求我们尽量少的访问数据库,由于负载的分担,可考虑大量的使用内存替代数据库,提高整体的访问效率。
不过,由于存在时间差,会造成镜像站点间的内容不一致的情况,我还没想好如何解决。 并且,需要开发一个事务调度程序对各镜像数据进行统一更新维护,每秒可能需要面临200次的请求,程序性能和效率会是问题,如何采用分布式我也没想好。当用户向服务器写数据时,磁盘镜像技术就同时将数据写入两个硬盘中,这样一旦一个硬盘损坏,便可从另一个硬盘上获得数据,以维持网络的正常运行。一、安装并设置两个硬盘 1对新增硬盘的要求新添加的硬盘称为从盘(Slave),也即镜像磁盘;服务器中原有的硬盘称为主盘(Master)。从盘最好与主盘为同一厂家生产的同容量的硬盘。从盘的容量应大于主盘的容量,因为一般情况下大容量的硬盘可镜像小容量的硬盘,反之则不然。用大容量的硬盘镜像小容量的硬盘时,需调整Netware分区容量(Netware Partition Size)的大小,使两个硬盘网络分区的大小相同,否则会出现“Size Mismatch”的出错信息。为减少一些烦琐的 *** 作和避免一些不必要的错误,笔者建议使用容量相同的硬盘。2设置硬盘服务器第二硬盘的设置和安装与普通PC机安装第二个硬盘的方法和注意事项基本相同。先根据硬盘说明书上的跳线将新增加的硬盘设置为从盘,完成后,将从盘安装在机箱的硬盘支架上,接入电源接头( *** 作时一定要断开主机电源),再按要求将从盘接到连接主盘的同一条电缆线上。一条电缆线上一般有两个或两个以上的硬盘接头(IDE为40PIN接头,而SCSI为50PIN接头),建议将主盘接在最靠近硬盘控制卡的一个接头上,从盘接在紧靠主盘接头后面的接头上。如果安装的是SCSI接口的硬盘,每个50PIN接头旁都有一个终端电阻(一般为乳白色),当某个接头接入硬盘时,必须将旁边的终端电阻去掉。不管接几个硬盘,SCSI电缆线头尾两端一定要接上终端电阻,而IDE接口的硬盘就没有这些麻烦事了。当硬盘设置完成并安装好后,打开主机电源,进入CMOS状态,在Standard CMOS Setup选项中,设置两个硬盘的主从关系:将C盘设置为Master,D盘设置为Slave,并保存设置结果。3硬盘分区并格式化用FDISK命令对从盘进行分区时,应注意从盘的分区应和主盘相同,即:从盘的DOS分区和非DOS分区的大小应和主盘一样。建议在对从盘分区时,先用FDISK命令查看主盘的分区信息。从盘分区结束后,再对从盘的DOS分区进行格式化。具体 *** 作命令是 ORMAT D: /S/V。注意:一定要将从盘格式化成可启动的系统盘,这样当主盘损坏后,便可以用从盘启动服务器。从盘的分区和格式化完成后便可将主盘C:上的所有文件和目录全部原样复制到从盘D:上,这样可保证两个硬盘DOS分区中的信息完全相同。二、软件的设置 1把Free Space建成Netware Partition当我们用DOS的FDISK命令对硬盘分区时,硬盘的绝大部分被划分为非DOS分区。非DOS分区的大小就是我们在进入网络 *** 作系统后Free Space的大小。Free Space是无法被网络 *** 作系统管理的,所以必须要将其转变为Netware partition,以便网络 *** 作系统的调用。为此,可在服务器上加载Install文件:Load install,出现“Installation Options”的主窗口,选择主窗口中的“Disk Options”下的“ Partition Tables”选项,出现“Available Disk Drives”清单:*Device #0 (5d001) Seagate 7345-SCSIDevice #1 (5d010) Seagate 7345-SCSI选择Device #0时,显示主盘的Free Space空间已成为Netware partition。选择Device #1,再选择窗口中的“Create Netware Partition”选项,将出现“Partition Information”的有关信息,按ESC键并选择“YES”进行确定,此时,第二个硬盘的Free Space变为Netware Partition,即第二台硬盘的非DOS分区已变成了可被网络 *** 作系统使用的Netware Partition了。2进行磁盘镜像紧接上一步的 *** 作。在Install应用程序中,选择“Disk Options”下的“Mirroring”选项,将显示如下所示未镜像的有关信息:Not Mirrored:Non Mirrored Partition [24BD034A] #1Not Mirrored:Non Mirrored Partition [24BD034B] #3按回车后,将显示“Mirrored Netware Partition”的信息:In Sync- Netware Partition # 3 on Device #1表示第一个硬盘#1已完成了“In Sync”的 *** 作,按“INS”键出现“Available Partitions”的窗口,其显示信息为:Netware Partition #1 on Device #0再按回车键后,又出现“Mirrored Netware Partitions”的窗口,其显示信息为:In Sync- Netware Partition #1 On Device #0In Sync- Netware Partition #3 On Device #1按“INS”键后,出现“Partition Mirroring Status”的信息窗口:Partition Logical Partition [24BD034A] #1表示磁盘镜像已完成。三、验证磁盘镜像的效果 从工作站以Supervisor的身份登录,并任意拷贝一个文件(TESTTXT)到服务器。让工作站Logout后,再关掉服务器,打开机箱并经跳线改变原来两个硬盘的主从关系,将原来的主盘设置为从盘,将原来的从盘设置为主盘,或干脆拆掉原来的主盘,将从盘设置为主盘,并对CMOS进行重新设置。启动服务器,从工作站再以Supervisor登录,查看是否有前面拷入的文件(TESTTXT),若有,说明镜像成功。验证磁盘镜像效果的另一个办法是使用Monitor检测程序。当从服务器上键入Load monitor命令后,选择“Available Options”窗口的“Disk Information”选项,查看“Mirror Status”的状态如果是“Mirrored”,表示磁盘镜像成功。四、镜像磁盘的应用 在服务器的运行中,当主盘发生物理故障或主盘中的数据损坏后无法恢复时,可以将镜像盘(从盘)改为主盘,以独立的一个盘来使用,具体办法为:拆掉原来的主盘,将从盘跳线后设置为单一的硬盘C:,并进行CMOS相关参数的设置后启动服务器,运行Install程序,取消原来从盘的“Mirrored”,将其变为“Not Mirrored”状态,以后这台服务器就可以以单硬盘方式工作了。同时,为了防止故障再次发生,建议尽快修复已损坏的硬盘。 (江苏 王群)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)