11g RAC R2 之Linux DNS 配置

   在动手配置前,最好先了解下DNS的理论,以免犯不必要的错误。这都是被坑后的觉悟 -_-!!!

  Oracle 11g RAC 集群中引入了SCAN(SingleClientAccessName)的概念,是指集群的单客户端访问名称。相当于在客户端和数据库之间增加一层虚拟的网络服务层,即 SCAN IP 和 SCAP IP Listener。在客户端的 tnsnames.ora 配置文件中,只需要配置 SCAN IP 的配置信息即可,客户端通过 SCANIP、 SCAN IP Listener 来访问数据库。

  同之前各版本的 RAC 相比,使用 SCAN IP 的好处就是, 当后台 RAC 数据库添加、删除节点时,客户端配置信息无需修改。SCAN 可以通过配置DNS 服 务器或 GNS 来配置 SCAN,我们这里以 DNS 为例来进行配置。

1、安装环境

1 可用单独机器作为DNS服务器,也可直接使用RAC的一个节点来做DNS解析。  

2 使用某个RAC节点时,容易出现该节点如果宕机将导致SCAN无法解析,客户端无法连接数据库.  

3 由于资源限制,我们只使用RAC1节点的public ip用作DNS。  

4 [root@racdb ~]# cat /etc/issue

5 Oracle Linux Server release 5.6Kernel \r on an \m

6     

7 [root@racdb ~]# 

2、主机节点host信息

[root@racdb ~]# cat /etc/hosts

127.0.0.1      localhost.racdb.com     localhost

::1            localhost6.localdomain6 localhost6



#public ip:

192.168.1.203  rac1.racdb.com   rac1        --用作DNS服务器地址

192.168.1.204  rac2.racdb.com   rac2



#private ip:

192.168.0.203  rac1priv.racdb.com rac1priv

192.168.0.204  rac2priv.racdb.com rac2priv



#vip

192.168.1.213  rac1vip.racdb.com  rac1vip

192.168.1.214  rac2vip.racdb.com  rac2vip

[root@racdb ~]# 

3、配置DNS

  • 安装所需的rpm包 
  • 配置named.conf文件,配置zone文件(可称为zone的索引文件) 
  • 配置正向和反向文件(zone文件中所指向的文件) 
  • 配置解析文件resolv.conf 
  • 启动dns服务 

3.1 安装所需的rpm包,注意安装顺序

1 [root@node1 dns_rpm]# ls 

2     bind-9.3.6-16.P1.el5.i386.rpm  

3     bind-chroot-9.3.6-16.P1.el5.i386.rpm

4     caching-nameserver-9.3.6-16.P1.el5.i386.rpm    

5 下面安装rpm包  

6 [root@node1 dns_rpm]# rpm -ivh bind-9.3.6-16.P1.el5.i386.rpm   

7 [root@node1 dns_rpm]# rpm -ivh bind-chroot-9.3.6-16.P1.el5.i386.rpm   

8 [root@node1 dns_rpm]# rpm -ivh caching-nameserver-9.3.6-16.P1.el5.i386.rpm

3.2 配置named.conf文件

 1 进入目录

 2 [root@racdb ~]# cd /var/named/chroot/etc/                   

 3 

 4 使用下面的方式复制一个新的副本并修改,参数-p表示连同权限及属主,属组一同复制。切记不可忽略参数-p  

 5 [root@node1 etc]# cp -p named.caching-nameserver.conf   named.conf   

 6 [root@node1 etc]# cp -p named.rfc1912.zones   named.zones 7 

 8 修改named.conf文件

 9 将源文件中的所有localhost以及127.0.0.1修改成any,注意any;前后保留空格  

10 该文件主要是配置dns监听那些端口以及ip地址并指明相应的名字解析zone文件名named.zones  

11 下面是修改后的named.conf文件  

12 [root@racdb etc]# cat /var/named/chroot/etc/named.conf

13 //

14 // named.caching-nameserver.conf

15 //

16 // Provided by Red Hat caching-nameserver package to configure the

17 // ISC BIND named(8) DNS server as a caching only nameserver 

18 // (as a localhost DNS resolver only). 

19 //

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

21 //

22 // DO NOT EDIT THIS FILE - use system-config-bind or an editor

23 // to create named.conf - edits to this file will be lost on 

24 // caching-nameserver package upgrade.

