Oracle 12c RAC 集群使用DNS 实现 SCAN

时间:2022-11-29 21:42:15

 

注:本文谢绝转载!

 

1   说明

 

关于RAC 集群的SCAN 特性说明参考:

Oracle RAC 集群 SCAN 说明

http://www.cndba.cn/Dave/article/758

 

本文描述Oracle 12c RAC 集群使用DNS 实现SCAN.

 

 

DNS 的配置工作,就是分配SCAN IP地址,并映射到一个域名上。

 

SCAN IP最多有3个,我的环境,只有2个节点,这个也没关系,我照样弄3个SCANIP。

 

当前IP规划:

[root@rac2 raw]# cat /etc/hosts

127.0.0.1  localhost

 

192.168.56.5 rac1

192.168.57.5 rac1-priv

192.168.56.7 rac1-vip

 

192.168.56.6 rac2

192.168.57.6 rac2-priv

192.168.56.8 rac2-vip

 

192.168.56.9 rac-scan

 

SCAN IP 要和PUBLIC IP一个网段,所以这里从56网段拿3个IP:

192.168.56.20

192.168.56.21

192.168.56.22

 

解析域名用scan.cndba.cn

 

 

2   安装DNS

 

Redhat 下安装DNS 需要安装如下3个包:

bind-9.3.6-4.P1.el5.i386.rpm  --提供核心的二进制程序

bind-chroot-9.3.6-4.P1.el5.i386.rpm  --提供安装性

caching-nameserver-9.3.6-4.P1.el5.i386.rpm--提供模板文件

 

这里直接用yum 安装:

[root@rac1 yum.repos.d]# yum search bind-

Loaded plugins: refresh-packagekit,security

====================================================================N/S Matched: bind-=====================================================================

bind-chroot.x86_64 : A chroot runtimeenvironment for the ISC BIND DNS server, named(8)

bind-devel.i686 : Header files andlibraries needed for BIND DNS development

bind-devel.x86_64 : Header files andlibraries needed for BIND DNS development

bind-dyndb-ldap.x86_64 : LDAP back-endplug-in for BIND

bind-libs.x86_64 : Libraries used by theBIND DNS packages

bind-libs.i686 : Libraries used by the BINDDNS packages

bind-sdb.x86_64 : BIND server with databasebackends and DLZ support

bind-utils.x86_64 : Utilities for queryingDNS name servers

 

[root@rac1 sbin]# yum install bind-chroot.x86_64

 

依赖的包会自动解决。

 

[root@rac1 etc]# rpm -qa | grep"^bind"

bind-chroot-9.8.2-0.30.rc1.el6.x86_64

bind-9.8.2-0.30.rc1.el6.x86_64

bind-libs-9.8.2-0.30.rc1.el6.x86_64

bind-utils-9.8.2-0.30.rc1.el6.x86_64

[root@rac1 etc]#

 

 

3   配置DNS

安装完成后,bind的主配置文件是/etc/named.conf;区域类型配置文件是/etc/named.rfc1912.zones;区域配置文件在/var/named/下;

 

 

3.1             修改name.conf 文件

 

 

[root@davedns ~]#cat /etc/named.conf

//

// named.conf

//

// Provided by RedHat bind package to configure the ISC BIND named(8) DNS

// server as a cachingonly nameserver (as a localhost DNS resolver only).

//

// See/usr/share/doc/bind*/sample/ for example named configuration files.

//

 

options {

//         listen-on port 53 { 127.0.0.1; };默认监听IP为127.0.0.1,用//需注释掉

//         listen-on-v6 port 53 { ::1; };注释掉

            directory "/var/named";存放区域配置文件的目录

          dump-file "/var/named/data/cache_dump.db";

          statistics-file"/var/named/data/named_stats.txt";

          memstatistics-file"/var/named/data/named_mem_stats.txt";

//         allow-query     { localhost; };允许查询的客户端的IP,默认为本机,注释掉。

 

           recursion yes; 是否开启迭代查询功能

 

          dnssec-enable yes;

          dnssec-validation yes;

          dnssec-lookaside auto;

 

          /* Path to ISC DLV key */

          bindkeys-file"/etc/named.iscdlv.key";

 

          managed-keys-directory"/var/named/dynamic";

};

 

logging {

        channel default_debug {

                file"data/named.run";

                severity dynamic;

        };

};

 

//这里必须注释掉原来的file,重新加上file

zone "."IN {

          type hint;

//        file "named.ca";

          file "/dev/null";

};

 

