黑龙江移动GPFS技术方案.docx

上传人:b****7 文档编号:23466341 上传时间:2023-05-17 格式:DOCX 页数:19 大小:287KB
下载 相关 举报
黑龙江移动GPFS技术方案.docx_第1页
第1页 / 共19页
黑龙江移动GPFS技术方案.docx_第2页
第2页 / 共19页
黑龙江移动GPFS技术方案.docx_第3页
第3页 / 共19页
黑龙江移动GPFS技术方案.docx_第4页
第4页 / 共19页
黑龙江移动GPFS技术方案.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

黑龙江移动GPFS技术方案.docx

《黑龙江移动GPFS技术方案.docx》由会员分享,可在线阅读,更多相关《黑龙江移动GPFS技术方案.docx(19页珍藏版)》请在冰豆网上搜索。

黑龙江移动GPFS技术方案.docx

黑龙江移动GPFS技术方案

黑龙江移动经分数据库

GPFS技术方案建议书

 

国际商业机器中国服务有限公司

2022年04月

1.1系统架构介绍

黑龙江移动经分数据库系统架构如下图所示。

2台数据库服务器(IBMp570)和1台存储设备(IBMDS8300,512块146G硬盘,做成64个RAID5。

其中32个是6+P+S的RAID5,有效容量779G;32个是7+P的RAID5,有效容量是909G)组成集群系统,采用SAN网络存储体系结构。

正常情况下ORACLE9IRAC数据库在两台服务器上并行运行。

当一台主机故障时,另外一台主机自动接管运行故障主机的资源组。

在AIX平台上,OracleRAC可以运行在并发卷组(ConcurrentVolumeGroup)的裸设备上,也可以运行在IBM的通用并行文件系统上(GPFS,GeneralParallelFileSystem)上。

GPFS是和AIX操作系统一起产生的、紧密结合的、支持从多台主机对文件进行并发访问的高性能文件系统,在高性能运算领域占据着举足轻重的地位。

OracleRAC运行在GPFS上,和运行在裸设备上相比,具有更快的接管速度、超强的可管理性和更好的I/O条带化性能。

更快的接管速度使故障的接管时间更短,提高了系统的持续服务能力;超强的易管理性大大降低系统管理的工作量,减少人为出错的几率,增加系统的稳定性,管理简单意味着更稳定;对于容量在T级别的数据库,GPFS的条带化能够提供比裸设备更好的I/O性能;GPFS的I/O条带化原理保证无论是随着业务模式的变化,还是存储的扩容,系统性能能够一直保持在最优状态。

考虑到黑龙江移动的数据库是一个海量的数据库(50T左右),对系统性能和管理都存在在巨大的挑战,GPFS的优势正好能够定位于解决这两方面的问题,IBM推荐黑龙江移动的经分数据库采用GPFS架构。

为更充分理解GPFS的优势,在后面的章节中,我们对两种方案的技术细节进行详细介绍。

1.2OracleRAC运行在裸设备上的技术架构

OracleRAC运行在裸设备上的技术架构如下图所示。

在当前黑龙江移动环境下,DS8300共有512块146G硬盘,做成64个RAID5。

其中32个是6+P+S的RAID5,有效容量为779G;另外32个是7+P的RAID5,有效容量为909G。

在使用裸设备的情况下,为存储空间使用上的有效性和灵活性,每个RAID分成若干个128G的LUN,这样总共分为378个128G的LUN,在AIX5.3操作系统中对应378个vpath。

在378个vpath上,创建40个卷组(并发卷组和普通卷组),在卷组上再创建逻辑卷(LogicalVolume),在逻辑卷上创建文件系统或者直接作为裸设备来使用。

ORACLE9IRAC数据库的数据文件存放在并发卷组的裸设备上,通过HACMP来管理。

可以想象,如此海量的数据,无论是数据库的物理规划,还是日常维护,对系统管理员都是非常繁重的工作,而且,即使最初花费了大量的精力进行I/O分布的规划,随着业务运行模式的不同,I/O冲突随时也可能会出现。

