2.5.3 配置域名解析服务

Oracle 11gR2引入SCAN之后,SCAN的名称是作为连接RAC数据库的唯一别名。SCAN对应3个SCAN VIP,每次使用其中一个连接到数据库。这里就涉及如何解析SCAN名称的问题。 
Oracle提供两种方法解析SCAN,一种是传统的DNS解析,另一种是Oracle提供的GNS解析。不管用哪种方法解析都需要配置DNS。下面对这两种解析方式的DNS配置进行讨论,使用DNS解析SCAN用到的软件是Red Hat Enterprise Linux自带的bind。虽然域名解析服务可以直接在节点服务器上配置,但为了RAC的高可用性,最好将域名解析服务配置在第三方的服务器上,最好是配置在企业级别的DNS服务器上。 
使用DNS解析SCAN名称还是使用GNS来解析,考虑如下几点: 
q 大多数的生产环境都不会提供DHCP服务,每个IP地址都有详细的安排、配置和记录,不会随意分配IP。 
q 从目前对GNS的使用来看,效果并不理想,有时候会出现SCAN名称对应4个IP等异常情况。 
q 从解析过程上比较,使用DNS解析要比GNS解析简单一些。 
q GNS是GPnP(网格即插即用)的一部分,能够减少节点添加、删除需要完成的配置工作,但在实际的环境中,添加、删除节点发生的情况是很少的。 
综上所述,更好的方式是使用DNS来解析,这样可以将SCAN VIP和节点的VIP固定,既方便管理,运行也很稳定。GNS作为一种新技术,在安装的时候也将讨论其配置方法。 
1. DNS域名解析 
SCAN类似传统的域名,SCAN名称对应固定的3个SCAN VIP,需要在3个SCAN VIP之间循环解析SCAN的名称,才能完成3个SCAN VIP的动态注册。 
注意   不能通过在客户端上配置hosts文件来解析SCAN的名称,这样只能解析出其中一个VIP地址,不能实现循环解析。 
DNS解析配置的步骤如下: 
步骤1   安装软件包。 
确保bind包已经成功安装在DNS服务器,如果未安装执行yum install bind命令进行安装。 
步骤2   创建域。 
在/etc/named.conf文件中加入如下的zone配置: 
zone "4.168.192.IN-ADDR.ARPA." IN {#创建example.com的反向解析 
        type master; 
        file "192.168.4.db"; 
}; 
zone "example.com." IN {#创建example.com域 
        type master; 
        file "example.com.db"; 
}; 
步骤3   创建example.com.db配置文件。 
在/var/named/目录下创建example.com.db文件,加入以下配置: 
$TTL 1H 
@       SOA     homeserver.localdomain. root.homeserver.localdomain. (  5 
                                                3H 
                                                1H 
                                                1W 
                                                1H ) 
                                NS      homeserver.localdomain. 
rhel-cluster-scan.grid  IN      1H      A       192.168.4.149 
                                IN      1H      A       192.168.4.150 
                                IN      1H      A       192.168.4.151 
Hostserver是DNS服务器的机器名,localdomain是DNS服务器的域名。 
步骤4   创建192.168.4.db配置文件。 
在/var/named/目录下创建192.168.4.db文件,加入以下的配置: 
$TTL 1H 
@       SOA     homeserver.localdomain.grid.example.com. 
root.homeserver.localdomain.grid.example.com. (2 
                                                3H 
                                                1H 
                                                1W 
                                                1H ) 
        NS      homeserver.localdomain.grid.example.com. 
149     PTR     rhel-cluster-scan.grid.example.com. 
150     PTR     rhel-cluster-scan.grid.example.com. 
151     PTR     rhel-cluster-scan.grid.example.com. 
步骤5   重新启动DNS服务器软件。 
执行以下命令重启DNS服务: 
[root@rhel1 Server]# service named restart 
Stopping named:                                            [  OK  ] 
Starting named: 
步骤6   DNS服务自动启动。 
执行以下命令设置DNS服务自动启动: 
chkconfig --level 35 named on 
步骤7   DNS客户端配置。 
所谓DNS客户端指的是需要通过DNS服务器解析域名的所有机器,在RAC环境中,所有的节点服务器都是DNS客户端。在每个 数据库服务器节点修改/etc/resolv.conf文件,确保有如下的search和nameserver配置。 
search grid.example.com example.com 
nameserver 192.168.4.102 
注意   修改了以上DNS客户端配置之后,需要执行service network restart命令重启network服务才能生效。 
步骤8   修改nsswitch.conf文件。 
nsswitch.conf保存的是域名检索顺序。在一些系统配置中,NIS(Network Information System)可能会引起SCAN域名解析异常。为了避免这种问题的发生,对nsswitch.conf做如下调整。编辑/etc /nsswitch.conf文件,找到hosts开头的行,在该行的最后加入nis,修改结果如下: 
hosts: files dns nis 
步骤9   验证DNS配置。 
DNS客户端和服务器都要能够完成下面的验证工作。下面是一段节点服务器的验证结果,同一个域名解析为3个IP地址,反复执行下面的命令看到解析的IP地址顺序应该是不同的。 
[root@rhel1 ~]# nslookup rhel-cluster-scan.grid.example.com 
Server:         192.168.4.102 
Address:        192.168.4.102#53 
 
