安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称。SCAN 这个特性为客户端提供了单一的主机名,用于访问集群中运行的 Oracle 数据库。如果您在集群中添加或删除节点,使用 SCAN 的客户端无需更改自己的 TNS 配置。无论集群包含哪些节点,SCAN 资源及其关联的 IP 地址提供了一个稳定的名称供客户端进行连接使用。在Oracle 11g grid 安装时即要求为该特性配置DNS解析方式或GNS解析方式。本文描述了安装Oracle 11g grid时的DNS配置。

1、安装环境
  #配置DNS,可以使用单独的DNS服务器,也可以直接使用RAC的一个节点来提供DNS解析
  #直接使用某个节点时,容易出现该节点如果宕机将导致SCAN无法解析,客户端无法连接数据库
  #本文仅作演示,使用节点1的public ip用作dns,不考虑上面描述的情形以及DNS安全性等。
  [root@node1 ~]# cat /etc/issue
  Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)  
  Kernel \r on an \m
  
2、主机节点host信息
  [root@node1 ~]# more /etc/hosts
  # Do not remove the following line, or various programs
  # that require network functionality will fail.
  #127.0.0.1              localhost.localdomain localhost
  #::1            localhost6.localdomain6 localhost6
  
  127.0.0.1       localhost.szdb.com   localhost
  # Public eth0
  192.168.7.71   node1.szdb.com        node1  #该地址作为DNS服务器地址
  192.168.7.72   node2.szdb.com        node2
  
  #Private eth1
  10.10.7.71   node1-priv.szdb.com   node1-priv
  10.10.7.72   node2-priv.szdb.com   node2-priv
  
  #Virtual
  192.168.7.81   node1-vip.szdb.com    node1-vip
  192.168.7.82   node2-vip.szdb.com    node2-vip
  
  #scan
  192.168.7.91 scan-cluster1.szdb.com  scan-cluster1

3、配置dns需要用到的安装包
  [root@node1 dns_rpm]# ls -hltr
  total 1.1M
  -rw-r--r-- 1 root root  45K Dec  7 18:04 bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm
  -rw-r--r-- 1 root root 985K Dec  7 18:04 bind-9.3.6-4.P1.el5_4.2.i386.rpm
  -rw-r--r-- 1 root root  61K Dec  7 18:04 caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm
  
  #下面安装rpm包
  [root@node1 dns_rpm]# rpm -Uvh bind-9.3.6-4.P1.el5_4.2.i386.rpm 
  warning: bind-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
  Preparing...                ########################################### [100%]
     1:bind                   ########################################### [100%]
  [root@node1 dns_rpm]# rpm -Uvh bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm 
  warning: bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
  Preparing...                ########################################### [100%]
     1:bind-chroot            ########################################### [100%]
  [root@node1 dns_rpm]# rpm -Uvh caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm 
  warning: caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
  Preparing...                ########################################### [100%]
     1:caching-nameserver     ########################################### [100%]
   