由于vpath数目众多、VG数目众多、LV数目众多,系统启动、HACMP的启动都需要花费大量的时间。

对海量数据库,使用裸设备的架构是令人苦恼的。

1.3OracleRAC运行在GPFS上的系统架构

GPFS(GeneralParallelFilesSystem),IBM通用并行文件系统,是和AIX操作系统一起产生的、紧密结合的、支持从多台主机对文件进行并发访问的高性能文件系统,在高性能运算领域占据着举足轻重的地位。

在AIX平台上,OracleRAC的数据文件支持存放在并发卷组的裸设备中和GPFS文件系统中。

OracleRAC运行在GPFS上,和运行在裸设备上相比,具有更快的接管速度、超强的可管理性和更好的I/O条带化性能。

在本方案中,IBM的群集软件HACMP负责主机间相互接管;OracleRAC的数据文件存放在三台主机能够同时并行访问的GPFS文件系统中,使用GPFS内置的文件复制功能实现两台存储的在线热备份,当一台存储发生故障时,不影响业务的正常运行。

系统逻辑架构如图二所示。

1.3.1GPFS(GeneralParallelFilesSystem)介绍

1.3.1.1GPFS简介

GPFS是IBM公司第一个共享文件系统,起源于IBMSP群集系统上使用的虚拟共享磁盘技术(VirtualSharedDisk)。

作为整个技术的核心,GPFS是一个并行的磁盘文件系统,它保证在群集内的所有节点可以并行访问同一个文件系统(类似与NFS文件系统的功能);而且针对此文件系统的服务操作,可以同时安全地在使用此文件系统的多个节点上实现。

GPFS允许多台主机共享文件,而这些文件可以分布在不同节点的不同硬盘上;它提供了标准的UNIX文件系统接口,允许应用不需修改或者重新编辑就可以在其上运行。

GPFS也支持UNIX文件系统的工具(例如tar、cp等),即用户可以像使用普通文件系统一样使用基于GPFS的文件系统,唯一不同的在于管理GPFS文件系统的命令(例如在GPFS文件系统中添加磁盘需要使用mmaddisk命令,在一个节点上执行此命令,该命令对系统所做的修改在所有节点上都能够被看到)。

GPFS提供的文件系统操作服务可以支持并行应用和串行应用,它允许任何节点上的并行应用同时访问同一个文件或者不同的文件。

GPFS文件系统是一个成熟的并行文件系统,和AIX操作系统紧密结合,在高性能计算领域有广大的客户群。

OracleRAC版本支持GPFS文件系统,在国内外也有众多的用户。

一个比较典型的例子是,使用OracleRAC的SAP系统只支持在GPFS上运行。

1.3.1.2GPFS术语

GPFScluster

GPFS群集是指多个节点的集合,它们共享同一个或者多个并行文件系统;群集里的节点可以并发访问这些文件系统里的数据。

GPFSAdminLAN

用于不同节点的GPFS守护进程之间交换控制信息的内部网络。

在所有节点均能够访问SAN的环境下,GPFS文件系统的数据在SAN之间移动,而控制信息在GPFSAdminLAN上流动。

NetworkSharedDisk(NSD)

NetworkSharedDisk(NSD)是GPFS的一个磁盘子系统,它提供对GPFS共享磁盘文件系统的远程管理和全局命名的功能。

例如,在使用DS8100磁盘阵列的AIX操作系统中,一个vpath对应一个NSD。

FailureGroup

FailureGroup是一个磁盘的集合,一个单点故障会引起集合内部的所有磁盘同时失效。

Metadata

Metadata由I-nodes和非直接块组成,包含文件大小、最后修改时间、构成文件的磁盘块分布等信息。

用来组织和定位在GPFS文件系统中经过条带化后的用户数据。

Quorum

Quorum是保障GPFS资源可用和完整性的机制。

在一个GPFS系统中,如果半数以上节点上的GPFS守护进程正常工作,此机制就被激活。

