安裝oracle 11g rac時SCAN IP需要進行DNS解析,在沒有外部DNS服務器的情況下,在數據庫服務器(linux)上部署DNS Server,進行DNS解析SCAN IP。
數據庫服務器保證DNS解析具有冗餘性,DNS server部署在每個節點上,互爲備用模式。
node1優先通過node1的DNS服務器解析SCAN域名,如果DNS服務出現問題,下一跳通過node2的DNS服務器進行DNS解析。
node2優先通過node2的DNS服務器解析SCAN域名,如果DNS服務出現問題,下一跳通過node1的DNS服務器進行DNS解析。
//安裝DNS
RHEL 6.4 安裝DNS服務(bind-9.8 )
首先安裝yum,使用yum安裝bind
yum install bind*
不同的操作系統rpm包有可能會不同
bind-9.8.2-0.17.rc1.el6.x86_64
bind-utils-9.8.2-0.17.rc1.el6.x86_64
bind-chroot-9.8.2-0.17.rc1.el6.x86_64
bind-dyndb-ldap-2.3-2.el6.x86_64
bind-libs-9.8.2-0.17.rc1.el6.x86_64
幾個rpm包安裝之後,編輯named.conf
//配置
[root@linux named]# vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind 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.
//
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";
allow-query { any; }; //修改
allow-query-cache { any; }; //修改
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;
};
};
//新增如下記錄
zone "racdb.com" IN {
type master;
file "named.racdb.com";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "named.192.168.1";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
[root@linux named]# cd /var/named
[root@linux named]# vi named.racdb.com
$TTL 1D
@ IN SOA @ root.racdb.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS localhost.
racscan IN A 192.168.1.200;
racscan IN A 192.168.1.199;
racscan IN A 192.168.1.198;
[root@linux named]# vi named.192.168.1
$TTL 3600
@ IN SOA racdb.com. root.racdb.com. (
2014102402
1H
5M
1w
1D )
@ IN NS racdb.com.
200 IN PTR racscan.
199 IN PTR racscan.
198 IN PTR racscan.
[root@linux named]# vi /etc/resolv.conf
# Generated by NetworkManager
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
search racdb.com
nameserver 192.168.1.111
檢查配置文件
[root@linux named]# named-checkzone racdb.com named.racdb.com
zone racdb.com/IN: loaded serial 0
OK
[root@linux named]# named-checkzone 1.168.192.in-addr.arpa named.192.168.1
zone 1.168.192.in-addr.arpa/IN: loaded serial 2014102402
OK
[root@linux named]# service named restart
Stopping named: [ OK ]
Starting named: [ OK ]
在啓動DNS時出現Generating /etc/rndc.key:卡在這裏了,下面測試
[root@node1 named]# rndc-confgen -r /dev/urandom -a
wrote key file "/etc/rndc.key"
[root@node1 named]# service named start
Starting named: [ OK ]
[root@linux named]# chkconfig named on
[root@linux named]# nslookup racscan
Server: 192.168.1.111
Address: 192.168.1.111#53
Name: racscan.racdb.com
Address: 192.168.1.198
Name: racscan.racdb.com
Address: 192.168.1.200
Name: racscan.racdb.com
Address: 192.168.1.199
反向解析:
[root@linux named]# nslookup 192.168.1.200
Server: 192.168.1.111
Address: 192.168.1.111#53
200.1.168.192.in-addr.arpa name = racscan.
[root@linux named]# nslookup 192.168.1.199
Server: 192.168.1.111
Address: 192.168.1.111#53
199.1.168.192.in-addr.arpa name = racscan.
[root@linux named]# nslookup 192.168.1.198
Server: 192.168.1.111
Address: 192.168.1.111#53
198.1.168.192.in-addr.arpa name = racscan.