4、配置DNS
  #关于DNS的配置,分为以下几个步骤
  #a.安装所需的rpm包
  #b.配置named.conf文件
  #c.配置zone文件,包括正向和反向zone文件
  #d.配置解析文件resolv.conf
  #e.启动dns服务
  [root@node1 ~]# cd /var/named/chroot/etc/ 
  #使用下面的方式复制两个新的副本并修改,参数-p表示连同权限及属主,属组一同复制。切记不可忽略参数-p
  [root@node1 etc]# cp -p named.caching-nameserver.conf   named.conf 
  [root@node1 etc]# cp -p named.rfc1912.zones   named.zones    
  
  #修改named.conf文件,将源文件中的所有localhost以及127.0.0.1修改成any,注意any;前后保留空格
  #该文件主要是配置dns监听那些端口以及ip地址并指明相应的名字解析zone文件名named.zones
  #下面是修改后的named.conf文件
  [root@node1 ~]# cat /var/named/chroot/etc/named.conf
  //
  // named.caching-nameserver.conf
  //
  // Provided by Red Hat caching-nameserver package to configure the
  // ISC BIND named(8) DNS server as a caching only nameserver 
  // (as a localhost DNS resolver only). 
  //
  // See /usr/share/doc/bind*/sample/ for example named configuration files.
  //
  // DO NOT EDIT THIS FILE - use system-config-bind or an editor
  // to create named.conf - edits to this file will be lost on 
  // caching-nameserver package upgrade.
  //
  options {
          listen-on port 53 { any; };
          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";
  
          // Those options should be used carefully because they disable port
          // randomization
          // query-source    port 53;
          // query-source-v6 port 53;
  
          allow-query     { any; };
          allow-query-cache { any; };
  };
  logging {
          channel default_debug {
                  file "data/named.run";
                  severity dynamic;
          };
  };
  view localhost_resolver {
          match-clients      { any; };
          match-destinations { any; };
          recursion yes;
          include "/etc/named.zones";
  };   

  #修改named.zones文件,该文件用于指定zone的搜索范围,包括正向和反向。文件末尾最后的两个zone为新增加的
  #注意每一个zone的file用于指向真正的zone文件,后面要用到
  # Author : Robinson
  # Blog   : http://blog.csdn.net/robinson_0612
  
  #下面是修改后的named.zones文件
  [root@node1 ~]# cat /var/named/chroot/etc/named.zones 
  // named.rfc1912.zones:
  //
  // Provided by Red Hat caching-nameserver package 
  //
  // ISC BIND named zone configuration for zones recommended by
  // RFC 1912 section 4.1 : localhost TLDs and address zones
  // 
  // See /usr/share/doc/bind*/sample/ for example named configuration files.
  //
  zone "." IN {
          type hint;
          file "named.ca";
  };
  
  zone "localdomain" IN {
          type master;
          file "localdomain.zone";
          allow-update { none; };
  };
  
  zone "localhost" IN {
          type master;
          file "localhost.zone";
          allow-update { none; };
  };
  
  zone "0.0.127.in-addr.arpa" IN {
          type master;
          file "named.local";
          allow-update { none; };
  };
  
  zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
          type master;
          file "named.ip6.local";
          allow-update { none; };
  };
  
  zone "255.in-addr.arpa" IN {
          type master;
          file "named.broadcast";
          allow-update { none; };
  };
  
  zone "0.in-addr.arpa" IN {
          type master;
          file "named.zero";
          allow-update { none; };
  };
  
  #Add new zone added by Robinson  
  #以下两个zone为新增的,包含正向和反向zone
  zone "szdb.com" IN {
          type master;
          file "node1.szdb.zero";
          allow-update { none; };
  };
  
  zone "7.168.192.in-addr.arpa" IN {
          type master;
          file "7.168.192.local";
          allow-update { none; };
  };

  #配置正向和反向搜索数据库解析文件
  [root@node1 etc]# pwd
  /var/named/chroot/etc
  [root@node1 etc]# cd  ../var/named/   
  #同样使用cp -p 方式复制文件到新的正向和反向文件
  [root@node1 named]# cp -p named.zero  node1.szdb.zero    
  [root@node1 named]# cp -p named.local 7.168.192.local 
  
  #下面是修改之后的正向搜索文件,也可以将host文件的其他ip对照编辑到正向搜索文件以实现解析
  #如下面的例子将vip的参照关系也添加到解析文件
  [root@node1 named]# cat node1.szdb.zero
  $TTL    86400
  @               IN SOA  node1.szdb.com.      root.szdb.com. (
                                          42              ; serial (d. adams)
                                          3H              ; refresh
                                          15M             ; retry
                                          1W              ; expiry
                                          1D )            ; minimum
          IN      NS      node1.szdb.com.
  scan-cluster1 IN A     192.168.7.91
  scan-cluster1 IN A     192.168.7.92
  scan-cluster1.szdb.com IN A     192.168.7.91
  scan-cluster1.szdb.com IN A     192.168.7.92
  node1-vip              IN A     192.168.7.81
  node2-vip              IN A     192.168.7.82
  node1-vip.szdb.com     IN A     192.168.7.81
  node2-vip.szdb.com     IN A     192.168.7.82
  
  #下面是修改之后的反向搜索文件
  [root@node1 named]# cat 7.168.192.local
  $TTL    86400
  @       IN      SOA     node1.szdb.com. root.szdb.com.  (
                                        1997022700 ; Serial
                                        28800      ; Refresh
                                        14400      ; Retry
                                        3600000    ; Expire
                                        86400 )    ; Minimum
          IN      NS      node1.szdb.com.
  1       IN      PTR     node1.szdb.com.
  91      IN      PTR     scan-cluster1.szdb.com.
  92      IN      PTR     scan-cluster1.szdb.com.
  91      IN      PTR     scan-cluster1.
  92      IN      PTR     scan-cluster1.
  81      IN      PTR     node1-vip.
  82      IN      PTR     node2-vip.
  81      IN      PTR     node1-vip.szdb.com. 
  82      IN      PTR     node2-vip.szdb.com. 

  #在各个节点配置resolv.conf文件
  #下面是修改之后的内容
  [root@node1 named]# more /etc/resolv.conf 
  ; generated by /sbin/dhclient-script
  #the following item removed by Robinson
  #search SSG-140
  #nameserver 192.168.7.10
  #nameserver 192.168.7.11
  #the following item added by Robinson
  search szdb.com
  nameserver 192.168.7.71
  
  #节点2上的resolv.conf文件
  [root@node2 ~]# more /etc/resolv.conf 
  ; generated by /sbin/dhclient-script
  #search SSG-140
  #nameserver 192.168.7.10
  #nameserver 192.168.7.11
  search szdb.com
  nameserver 192.168.7.71
  
  #启动dns服务
  [root@node1 named]# service named restart
  Stopping named: [  OK  ]
  Starting named: [  OK  ]
  [root@node1 named]# chkconfig named on
  
  #测试dns解析
  [root@node1 named]# cd ~
  [root@node1 ~]# nslookup 192.168.7.91
  Server:         192.168.7.71
  Address:        192.168.7.71#53
  
  91.7.168.192.in-addr.arpa       name = scan-cluster1.
  91.7.168.192.in-addr.arpa       name = scan-cluster1.szdb.com.
  
  [root@node1 ~]# nslookup 192.168.7.92
  Server:         192.168.7.71
  Address:        192.168.7.71#53
  
  92.7.168.192.in-addr.arpa       name = scan-cluster1.szdb.com.
  92.7.168.192.in-addr.arpa       name = scan-cluster1. 
  
  [root@node1 ~]# nslookup scan-cluster1
  Server:         192.168.7.71
  Address:        192.168.7.71#53
  
  Name:   scan-cluster1.szdb.com
  Address: 192.168.7.92
  Name:   scan-cluster1.szdb.com
  Address: 192.168.7.91
  
  [root@node1 ~]# nslookup scan-cluster1.szdb.com.
  Server:         192.168.7.71
  Address:        192.168.7.71#53
  
  Name:   scan-cluster1.szdb.com
  Address: 192.168.7.91
  Name:   scan-cluster1.szdb.com
  Address: 192.168.7.92

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