GPFS文件系统就处于可用状态。

1.3.1.3GPFS特点

更好的系统性能

✧一个GPFS文件系统可以横跨在群集内的所有主机上,分布在所有磁盘上。

GPFS文件系统在读写文件时采用条带化技术,将数据分成条带并行写入到该GPFS下的所有NSD中。

在有高速数据通道(例如IBMHighPerformanceSwith,网络带宽可达500MB/s)的GPFS配置下,读写文件时可以通过所有主机的光纤通道访问所有的磁盘,I/O条带化性能无可比拟。

✧GPFS的条带化原理保证同一个GPFS下所有磁盘的I/O负载是均衡的,没有一块磁盘会比其它磁盘更繁忙。

✧GPFS支持超大文件系统。

GPFS2.3版本对GPFS文件系统的大小已经没有限制,IBM实验室测试过的GPFS文件系统大小为200T。

而在AIX5.2中,JFS2文件系统的最大尺寸为1T。

✧GPFS支持对文件的并发访问。

它允许任何节点上的并行应用同时访问同一个文件或者不同的文件。

准确的系统一致性

✧GPFS通过一套复杂的信令管理机制提供数据一致性;通过这套机制允许任意节点通过各自独立的路径访问同一个文件。

即使节点无法正常工作,GPFS也可以找到其它的路径。

✧和传统的锁机制相比,信令管理机制也确保了文件并发访问的高效性。

高可用的文件系统

✧GPFS是一种日志文件系统,为不同节点建立各自独立的日志。

日志种记录Metadata的分布,一旦节点发生故障后,可以保证快速恢复数据。

✧GPFSFail-over功能通过规划,将数据分布到不同FailureGroup内达到高可用性,减少单点故障的影响。

为了保证数据可用性,GPFS可以在多个FailureGroup内为每个数据实例做备份,即使创建文件系统时没有要求复制,GPFS也会自动在不同的FailureGroup内复制恢复日志。

增强的系统可扩展性

✧通过GPFS,系统资源可以动态调整;可以在文件系统挂载情况下添加或者删除硬盘。

当系统处于相对空闲时,用户可以在已配置的硬盘上重新均衡文件系统以提高吞吐量。

✧可以在不重新启动GPFS服务情况下添加新节点。

简化的管理手段

✧GPFS自动在各个节点间同步配置文件和文件系统信息,

✧在同一个GPFScluster内,对GPFS的管理可以在任一个节点上进行,在一个节点上执行的命令将在cluster内的所有节点上生效。

1.3.2方案实施基本流程

方案实施的大概步骤如下:

1.3.2.1系统硬件的基本安装和配置

安装所有硬件产品,包括3台IBMpSeries主机,两台DS8100磁盘阵列,两台16口光纤交换机,以及完成这些设备之间的连线。

在3台主机上安装操作系统。

在两台DS8100上创建RAID10,根据具体要求划分LUN(LogicalUnitNumber)。

在AIX上安装DS8100驱动程序,认出所有LUN。

每一个LUN在AIX中对应多个hdisk,通过DS8100的多路径驱动软件,这些hdisk对应一个vpath(为简单起见,以下我们简化为一个LUN对应一个hdisk)。

1.3.2.2安装配置GPFS并实现存储间的在线热备份

一个GPFS文件系统中硬盘个数越多,GPFS的I/O性能就越好;同时尽量一个RAID上创建一个LUN,这样避免同一个RAID内磁盘的冲突。

因此,针对黑龙江移动的配置,对LUN划分需要从如下几点考虑:

✓确定分配给GPFS的存储空间:

在当前的64个RAID5中,确定有多少个RAID5给GPFS使用。

例如,50个。

✓对分配给GPFS的RAID5,每一个RAID5创建一个LUN。

对分配给其它使用的RAID5,为提高空间使用率,可以一个RAID5创建多个LUN,例如128G一个LUN。

✓可以考虑创建两个GPFS:

一个GPFS中的RAID5是6+P+S类型的,另外一个GPFS的RAID5是7+P类型的。