include"/etc/named.rfc1912.zones";

include"/etc/named.root.key";

 

 

3.2             配置正反向解析Zone

 

修改Zone 文件:/etc/named.rfc1912.zones, 添加正向解析和反向解析的Zone 定义。

 

--配置正向解析Zone

zone "cndba.cn" IN{    

        typemaster;

        file"cndba.cn.zone";

        allow-update{ none; };

};

-- 注意,这个域名要和后面配置的一致

 

--配置反向解析Zone

zone "56.168.192.in-addr.arpa" IN{

        typemaster;

        file"56.168.192.local";

        allow-update{ none; };

};

 

这里需要注意的是,反向解析从左到右读取ip地址时是以相反的方向解释的,所以需要将ip地址反向排列。这里,192.168.56.*网段的反向解析域名为"56.168.192.in-addr.arpa”。

 

 

3.3             配置正向解析的区域文件

 

在之前的name.conf 配置中指定的区域文件目录是:/var/named。 所以在这个目录里创建正向解析的区域文件。

 

文件名就是在Zone中定义的file名。

 

[root@davedns ~]#touch /var/named/cndba.cn.zone

 

 

添加如下内容:

$TTL    86400

@      IN    SOA  dns.cndba.cn.  root.cndba.cn. (

                                        42              ; serial (d.adams)

                                         3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                         1D)            ; minimum

       IN     NS      dns.cndba.cn.

dns    IN     A       192.168.56.6

scan   IN     A       192.168.56.20

scan   IN     A       192.168.56.21

scan   IN     A       192.168.56.22

参数说明:

$TTL   86400  :-- 最小的存活的时间是86400S(24H)

@    IN SOA  tianlesoftware.com    root.tianlesoftware.com(

       --这是一笔SOA记录,只允许存在一个SOA记录

@:代表要解析的这个域本身(tianlesoftware.com)

IN:Internet记录。

SOA: 是初始授权记录,指定网络中第一台DNS Server。

localhost:  DNS服务器的名字。

root.localhost: 是指管理员的邮箱。

 

42    ; serial (d. adams)

3H    ; refresh

15M   ; retry

1W   ; expiry

1D )   ; minimum

 

这些部分主要是用来主DNS和辅助DNS做同步用的.

42:   序列号,当主DNS数据改变时,这个序列号就要被增加1,而辅助DNS通过序列号来和主DNS同步。

3H    刷新,主DNS和辅助DNS每隔三小时同步一次。

15M   重试,3H之内,没有同步,每隔15M在尝试同步

1W    过期,1W之内,还没有同步,就不同步了

1D     生存期,没有这条记录,缓存的时间。

@     INNS    server1.example.com. :

 

这是一笔NS记录,指定nameserver为server1.example.com

 

 

 

3.4             配置反向解析的区域文件

 

在/var/named 目录下创建反向解析的区域文件,文件名也是之前在Zone中定义的:56.168.192.local。

 

[root@davedns ~]# touch/var/named/56.168.192.local

 

添加如下内容:

 

$TTL    86400

@               IN SOA  dns.cndba.cn.      root.cndba.cn. (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                       3600000    ; Expire

                                       86400)    ; Minimum

       IN     NS      dns.cndba.cn.

20    IN      PTR     scan.cndba.cn.

21    IN      PTR     scan.cndba.cn.

22    IN      PTR     scan.cndba.cn.

 

 

3.5             重启DNS

[root@davedns ~]# chkconfig named on

 

[root@davedns ~]# service named restart

Stopping named: .                                         [  OK  ]

Starting named:                                           [  OK  ]

[root@rac2 named]#

 

 

3.6             验证DNS

在所有节点的/etc/resolv.conf 文件中添加如下内容:

 

[root@rac2 /]# cat /etc/resolv.conf

domain cndba.cn

nameserver 192.168.56.200

options rotate 

options timeout:2 

options attempts:5 

 

[root@rac2 /]# nslookup scan.cndba.cn

Server:       192.168.56.200

Address:   192.168.56.200#53

 

Name:  scan.cndba.cn

Address: 192.168.56.22

Name:  scan.cndba.cn

Address: 192.168.56.20

Name:  scan.cndba.cn

Address: 192.168.56.21

 

[root@rac1 /]# nslookup scan.cndba.cn

Server:       192.168.56.200

Address:   192.168.56.200#53

 

Name:  scan.cndba.cn

Address: 192.168.56.20