Nginx专题: 从编译安装到URL重写

前言 本文主要实现使用Nginx作为Web服务器,并使用URL Rewrite实现将手机对Web站点的请求专门重写到一个专门为手机定制的Web页面中。 环境介绍...

37650
来自专栏比原链

Derek解读Bytom源码-Api Server接口服务

Gitee地址:https://gitee.com/BytomBlockchain/bytom

10620
来自专栏TSW

Node.js官方披露安全漏洞,建议尽快升级

14530
来自专栏黑白安全

weevely用法

Weevely是一款python编写的webshell管理工具,作为编写语言使用python的一款工具,它最大的优点就在于跨平台,可以在任何安装过python的...

40330
来自专栏猿天地

Netty-整合Protobuf高性能数据传输

前言 本篇文章是Netty专题的第四篇,前面三篇文章如下: 高性能NIO框架Netty入门篇 高性能NIO框架Netty-对象传输 高性能NIO框架Netty-...

338110
来自专栏友弟技术工作室

lvm

逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可...

43470
来自专栏python开发者

linux用户权限相关内容查看

linux用户权限相关内容查看 1   用户信息 创建用户一个名为 webuser 的账号,并填写相应的信息: root@iZ94fabhqhuZ:~# add...

26690
来自专栏比原链

Derek解读Bytom源码-Api Server接口服务

Gitee地址:https://gitee.com/BytomBlockchain/bytom

7520
来自专栏JAVA高级架构

Java编写基于netty的RPC框架

18620
来自专栏散尽浮华

[原创]CI持续集成系统环境---部署gerrit环境完整记录

开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下: 提前安装好java环境,mysql环境,nginx环境 测试系...

38590

扫码关注云+社区

领取腾讯云代金券