也可以创建一个GPFS,包括所有的RAID。

可以在实施的时候做测试,来确定哪种方式更合理。

✓将OracleRAC数据文件、归档日志文件、应用程序文件均存放在一个两个GPFS文件系统内,通过目录进行文件分类管理。

创建GPFS的简要步骤如下:

1.创建GPFScluster,该cluster中包含2台IBMpSeris主机。

在创建cluster时,需要指定GPFSAdminLAN,我们使用OracleRAC的InterConnection作为GPFSAdminLAN。

2.创建NSD,每个vpath对应一个NSD。

如果要实现双存储间的热备份,需要将两个存储内的NSD指定在两个不同的FailureGroup中(同一个存储的NSD在相同的FailureGroup中)。

3.创建GPFS文件系统包含所有的NSD。

如果要实现双存储间的热备份,GPFS文件复制参数打开,这样在缺省情况下任何文件会被复制两份,且分布在不同的磁盘阵列上。

1.3.2.3Oracle9iRAC的安装和配置

在GPFS上安装和配置Oracle9iRAC。

1.3.2.4HACMP安装和配置

安装HACMP,配置HACMP网络和资源组。

由于应用程序存放在GPFS文件系统上,因此不需要接管。

每个主机只需要定义一个Cascading资源组,用于接管对外服务IP地址和起停应用进程。

1.3.2.5应用程序安装配置

安装应用程序,实现HACMP的对程序的接管。

1.3.2.6系统测试

系统设置完毕后,进行主机间的接管测试和GPFS的各种测试。

1.3.3主机间高可用性的实现

主机间高可用性的通过IBM的HACMP软件结合Oracle9iRAC的在线接管功能实现。

正常情况下,一个ORACLE9IRAC数据库同时运行在两台主机上,起到负载均衡的作用;HACMP软件运行在两台台主机上,监控群集系统可能发生的异常情况。

当某台主机发生故障时,HACMP会根据系统定义的逻辑选择某台存活的主机接管故障主机的资源组,接管步骤如下:

1.接管故障主机的ServiceIP地址到本主机的Standby网卡上。

使用HACMP5.3的IPAlias功能,IP地址接管时间在5秒钟左右。

✓应用系统文件存放在GPFS上,一台主机的损坏对其它主机没有影响,无需接管。

✓Oracle9iRAC不需要接管。

故障主机上的查询事务能够自动被其它主机接管,插入和更新事务被自动提交或者回滚。

2.在本地主机启动故障主机的应用程序进程。

1.3.4SAN网络高可用性的实现

本方案中,采用两个互为备份的16口光纤交换机,每台主机采用两个光纤卡连接光纤交换机,每台DS8100磁盘阵列采用8个光纤通道卡连接光纤交换机。

主机上运行IBMSDD多通道负载均衡软件。

这样,在SAN网络内任何部件的损坏对业务不会造成影响。

1.3.5网络高可用性的实现

各业务系统对外服务IP地址的高可用性是通过HACMP的IP地址切换功能实现的。

为了防止网络交换机的单点故障,建议黑龙江移动采用两个单独的网络交换机,各主机的Service网段和Standby网段位于不同的交换机上,但两个交换机需要在一个VLAN里。

OracleRAC需要高速网络通道(也称作MemoryChannel,或者OracleInter-Connection)实现实例间的数据交换,从而达到并行的目的。

高速通道速度越快,并行访问的性能就越好。

我们可用使用每台主机HACMP中Standby网卡来作为高速通道,但在发生接管时,性能会收到影响。

为实现更快速稳定的高速通道,本方案建议采用单独的千兆网络来作为OracleInterconnection,并采用EtherChannel通道技术。

EtherChannel通道技术能够绑定多块网卡到一个IP地址,这样既能够增加网络带宽(两块1G的千兆网卡绑定后变成2G),也能够起到网卡间相互备份的作用,任何一个网卡的损坏不会造成IP地址的不可访问。