Name:  scan.cndba.cn

Address: 192.168.56.21

Name:  scan.cndba.cn

Address: 192.168.56.22

 

 

 

在所有节点都验证成功。

 

 

现在就可以安装使用DNS的SCAN 的RAC 集群了。

 

4   安装12c RAC

 

12c RAC 安装的详细步骤参考如下链接:

Oracle 12c RAC 搭建手册

 http://www.cndba.cn/Dave/article/767

 

我们这里贴出不同的地方:

 

Oracle 12c RAC 集群使用DNS 实现 SCAN

 

 

 

 

5   验证SCAN

 

[grid@rac1 ~]$ crsctl stat res -t

--------------------------------------------------------------------------------

Name           Target  State       Server                   Statedetails      

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.ASMNET1LSNR_ASM.lsnr

               ONLINE  ONLINE      rac1                     STABLE

               ONLINE  ONLINE      rac2                     STABLE

ora.LISTENER.lsnr

               ONLINE  ONLINE      rac1                     STABLE

               ONLINE  ONLINE      rac2                     STABLE

ora.OCR.dg

               ONLINE  ONLINE      rac1                     STABLE

               ONLINE  ONLINE      rac2                     STABLE

ora.net1.network

               ONLINE  ONLINE      rac1                     STABLE

               ONLINE  ONLINE      rac2                     STABLE

ora.ons

               ONLINE  ONLINE      rac1                     STABLE

               ONLINE  ONLINE      rac2                     STABLE

ora.proxy_advm

               ONLINE  ONLINE      rac1                     STABLE

               ONLINE  ONLINE      rac2                     STABLE

--------------------------------------------------------------------------------

Cluster Resources

--------------------------------------------------------------------------------

ora.LISTENER_SCAN1.lsnr

      1       ONLINE  ONLINE       rac2                     STABLE

ora.LISTENER_SCAN2.lsnr

      1       ONLINE  ONLINE       rac1                     STABLE

ora.LISTENER_SCAN3.lsnr

      1       ONLINE  ONLINE       rac1                     STABLE

ora.MGMTLSNR

     1        OFFLINE OFFLINE                               STABLE

ora.asm

     1        ONLINE  ONLINE      rac1                     STABLE

      2       ONLINE  ONLINE       rac2                     STABLE

     3        OFFLINE OFFLINE                               STABLE

ora.cvu

     1        ONLINE  ONLINE      rac1                     STABLE

ora.oc4j

     1        ONLINE  ONLINE      rac1                     STABLE

ora.rac1.vip

     1        ONLINE  ONLINE      rac1                     STABLE

ora.rac2.vip

     1        ONLINE  ONLINE      rac2                     STABLE

ora.scan1.vip

      1       ONLINE  ONLINE      rac2                     STABLE

ora.scan2.vip

      1       ONLINE  ONLINE       rac1                     STABLE

ora.scan3.vip

      1       ONLINE  ONLINE       rac1                     STABLE

--------------------------------------------------------------------------------

[grid@rac1 ~]$

 

 

[grid@rac1 ~]$ srvctl config scan

SCAN name: scan.cndba.cn, Network: 1

Subnet IPv4:192.168.56.0/255.255.255.0/eth0

Subnet IPv6:

SCAN 0 IPv4 VIP: 192.168.56.21

SCAN name: scan.cndba.cn, Network: 1

Subnet IPv4:192.168.56.0/255.255.255.0/eth0

Subnet IPv6:

SCAN 1 IPv4 VIP: 192.168.56.22

SCAN name: scan.cndba.cn, Network: 1

Subnet IPv4:192.168.56.0/255.255.255.0/eth0

Subnet IPv6:

SCAN 2 IPv4 VIP: 192.168.56.20

[grid@rac1 ~]$

 

 

 

 

 

--------------------------------------------------------------------------------------------

版权所有,文章禁止转载,否则追究法律责任!

 

AboutDave:

--------------------------------------------------------------------------------------------

QQ:492913789

Email:ahdba@qq.com

Blog:  http://www.cndba.cn/dave

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

 

Dave 的QQ群:

--------------------------------------------------------------------------------------------

注意:加群必须注明表空间和数据文件关系 | 不要重复加群

CNDBA_1: 62697850 (空)    CNDBA_2: 62697716 (满)  CNDBA_3: 283816689

CNDBA_4: 391125754   CNDBA_5:104207940    CNDBA_6: 62697977   CNDBA_7: 142216823(满)