一、引 言
目前我厂企业内部从销售、采购、进销存到财务管理等各项业务信息都已纳入ERP系统进行规范管理,随着北石ERP项目应用的逐步深入,每天都会有大量业务数据实时存入ERP数据服务器,因此,在实现ERP系统正常运行的同时,如何保证ERP数据安全则显得相当重要。目前市场上虽然有很多数据备份软件,而且功能强大,但是价格昂贵,实施部署比较繁琐。笔者在长期的系统维护过程中,利用SQL server和操作系统自有的部分功能,同时进行简单的编程开发,自行制定了一套廉价、高效、可控的ERP数据备份方案。
二、分析、规划、部署备份方案
2.1 ERP系统数据特点
北石厂ERP硬件服务器设置采用三层式架构(3-Tier),即在传统的客户端(Client)及数据库服务器(Data Base Server)中间架设应用程序服务器(Application Server)。
所有在易飞ERP系统录入的数据均通过局域网络保存在ERP数据库服务器的SQL数据库中,并且即时进行更新。因此,保证ERP数据安全的关键在于对ERP数据服务器上的SQL数据库及时进行备份。
2.2 基本的备份过程分析
2.2.1 定时执行本地SQL数据库备份
SQL Server本身具有定时备份数据库的功能,我们可以通过设置SQL数据库维护计划,在每天凌晨1:00执行一次SQL数据库完全备份,这样可以将易飞ERP的两个关键SQL数据库备份以BAK文件的形式存放在本地磁盘。
图1 SQL数据库本地备份
2.2.2 生成压缩包
图2 生成压缩包
北石ERP上线至今,已经接近五年时间,目前每天生成的BAK备份文件大小总共为5G多,如此庞大的备份文件,如果不加处理,在后续的处理过程中,将会给服务器造成一定的压力。笔者经过研究发现SQL Server数据库中主要存放的是文字信息,一般纯文本内容都具有高可压缩性,因此数据库生成的BAK备份文件也应该具有一定的可压缩性,在尝试使用Winrar压缩软件对其进行压缩后,发现压缩文件只占原文件大小的10%左右,压缩效果相当可观。
通过使用Winrar压缩软件,可以大大缓解BAK备份文件对数据服务器磁盘空间的占用。当然,由于BAK文件大小在5G以上,压缩时间会比较长,一般在20~30分钟左右。而且运行Winrar程序比较耗费服务器系统资源,所以通常选择在服务器比较空闲的时候对BAK文件进行压缩。
2.2.3 将压缩后的备份文件复制到异地服务器
ERP数据服务器本地数据存储采用由四块scis硬盘组成RAID5磁盘阵列架构,在单块磁盘出现故障的情况下可以保证数据完好无损,但是如果数据服务器发生磁盘RAID信息丢失、系统崩溃或者超过两块硬盘同时损坏时,仍然会造成本地备份的ERP数据出现无法顺利导出的情况,因此对于如此重要的ERP数据而言相对保险的方法是将其复制到其他服务器进行异地存储。
ERP系统实施过程中,企业也在考虑数据集中存储的问题,2005年开始部署了一台存储服务器,针对ERP备份数据,在存储服务器上专门设置了一个远程访问的用户和一个只对该用户开放共享权限的网络共享文件夹,用来异地存储ERP数据服务器上的备份压缩包。存储服务器采用磁盘阵列柜存放文件数据,独立于服务器操作系统,数据存储更加安全,更加稳定。
图3 异地存储
2.3 利用VB编程,实现自动压缩、自动复制过程
以上备份过程原理简单,容易实现,但是如果仅仅依靠手动方式进行操作,则存在一定的问题。
一方面,要想真正保证数据的安全,必须严格要求系统维护人员将压缩备份、复制文件等工作其作为一项专门的日常性事务来处理,每天必须执行,不得有所延误。但是由于人为因素的不确定性,系统管理员出现疏忽,偶尔忘记备份也在所难免,如果哪天忘了或没有来得及压缩备份和异地存储备份,而ERP数据服务器正好又出现故障或者SQL数据被破坏,那麻烦可就大了。
另一方面,由于压缩BAK文件和复制压缩备份的过程需要大量占用服务器系统资源,为了不影响服务器的正常使用,所以一般要选在服务器相对空闲的时候(下班后或者每天上班前)进行备份操作。而压缩和异地复制的时间都比较长,这些都将耗费系统维护人员大量的时间和精力。
因此,手动发起的备份模式在一定程度上很难确保ERP数据的安全。
那有没有比较好的解决办法呢?答案当然是肯定的。那就是把这些手工很难完成的过程交给计算机自动完成。于是笔者使用常用的编程工具VB编写了两个小程序。程序一和程序二分别可以自动完成对BAK备份进行压缩和异地存储。由于目前程序开发工具比较多,均可实现以上功能,所以本文不对VB程序代码展开说明,仅将程序的基本思路和实现的过程进行简单介绍。
2.3.1 程序一:自动压缩BAK文件
SQL定时生成的BAK文件,以备份数据库名+备份日期和时间命名,具有一定的规律。程序一运行后会按照相同的规律自动生成BAK文件的路径和文件名并保存在一个列表文件里。
然后,程序再调用Winrar压缩软件读取列表文件,对其中列出的BAK文件进行压缩,生成一个新的压缩包。
2.3.2 程序二:将备份压缩包传送到异地服务器
程序二内封装了存储服务器的某个Windows用户和密码,该用户拥有读写共享文件夹权限。程序运行后会首先自动连接存储服务器,并完成用户身份验证,获取到对应网络共享文件夹的完全控制权限,然后就将备份压缩包自动复制到存储服务器上的共享文件,从而安全、自动的实现备份压缩包异地存储。
2.3.3 利用windows任务计划功能,定时运行程序一和程序二
每天凌晨1:00SQL数据库执行一次完全备份,耗时大概二十分钟。这是在SQL维护计划中进行设置,由SQL server自动管理,每天在固定的时间执行一次。
类似的,也可以设置windows任务计划,每天在固定的时间运行一次程序一和程序二,自动完成压缩和异地存储的操作。
2.4 确定自动备份方案
上述内容已经对备份方案中的具体过程和方法进行了详细分析,在此基础上,笔者经过细致分析,综合考虑,最终形成图4所示备份方案。
图4 北石ERP数据备份方案示意图
此方案部署成功后,每天会在规定的时刻执行相应步骤,直至完成ERP数据库的异地备份。所有备份过程自动完成,不需要过多的人工干预。
2.5 结合AM企业即时通讯系统,对服务器状况进行监控,确保备份顺利进行
备份方案部署后,数据服务器和存储服务器上每天都会自动生成的一个数据备份文件和压缩包,由于服务器上磁盘空间大小有限。如果不加处理,日积月累磁盘空间终会耗尽,当服务器磁盘没有足够的剩余空间时,数据备份也就无法完成,因此,最开始的时候,系统维护人员还需要对服务器磁盘状况进行监控,定期清理磁盘。每次清理时,一般保留一周内的BAK备份文件和压缩包,超过一周的历史的备份压缩包则可以刻录成DVD光盘集中存档。
由于仍需要系统维护人员定期对磁盘空间进行维护,为了避免系统管理员忘记清理磁盘,确保磁盘有足够的剩余空间保存备份,笔者又利用VB又编写了一个小程序结合windows的任务计划,该程序可以定时检测服务器磁盘状况。并且与AM企业即时通讯系统进行集成,当检测到磁盘剩余空间不足10G时,程序会马上调用AM消息控件,群发即时消息告知相关系统维护人员“磁盘空间不足,请及时清理”。系统维护人员收到消息后即可立即着手清理磁盘,真正做到防患于未然。
三、结 论
此数据备份方案配置简单实用,备份过程清晰,方案一经部署,维护简单,所有备份过程均自动完成,无需过多的人工干预。可以将系统管理员从以往琐碎的循环作业中解放出来。同时,自动对磁盘剩余空间的监控以及与AM的有效集成,为顺利完成数据备份提供了有力的保障。
到目前为止,该数据备份方案在捍卫企业ERP数据方面仍发挥着重要作用。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:有效捍卫ERP数据安全
本文网址:http://www.toberp.com/html/consultation/1083951680.html