实现EtherChannel功能除了要求操作系统支持外(AIX5L支持EtherChannel功能),还需要网络交换机支持该功能。

为了防止网络交换机的单点故障,需要采用支持跨交换机做EtherChannel的网络交换机(例如Cisco3750),将来自同一个主机的两块网卡绑定在不同的网络交换机上。

GPFSAdminLAN对GPFS的正常工作非常重要,如果某台主机该网卡损坏,那么该主机上的GPFS文件系统就会被umount下来。

如果整个GPFSAdminLAN宕掉,那么只有一台主机能够正常工作。

鉴于GPFSAdminLAN的重要性,需要采用跨网络交换机的EtherChannecl通道技术。

由于GPFSAdminLAN上仅仅传输文件系统的控制信息,数据量不大,因此可以使用OracleInterconnection网络来作为GPFSAdminLAN。

1.4IBM对技术方案的建议

这两种方案均能够很好的满足黑龙江移动经分系统的需求。

简单的比较这两种方案,我们不难发现,OracleRAC运行在GPFS上,比运行在裸设备上,无论是从系统架构原理、实施难易程度,还是从日常管理的复杂性,都有很大的优势。

根据GPFS的原理,结合国内外用户的实践经验,OracleRAC运行在GPFS上,比运行在裸设备上,优势主要体现在接管速度上、管理上和性能上三个方面。

下面做详细的阐述。

1.4.1GPFS和裸设备在接管速度上的比较

在接管速度上,和运行在裸设备上的OracleRAC相比,GPFS的接管速度更快。

主要表现在如下方面:

1.HACMP启动速度:

OracleRAC运行在裸设备上时,并发卷组需要HACMP管理。

HACMP启动时,需要检查所有vpath的状态,检查LV的状态,vpath越多,LV越多,启动时间越长。

OracleRAC运行在GPFS上时,GPFS不在HACMP里管理,HACMP只需负责IP地址,启动很迅速。

2.HACMP接管速度:

OracleRAC运行在裸设备上时,需要接管IP地址和卷组(2分钟,不加起应用的时间);OracleRAC运行在GPFS上时,HACMP只需负责IP地址,接管很迅速(30秒)。

3.在双存储环境下,当一个存储损坏时,裸设备环境下数据库操作要挂起2到3分钟左右;而在GPFS环境下,只需要挂起30秒左右。

1.4.2GPFS和裸设备在管理上的比较

就管理上而言,和裸设备相比,GPFS有超强的易管理性。

主要表现在如下方面:

1.可以将Oracle安装程序安装在GPFS文件系统上。

这样所有节点只需要共享一套程序,所有配置只需要维护一份。

对安装和维护,和单机版的数据库没什么区别。

节点越多,优势越明显。

2.ORACLE安装在裸设备时,需要首先创建并发卷组,由HACMP来管理并发卷组,然后在并发卷组上创建裸设备,更改裸设备属组,同步到所有节点。

在GPFS上创建数据库时,只需要指定一个目录即可,ORACLE会自动创建数据文件。

3.在数据库物理结构规划时,需要仔细调整裸设备的物理分布,例如访问最频繁的表空间的数据库文件要放置在不同的硬盘上,以免发生I/O冲突。

数据库越大,裸设备就会越多,规划工作会越复杂。

而GPFS由于自身能实现很好的条带化,只需在要创建GPFS时注意磁盘的物理分布即可。

GPFS文件系统中包含的磁盘越多,I/O条带化性能会越好。

4.在表空间管理时,裸设备必须手工限定大小,当空间不够时需要增加裸设备。

而建立在GPFS文件系统上的表空间可以自动扩充,由文件系统自动进行管理。

而且GPFS文件系统是一种支持超大文件的文件系统,理论最大尺寸没有限制,已经测试过的GPFS文件系统可以建到200T(JFS2文件系统最大为1T)。

我们可以将所有存储都分配给GPFS文件系统,由GPFS自动进行管理,这样不仅管理简单,而且还能够获取最好性能。