Name:   rhel-cluster-scan.grid.example.com 
Address: 192.168.4.151 
Name:   rhel-cluster-scan.grid.example.com 
Address: 192.168.4.152 
Name:   rhel-cluster-scan.grid.example.com 
Address: 192.168.4.150 
如上所示,域名rhel-cluster-scan.grid.example.com域名能被解析为3个不同的IP地址,且多次执行nslookup rhel-cluster-scan.grid.example.com命令被解析的顺序是不同的。在操作系统多次执行ping rhel-cluster-scan.grid.example.com命令返回的IP地址应该是不同的,且是3个IP循环出现。 
2. GNS域名解析 
GNS是解析SCAN名称的另一种方式,由 Oracle 11gR2 Grid Infrastructure提供。使用这种方式不需要为SCAN VIP指定具体的IP地址,GNS会利用网络中的DHCP服务器为SCAN VIP自动分配IP地址,同时也不需要配置节点的VIP地址,GNS同样能够自动完成分配。GNS的优点之一在于可以减少RAC部署需要的配置工作。对于采用DNS解析域名的方式可以跳过这步的配置。 
q 配置网段:192.168.4.0 
q 域名(Domain):example.com 
q GNS VIP:192.168.4.200 
q GNS VIP域名:gns-server.example.com 
q 子域名(SubDomain):grid.example.com 
GNS解析配置的步骤如下: 
步骤1   完成“DNS域名解析”中的步骤1。 
步骤2   创建域。 
在/etc/named.conf文件中加入如下zone配置: 
zone "4.168.192.IN-ADDR.ARPA." IN { 
        type master; 
        file "192.168.4.db"; 
}; 
zone "example.com." IN { 
        type master; 
        file "example.com.db"; 
}; 
步骤3   创建example.com.db配置文件。 
在/var/named/目录下创建example.com.db文件,加入以下的配置: 
$TTL 1H 
@       SOA     homeserver.localdomain  root.homeserver.localdomain (    
                          2 
                          3H 
                          1H 
                          1W 
                          1H ) 
        NS      homeserver. 
gns-server      IN      1H      A       192.168.4.200 
grid    IN      1H      NS      gns-server 
步骤4   创建192.168.4.db配置文件。 
在/var/named/目录下创建192.168.4.db文件,加入以下的配置: 
$TTL 1H 
@       SOA     homeserver.localdomain  root.homeserver.localdomain (    
                          2 
                          3H 
                          1H 
                          1W 
                          1H ) 
        NS      homeserver. 
200     PTR     gns-server.example.com. 
步骤5   完成“DNS域名解析”中的步骤5~8。 
步骤6   验证配置。 
客户端和服务器都要能够完成下面的验证工作。下面是一段客户端的验证结果,由于目前还没有安装Grid Infrastructure,没有创建SCAN,也没为SCAN分配VIP地址,只能先对配置的GNS VIP进行解析测试。 
C:\Users\abin>nslookup gns-server.example.com 
服务器:  gns-server.example.com 
Address:  192.168.4.200 
名称:    gns-server.example.com 
Address:  192.168.4.200 
如上所示,gns-server.example.com能被正常地解析。 
3. DHCP服务配置 
如果使用GNS方式解析域名,那么在环境中要求有DHCP服务,目前大部分硬件,如 路由器或带路由功能的交换机都自带有DHCP服务。如果环境中没有提供DHCP服务,那么需要完成以下配置。 
步骤1   安装软件包。 
确保系统安装了dhcp软件包,如果未安装执行yum install dhcp命令安装。 
步骤2   修改DHCP配置文件。 
在/etc/dhcpd.conf文件中加入如下的配置: 
[root@networkserver Server]# cat /etc/dhcpd.conf 
ddns-update-style               none; 
default-lease-time              259200; 
max-lease-time                  518400; 
option routers                  192.168.4.254; 
option broadcast-address        192.168.4.255; 
option domain-name-servers      192.168.4.111; 
subnet 192.168.4.0 netmask 255.255.255.0 { 
    range 192.168.4.100 192.168.4.253; 
    option subnet-mask   255.255.255.0; 
    option nis-domain    "example.com"; 
    option domain-name   "example.com"; 

注意   每一行都以分号结束。如果dhcp启动失败,通过/var/log/messages文件查看换失败的具体原因。 
表2-9 是对配置参数的简单说明。 
表2-9   DHCP配置参数的说明 
参数名    含      义 
default-lease-time   默认租约时间 
max-lease-time       最大租约时间 
option routers 路由器地址 
option broadcast-address       广播地址 
option domain-name-servers  DNS地址,多个DNS用逗号分隔 
range      DHCP分配IP的范围 
option subnet-mask       子网掩码 
option nis-domain   NIS相关参数 
option domain-name      域名 
步骤3   启动DHCP服务。 
执行以下命令启动DHCP服务: 
[root@networkserver log]# /etc/init.d/dhcpd start 
Starting dhcpd:                                            [  OK  ] 
步骤4   设置DHCP服务器自动启动。 
执行以下命令设置dhcpd服务在系统启动的时候自动启动: 
chkconfig --level 35 dhcpd on
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值