25 //

26 options {

27         listen-on port 53 { any; };  //修改

28         listen-on-v6 port 53 { ::1; };

29         directory       "/var/named";

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

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

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

33 

34         // Those options should be used carefully because they disable port

35         // randomization

36         // query-source    port 53;

37         // query-source-v6 port 53;

38 

39         allow-query     { any; };   //修改

40         allow-query-cache { any; }; //修改

41 };

42 logging {

43         channel default_debug {

44                 file "data/named.run";

45                 severity dynamic;

46         };

47 };

48 view localhost_resolver {

49         match-clients      { any; }; //修改

50         match-destinations { any; }; //修改

51         recursion yes;

52         include "named.zones"; //修改,修改后的指向我们的拷贝文件 named.zones                                         

53 };

54 [root@racdb etc]# 

    配置zone文件(可称为zone的索引文件)

 1 #文件末尾最后的两个zone为新增加的  

 2 #注意每一个zone的file用于指向真正的zone文件,后面要用到     

 3 #下面是修改后的named.zones文件  

 4 [root@racdb etc]# cat named.zones

 5 // named.rfc1912.zones:

 6 //

 7 // Provided by Red Hat caching-nameserver package 

 8 //

 9 // ISC BIND named zone configuration for zones recommended by

10 // RFC 1912 section 4.1 : localhost TLDs and address zones

11 // 

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

13 //

14 zone "." IN {

15         type hint;

16         file "named.ca";

17 };

18 

19 zone "localdomain" IN {

20         type master;

21         file "localdomain.zone";

22         allow-update { none; };

23 };

24 

25 zone "localhost" IN {

26         type master;

27         file "localhost.zone";

28         allow-update { none; };

29 };

30 

31 zone "0.0.127.in-addr.arpa" IN {

32         type master;

33         file "named.local";

34         allow-update { none; };

35 };

36 

37 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 {

38         type master;

39         file "named.ip6.local";

40         allow-update { none; };

41 };

42 

43 zone "255.in-addr.arpa" IN {

44         type master;

45         file "named.broadcast";

46         allow-update { none; };

47 };

48 

49 zone "0.in-addr.arpa" IN {

50         type master;

51         file "named.zero";

52         allow-update { none; };

53 };

54 

55 #以下两个zone为新增的,包含正向和反向zone

56 zone "racdb.com" IN {          #正向。racdb.com为域名,此域名的声明要放到 resolv.conf 文件中

57         type master;  

58         file "racdb.zero";     #正向解析文件名称 此文件目录/var/named/chroot/var/named

59         allow-update { none; };  

60 };

61     

62 zone "1.168.192.in-addr.arpa" IN {  #反向,1.168.192为所要解析的ip网段

63         type master;

64         file "1.168.192.in-addr.arpa";  #反向解析文件名称 此文件目录/var/named/chroot/var/named

65         allow-update { none; };

66 };

3.3 配置正向和反向解析文件

1 [root@racdb etc]# pwd

2 /var/named/chroot/etc

3 [root@racdb etc]# cd ../var/named/

4 [root@racdb named]#   

5 #同样使用cp -p 方式复制文件到新的正向和反向文件  

6 [root@racdb named]# cp -p named.zero  racdb.zero #文件名就是named.zones -> racdb.com(正向域名) -> file的名称一致     

7 [root@racdb named]# cp -p named.local 1.168.192.in-addr.arpa   #文件名就是named.zones -> racdb.com(反向域名) -> file的名称一致 

3.3.1 修改后的正向搜索文件

 1 [root@racdb named]# cat racdb.zero 

 2 $TTL    86400

 3 @               IN SOA  racdb.com.      root.racdb.com. (

 4                                         42              ; serial (d. adams)

 5                                         3H              ; refresh

 6                                         15M             ; retry

 7                                         1W              ; expiry

 8                                         1D )            ; minimum

 9         IN      NS      racdb.com.

10 racscan IN      A       192.168.1.200

11 racscan IN      A       192.168.1.199

12 racscan IN      A       192.168.1.198

13 [root@racdb named]#

14 

15 SOA 是授权起始(Start Of Authority)的缩写,后面接着是dns服务器的主机名,这里是"racdb.com。"16 注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点  

17 NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器

18 A是主机记录,把IP名和ip地址对应起来