5.当需要增加新的数据文件时,如果使用裸设备,需要停止业务运行,停止HACMP,在并发卷组中创建新的逻辑卷,然后将卷组信息同步到所有节点上,再启动HACMP,启动业务。

而使用GPFS,因为是文件系统,不需要做任何额外的操作。

6.在扩容时,GPFS优势更加明显。

当系统增加新的存储空间时,使用裸设备需要将新存储的逻辑盘加入到逻辑卷中,然后再创建新的裸设备,分配给数据库使用。

如此操作,需要停机的时间比较长。

而GPFS文件系统的扩容可以在线进行,只需要将硬盘加入到GPFS中,GPFS可以在线将数据重新条带到所有硬盘上,不需要人为干涉,减少出错的几率。

7.使用裸设备时,由于需要HACMP软件来管理并发卷组,HACMP在varyon并发卷组时,要逐个检查裸设备的状态,裸设备越多,检查时间会越长,启动越慢。

而且多个节点启动时需要逐个顺序启动,时间会比较长。

一旦HACMP出现问题,导致卷组不正常,只能通过重新启动机器来解决。

如果使用GPFS,则HACMP只需要负责网络IP地址的接管即可,启动和停止非常迅速,而且不容易出问题。

GPFS自身的启动速度很快,几个T的文件系统,在所有节点上同时mount可以只需要几秒钟时间。

8.在ORACLERAC中,一个经常需要面临的问题是归档日志的备份。

假设一个4个节点的RAC,如果不使用GPFS,则需要在每个节点上分别创建归档日志目录,RMAN对其分别进行备份,故障点增多,备份和恢复非常麻烦。

也可以使用NFS,但NFS存在速度慢、受制于网络、不稳定、存在单点故障的问题。

而使用GPFS,就像单机版数据库一样,性能好,操作简单,有高可用性,不容易出问题。

1.4.3GPFS和裸设备在性能上的比较

在进行GPFS和裸设备性能比较时,我们采用了SAN环境进行测试。

主机采用3台IBMp650,存储采用两台DS6800,SAN光纤交换机。

软件采用AIX5.3+ML02,HACMP5.2+PTFSET5,GPFS2.3+PTFSET6,Oracle9iRAC9.2.0.6。

我们将Oracle数据库的系统表空间文件创建在一个GPFS文件系统/gpfs2上。

然后在四块10G的硬盘上分别创建GPFS文件系统和裸设备,在两者上分别创建测试表空间和表,比较插入和查询的性能。

裸设备的创建有两种方式,一种是不做条带化,这是最常用的创建方法;另外一种是做最精细的条带化。

不做条带的裸设备创建命令如下,系统缺省将LV创建在两块盘上。

mklv-y'ora_test_lv'-t'raw'testvg640

条带化的裸设备创建命令如下,系统将LV创建在4块盘上,分布在盘的最中心位置。

mklv-y'ora_test_lv'-t'raw'–‘S64K’testvg640vpath1vpath2vpath3vpath5

测试中使用的ORACLE命令如下:

(1)gpfs

droptabletest;

droptablespacetestincludingcontents;

CREATETABLESPACETEST

DATAFILE'/gpfs2/oradata/rac_test01_lv'size10000M

EXTENTMANAGEMENTLOCAL

SEGMENTSPACEMANAGEMENTAUTO;

createtabletestTABLESPACETESTasselect*fromdba_objects;

begin

FORcounterIN1..7LOOP

insertintotestselect*fromtest;

insertintotestselect*fromtest;

commit;

ENDLOOP;

end;

(2)raw

droptabletest1;

droptablespacetest1includingcontents;

CREATETABLESPACETEST1

DATAFILE'/dev/rora_test_lv'size10000M

EXTENTMANAGEMENTLOCAL

SEGMENTSPACEMANAGEMENTAUTO;

createtabletest1TABLESPACETEST1asselect*fromdba_objects;

begin

FORcounterIN1..7LOOP

insertintotest1select*fromtest1;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1