openfile存储服务器及oracle体系架构简介

时间:2024-04-07 17:27:03

      1 openfile存储服务器的作用:

        首先介绍下openfie解决的问题:一个服务器或一个物理主机,磁盘空间不可能永远增加,当一个服务器的磁盘空间满足不了现状我们应该如何处理。

        平常的做法,我们采用raid独立磁盘冗余的形式,对磁盘的安全性和备份进行了维护,的确raid的提出,解决一个磁盘损坏时,备份的可能性,也提高IO的读取速度。raid10 raid5模式等等都可以解决这一系列问题。但是只是从单个主机上考虑的, raid的实现原理,大概如下:

        raid的基础上把磁盘单独分区(我们平常是把磁盘直接划分成多个分区,再做成物理卷,而raid直接是在单个磁盘上做的,不是在磁盘多个分区上做的,这里有些不同,做的目的就是利用raid,做一个高可用,即备份了磁盘又可以提供对磁盘的读写速度),然后分给一个卷组,卷组在分成多个逻辑卷。 这样挂载的时候只要挂载逻辑卷给相应的目录即可,解决一个分区空间不足影响相应目录空间不足的问题时,我们的逻辑卷空间不足是可以在卷组划分点过来,我们的卷组空间不足时,可以添加物理卷,我们物理卷空间不足可以添加磁盘空间。 这一层层的,已经解决我们原先单个分区空间不足的问题。

        但是当我们没法给服务器增加磁盘时,或者说我们的服务器或者主机磁盘不能再添加时,我们应该如何处理。 今天介绍一下openfile存储服务器。

        openfile是一个独立的存储服务器,它可以通过ISCIS接口,通过网络来访问我们其他服务器,向其提供自己的磁盘空间。 也就是说,假如我们有一个主机的磁盘空间满了,又加不了了,我们可以通过建立openfile存储机子,向这台机子借用磁盘空间。 

     1 安装 openfile安装与redhat安装类似。 

       利用镜像openfileresa-2.99.1-x86_64-disc1.iso或者将openfile系统光盘插入光驱,即可安装。 安装不介绍了。就是划分下空间,下一步。

      安装完成后,入提供一个连接。openfile存储服务器及oracle体系架构简介 openfile存储服务器及oracle体系架构简介

openfile存储服务器及oracle体系架构简介 如图,我们可以通过浏览器访问了。账号密码openfiler/password,
进来之后是这样的。openfile存储服务器及oracle体系架构简介在   volumes下,我们可以对块设备进行一个raid的管理。 选择不同的raid模式,可以提高磁盘的读取速度,或者备份磁盘。 raid5是为了备份。其实第三块区是为了备份用的。    你也可以选择raid10备份用,但是raid10比较消耗磁盘空间。因为一块备份一块写数据用的。  建好之后我们可以把分区划分给卷组。

openfile存储服务器及oracle体系架构简介

openfile存储服务器及oracle体系架构简介

在进行配置网卡,openfile存储服务器及oracle体系架构简介

启动iSCSI Target服务,在划分一个逻辑卷。

这是大致的一个流程。具体操作我会放到文件中,或者联系我,如果感兴趣的小伙伴可以操作下。

下面我们就需要配置下我们的源主机了,是源主机能够访问到我们的openfile存储服务器。

1  安装软件  rpm -ivh iscsi-initiator-utils-6.2.0.873-2.el6.x86_64.rpm 

2 发现我们openfile的存储服务器资源  iscsiadm -m discovery -t st -p 192.168.20.2 

3 登录资源相当于将iscsi服务端的lun挂载到本地服务器上

iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.0e77a0d94f8f -p 192.168.20.2 -l  

4 做完之后fdisk -l 你会发现来自源openfile的逻辑卷。 但是这里会遇到一个问题,如果你的openfile上面有多个网卡都能访问到我们主机,你会发现fdisk -l一个逻辑卷会显示成多个逻辑卷。(有几个网卡就会显示几个)。 这里我们就需要多一下多路径的处理。这里说明下产生的原因:没有多路径,从服务器节点到存储控制器的所有路径都将被系统视为独立设备。DM-Mutipath提供了逻辑管理IO路径的方法。每个多路径设备都有一个全球标识符(WWID),他是全球唯一的无法更改的号码。user_friendly_names选项,设置为yes,可将别名设为格式为mathn的节点唯一名称。

多路径的设置方法:

软件包安装device-mapper-multipath device-mapper-multipath-libs device-mapper

启动多路径服务 multipathd start 

C 查看内核模块。lsmod | grep mul

D 生成配置文件 mpathconf --enable  注意这里的TID。

cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/

在集群中保持多路径名称一致

一、

如果在集群中保持多路径设备在每个节点上保持一致,不要设置user_friendly_namesyes,且不要设置别名。这样默认情况下,设备名为该设备的WWID

 

二、

可以在集群中设置友好的名称

1、在一台机器中设定所有多路径设备

2、其他机器禁用multipath设备

# service multipathd stop

# multipath -F       #flush all unused multipath device maps

3、将第一台配置好的机器中的/etc/multipath/bindings文件复制到其他机器

4、启动multipathd守护集成

# service multipathd start

以上就是基本内容,但是在实际搭建上,不止这些。我会放到文件中。 


进入今天的第二大部分。


oracle体系架构。

今天讲的只是我个人所理解的,少了一些专业术语。只是讲一部分,后面会继续讨论。

在我看来。 整个oracle数据库是由两大部分实例(内存和进程:内存目的就是缓存客户端或服务端做了默写操作用的,进程就是把内存中的东西实实在在的写的文件里面)和存储(实实在在的文件)构成。如下图。

openfile存储服务器及oracle体系架构简介openfile存储服务器及oracle体系架构简介


实例即为我们的instance。 它包括了内存(SGA)和进程(PMON,SMON,DBWR等等)。 下面的就是存储(各种文件构成)。 

我的理解就是,当一个客户端session访问数据库服务器时(PGA),会在数据库内存上产生一个process(SGA),这些process写在内存里,再通过相应的进程去访问我们database(一些实实在在的文件)。当然并不是如此简单,但是大概意思就是这样了。细分的话,就是我们的SGA里面有很多池,我们也有很多进程,也有很多存储文件。 我们的这些池,这些进程,这些文件,类型不同,他们所做的事也都不同。等于 工厂里面的一个分工,不同的工人做着不同的事。

今天这里我分几个链子说下,就每块东西是干什么说。

1 SGA中的share pool池是干什么的。 share pool 主要目的是缓存我们的SQL文本信息的,就是客户端输入的sql信息时,会缓存在share pool中,以便下次访问解析再次消耗内存。他还会缓存我们的数据字典。

2 SGA中的 database buffer cache 和DBWR进程,这样解释下,当一个客户端要访问或者操作一些表数据时,这样我们就要到磁盘中数据文件中读取或者写入数据,那我们要把这些数据先做一个缓存,我们将读取或者写入的数据先读到内存中(buffer cache),这就是buffer cache的作用,缓存磁盘中数据块的内存。 那么DBWR 呢? 

DBWR目的就是,当我们buffer cache内存满了的时候,或者说到了到了时间点要求写到数据文件的时候,我们就会把buffer cache里面的数据通过DBWR进程写到datafile数据文件中。进程就是告诉我内存要做这个操作了,就是这么一个概念。那么下面理解就会简单点。

3 SGA中的log buffer 日志缓冲区,当我们客户端进行DML,DDL的修改操作时,我们会把修改的内容写到log buffer内存中,再通过LGWR进程写到redo log file(日志文件)中。

4  SGA中对于large pool一般是为了并行查询提供IO读取,备份恢复用的。主要于共享服务器的session memoryRMAN备份恢复以及并行查询等。这里可以简单知道下。

5 SGA中java pool 这里不做介绍。好像就是利用java才会用到。

6 进程CKPT,检查点进程,这个似乎很重要,因为我们的redo,undo,备份恢复,闪回都会用到这个检查点(scn),它的目的就是时时刻刻当数据文件,控制文件的数据块做了某些变化时,往里面插入一个SCN的标号,我觉得就是以防万一,备份恢复用的。并且了一个时间点时,检查点进程也会督促,dbwr进程写数据文件了。

7 SMOM进程。在实例启动时执行恢复(如果需要)。SMON还负责清除不再使用的临时段。如果在实例恢复过程中由于文件读取错误或脱机错误而跳过了任何已

终止的事务处理,则 SMON 将在表空间或文件重新联机时恢复这些事务处理。

8 PMON进程。在用户进程失败时执行进程恢复。PMON 负责清除数据库缓冲区高速缓存和释放该用户进程占用的资源。 哈哈哈。 

9  ARCn进程日志切换之后,归档进程 (ARCn) 会将重做日志文件复制到指定的存储设备。仅当数据库处于 ARCHIVELOG 模式且已启用自动归档时,才会存在ARCn进程。目的就是讲日志文件通过ARCN进行一个备份。 这个数据库归档时才会有,不归档就没有。

今天到这, 体系架构,下次接着分享。 哈哈哈