19 可以添加多个A记录,我们的SCAN 有三个ip,这里我们就添加了3个

20 了解这些已经够用了,具体详情自行google ^_^

3.3.2 修改后的反向搜索文件

 1 [root@racdb named]# cat 1.168.192.in-addr.arpa

 2 $TTL    86400

 3 @       IN      SOA     racdb.com. root.racdb.com.  (

 4                                       1997022700 ; Serial

 5                                       28800      ; Refresh

 6                                       14400      ; Retry

 7                                       3600000    ; Expire

 8                                       86400 )    ; Minimum

 9         IN      NS      racdb.com.

10 1       IN      PTR     racdb.com.

11 200     IN      PTR     racscan.

12 199     IN      PTR     racscan.

13 198     IN      PTR     racscan.

14 

15 [root@racdb named]#  

16 同正向解析文件相似,不同点是PTR

17 PTR记录把IP和IP名对应起来,

18 可以添加多个PTR记录

3.4 配置解析文件resolv.conf

 1 在RAC1节点配置resolv.conf文件  

 2 [root@racdb named]# vi /etc/resolv.conf

 3 search     racdb.com      #定义域名的搜索列,即name.zones文件中zone域名均要在此声明(不包含反向zone及系统默认的localhost)

 4 nameserver 192.168.1.203  #定义DNS服务器的IP地址

 5 

 6   

 7 #在RAC2节点上的resolv.conf文件  

 8 [root@racdb named]# vi /etc/resolv.conf

 9 search     racdb.com      #定义域名的搜索列

10 nameserver 192.168.1.203  #定义DNS服务器的IP地址

3.5 启动dns服务

 1 [root@racdb named]# service named restart  

 2 Stopping named: .[  OK  ]

 3 Starting named: [  OK  ]

 4 [root@racdb named]# chkconfig named on  

 5   

 6 #测试dns解析RAC1 正向解析 

 7 [root@rac1 bin]# nslookup racscan

 8 Server:         192.168.1.203

 9 Address:        192.168.1.203#53

10 

11 Name:   racscan.racdb.com

12 Address: 192.168.1.200

13 Name:   racscan.racdb.com

14 Address: 192.168.1.198

15 Name:   racscan.racdb.com

16 Address: 192.168.1.199

17 

18 [root@rac1 bin]# 

19 

20 #测试dns解析RAC2 正向解析 

21 [root@rac2 bin]# nslookup racscan

22 Server:         192.168.1.203

23 Address:        192.168.1.203#53

24 

25 Name:   racscan.racdb.com

26 Address: 192.168.1.199

27 Name:   racscan.racdb.com

28 Address: 192.168.1.200

29 Name:   racscan.racdb.com

30 Address: 192.168.1.198

31 

32 [root@rac2 bin]#   

33 

34 #测试dns解析RAC1 反向解析 

35 [root@rac1 bin]# nslookup 192.168.1.200

36 Server:         192.168.1.203

37 Address:        192.168.1.203#53

38 

39 200.1.168.192.in-addr.arpa      name = racscan.

40 

41 [root@rac1 bin]# nslookup 192.168.1.199

42 Server:         192.168.1.203

43 Address:        192.168.1.203#53

44 

45 199.1.168.192.in-addr.arpa      name = racscan.

46 

47 [root@rac1 bin]# nslookup 192.168.1.198

48 Server:         192.168.1.203

49 Address:        192.168.1.203#53

50 

51 198.1.168.192.in-addr.arpa      name = racscan.

52 

53 [root@rac1 bin]# 

54 

55 #测试dns解析RAC2 反向解析

56 [root@rac2 bin]# nslookup 192.168.1.200

57 Server:         192.168.1.203

58 Address:        192.168.1.203#53

59 

60 200.1.168.192.in-addr.arpa      name = racscan.

61 

62 [root@rac2 bin]# nslookup 192.168.1.199

63 Server:         192.168.1.203

64 Address:        192.168.1.203#53

65 

66 199.1.168.192.in-addr.arpa      name = racscan.

67 

68 [root@rac2 bin]# nslookup 192.168.1.198

69 Server:         192.168.1.203

70 Address:        192.168.1.203#53

71 

72 198.1.168.192.in-addr.arpa      name = racscan.

73 

74 [root@rac2 bin]#

 

你可能感兴趣的:(linux)