Ovirt虚拟化平台对DNS的可靠要求比较高,DNS服务如果无法正常提供解析,将造成整个虚拟化平台的宕机;
Ovirt官方不推荐只在虚拟化平台上运行DNS服务,防止虚拟机宕机造成整个平台宕机,所以这里采用的是一台实体物理机运行主DNS服务(10.0.0.40),其它两台从服务器运行在虚拟化平台上低成本解决单点问题.
服务器:
- 主服务器: 10.0.0.40
- 从服务器1: 10.0.0.41
- 从服务器2: 10.0.0.42
其中主服务器部署在一台实体物理机上,其它服务器在Ovirt平台上启动的虚拟机.
在所有服务器上执行安装:
1 | [root@dns00 ~]# yum install -y bind bind-utils |
配置如下:
1 | [root@dns00 ~]# cat /etc/named.conf |
1 | [root@dns00 ~]# cat /etc/named.rfc1912.zones |
注意zone文件中一定要将所有NS服务器列举出来,否则从服务器无法收到主服务的notify
1 | [root@dns00 ~]# cat /var/named/named.talen.iot |
1 | [root@dns00 ~]# cat /var/named/named.10.0.0 |
配置两个从节点,配置基本一致,zone数据是从主节点同步过来的,所以无需管理.:
1 | [root@dns01 ~]# cat /etc/named.conf |
验证:
1 | [root@dns00 ~]# dig www.sina.com |
故障现象一
- bind可以解析自管理的域名,但无法解析外部域名.
- 日志中报错:
1 | Jan 27 17:22:31 server.talen.iot named[7460]: no valid RRSIG resolving 'net/DS/IN': 223.6.6.6#53 |
解决方法:
- 关闭DNSSEC
故障现象二
- 主服务器域名zone文件是text,从服务器zone文件是data
1 | [root@dns00 ~]# file /var/named/named.talen.iot |
解决方法:
从服务器/etc/named.conf的option中添加masterfile-format text;
1 | [root@dns01 ~]# file /var/named/named.talen.iot |
故障现象三
1 | [root@saltstack bind]# nslookup salt |
解决方法:
hostname中的域名配置错误,只使用主机名解析找不到域.
1 | [root@saltstack bind]# hostnamectl set-hostname saltstack.talen.iot |