SAP 登陆组的简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAP登陆组的简介以及登陆组和集群(Cluster)的区别
1.SAP 登陆组的应用:
在介绍SAP 登陆组的之前, 让我们先来看看应用服务器的概念,对于一个很多用户的大规模SAP系统, 通常有很多的用户, 而这些用户又很可能分别属于不同的应用模块, 从系统架构上来说, 生产系统只用一台服务器远远满足不了众多用户对系统资源的需求, 一般来说, 都采用Standalone Database 的形式, 即数据库服务器和应用服务器是分开的,从硬件上来看, 数据库服务器是单独的一台机器,CI-也就是SAP的核心实例放在另外一台单独的服务器上, 通常这两台机器是做一个双机冗余, 就是我们说的集群,即Cluster,从而保证系统的稳定性(这一点在后面会详述). 而把和用户交互的应用层面的东西,也就是Dialog instance 单独安装在另外的服务器上, 用户访问系统是通过登陆到外加的应用服务器也就是运行Dialog Instance 的机器上, 而不直接登陆到数据库服务器上,这样一来,就很好地保护了系统最核心的资源, 提高了系统运行的效率, 也大大减少了由于系统核心资源发生故障的可能性,这样的架构也极大地提高了系统的扩展性, 也就是说在和用户交互的层面可以通过不断地增加应用服务器数量的方式来提供更多的用户访问, 当然前提是在数据库服务器能够承受的最大负荷之内.
SAP提供了登陆组的方法,这样一来就可以有效地分配系统资源,使系统的资源得到最大限度的利用,而且还可以降低系统出错的风险, 例如可以通过登陆组的设置禁止用户直接登陆到数据库服务器上, 把和用户的交互全放在了Application 的层面上, 从而减轻了数据库服务器的负载, 提高了其运行效率. 对于分别属于不同的应用模块的用户登陆, 还可以设置某个应用服务器只能登陆某个特定模块的用户, 而其它模块的用户不允许登陆到此服务器上. 因为不同的SAP应用模块对系统资源有不同的需求,这样做的好处是对于各个模块对系统资源的占用有个清楚地了解, 从而可根据需要动态地调节各模块对系统资源的分配. 此外, 如果有系统多台的应用服务器在同时运行的话,即使其中的某一台出现问题(比如硬件故障)而发生宕机, 也不会影响其它的用户(因为数据库服务器还在正常运行), 而这些登陆到此台应用服务器上的用户也会被系统自动地转移到其它运行正常的应用服务器上,而这一切对用户来说都是透明的, 也就是说在系统运行的情况下, 可以动态地在登陆组中增加或者减少应用服务器. 在用户端不会受到任何影响. 在SAP系统内部, 是通过事物码SMLG来对登陆组进行负载均衡配置的,下面我们就通过几个简单的例子来看一看系统是如何通过登陆组来合理配置资源,均衡负载的:
这里我们通过运行事物码SMLG先在系统里建立一个新的登陆组ZCH1:
现在系统里的登陆组设置如下:其中SPACE是系统默认的登陆组, 而ZCH1是我们后来添加的新的登陆组:
下面是一个系统通过登陆组均衡负载的一个例子
如上图,SAPACE是系统默认的登陆组,之后我们又配置了一个名字为ZongShen的登陆组,并且在ZongShen的登陆组下加入2台服务器: aes04p61_PRD_00, aes04p62_PRD_00. 可以通过允许的user数值调节用户的登陆情况. 登陆组程序最终根据Quality的值判断当前用户的登陆.
如上图,Quality的值越大,表示该服务器的性能越好,SMLG分配的规则是: 当前的用户将被动态地分配到Quality值大的服务器上.而现在我们的情况是应用服务器aes04p62_PRD_00总是比应用服务器aes04p61_PRD_00空闲,所以让大部分的用户登陆到aes04p62_PRD_00上, 让aes04p61_PRD_00接受用户40个左右, 62接受用户120个左右.这样就做到了负载平衡.
2. 集群(Cluster)的应用
首先, 集群(Cluster)和SAP的登陆组是完全不同的两个概念, 简而言之, 与SAP登陆组是用来做均衡负载为主要的目的, 而集群技术在通常的SAP应用中主要还是为了保证系统核心组件的稳定持续运行, 当然, 通过集群技术也能达到负载平衡的目的,但在SAP的应用中绝大多数还是以保证系统持续稳定运行为主要目的.
在实际的SAP应用中通常采用硬件冗余的结构来保证系统的高可用性,即让多处理机同时执行同样的任务用以屏蔽瞬时和永久的硬件错误。
有两种实现方法:构造特殊的冗余处理机和使用多个独立的数据库服务器。
基于数据库的集群系统都是用多个独立的数据库服务器来实现一个逻辑数据库,在任意瞬间,每台处理器运行的都是不同的任务。
这种系统可以屏蔽单个或多个服务器的损坏,但是因为没有处理的冗余度,每次恢复的时间比较长。
下面就在数据库集群技术及主流产品做个简单介绍:
基本上, 数据库集群技术分属两类体系:基于数据库引擎的集群技术和基于数据库网关(中间件)的集群技术, 前者一般共享磁盘, 而后者不共享磁盘.
在数据库集群产品方面,其中主要包括基于数据库引擎的集群技术的Oracle RAC、Microsoft MSCS、IBM DB2 UDB、Sybase ASE,以及基于数据库网关(中间件)的集群技术的ICX-UDS等产品。