PRVF-4664 PRVF-4657: Found inconsistent name resolution entries for SCAN name [ID 887471.1]

本文探讨了 Oracle Cluster Verification Utility 在检查过程中报告 INS-20802 错误的原因及解决方案,涉及 SCAN 名称解析失败的问题。文章详细分析了五种可能的原因,并提供了相应的解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

In this Document

 Purpose
 Details
 What's the expected output when executing nslookup
 Ping command reference
 References


Applies to:

Oracle Server - Enterprise Edition - Version 11.2.0.1 to 11.2.0.3 [Release 11.2]
Information  in this document applies to any platform.

Purpose

runInstaller (OUI) reports INS-20802 while running Oracle Cluster Verification Utility post check after successful 11gR2 Grid Infrastructure clusterware (CRS) installation or upgrade:

  • Installation log - $ORACLE_BASE/oraInventory/logs/installActions{$TIMESTAMP}.log
INFO: PRVG-1101 : SCAN name "cluscan.us.oracle.com" failed to resolve
INFO: ERROR:
INFO: PRVF-4664 : Found inconsistent name resolution entries for SCAN name "cluscan.us.oracle.com"
INFO: ERROR:
INFO: PRVF-4657 : Name resolution setup check for "scanclunm" (IP address: 10.4.0.202) failed

OR

PRCS-1016 : Failed to resolve Single Client Access Name cluscan.us.oracle.com


If "$GRID_HOME/bin/cluvfy comp scan" is executed, similar message will be reported.

Details

Cause 1. SCAN name is expected to be resolved by local hosts file

SCAN name is resolved by local hosts file (/etc/hosts or %SystemRoot%\system32\drivers\etc\hosts) instead of DNS or GNS

Solution: Oracle strongly recommend to use DNS or GNS for SCAN name resolution as hosts file support only one IP for SCAN

If the intention is to use hosts file for SCAN name resolution, and ping command returns correct SCAN VIP, you can ignore the error and move forward.

If the intention is to use DNS or GNS for SCAN name resolution, comment out entries in local hosts file for SCAN name on all nodes, and re-run "$GRID_HOME/bin/cluvfy comp scan" to confirm.

Cause 2. nslookup fails to find record for SCAN name:

nslookup cluscan.us.oracle.com
..

** server can't find eotcs.us.eot.com: NXDOMAIN


Solution
: Engage System Administrator(SA) to check resolver configuration (/etc/resolv.conf on Linux/UNIX), correct any misconfiguration on all nodes and re-run "$GRID_HOME/bin/cluvfy comp scan" to confirm.


Cause 3
. SCAN name is canonical name(CNAME record) in DNS

nslookup cluscan.us.oracle.com
..
cluscan.us.oracle.com     canonical name = cluscan.a3.oracle.com
Name:   cluscan.a3.oracle.com
Address: 10.4.0.201
Name:   cluscan.a3.oracle.com
Address: 10.4.0.202
Name:   cluscan.a3.oracle.com
Address: 10.4.0.203


Solution: Engage SA to update SCAN record in DNS to A type instead of CNAME type.


Cause 4. DNS is configured properly in DNS but other naming resolution(nis, ldap..) is being used and doesn't have proper SCAN info

Solution: Engage SA to check name resolution switch configuration (/etc/nsswitch.conf on Linux, Solaris and hp-ux or /etc/netsvc.conf on AIX) and correct any misconfiguration on all nodes. Example hosts in nsswitch.conf:

hosts:      files dns nis

Once it's corrected, execute "$GRID_HOME/bin/cluvfy comp scan" to confirm


Cause 5. Persistent cache for nscd has incorrect information.

Solution: Engage SA to restart nscd and clear persistent cache on all nodes. Example on Linux

# /sbin/service nscd restart
# /usr/sbin/nscd --invalidate=hosts

Once it's corrected, execute "$GRID_HOME/bin/cluvfy comp scan" to confirm.

------------------------------------------------------------------------------------------------------------

What's the expected output when executing nslookup

nslookup cluscan.us.oracle.com

..
Name:   cluscan.us.oracle.com
Address: 10.4.0.201
Name:   cluscan.us.oracle.com
Address: 10.4.0.202
Name:   cluscan.us.oracle.com
Address: 10.4.0.203


ping -c 1 cluscan.us.oracle.com
PING cluscan.us.oracle.com ( 10.4.0.201) 56(84) bytes of data.
64 bytes from cluscan.us.oracle.com (10.4.0.201): icmp_seq=1 ttl=64 time=0.258 ms

--- cluscan.us.oracle.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.258/0.258/0.258/0.000 ms

ping -c 1 cluscan.us.oracle.com
PING cluscan.us.oracle.com ( 10.4.0.202) 56(84) bytes of data.
64 bytes from cluscan.us.oracle.com (10.4.0.202): icmp_seq=1 ttl=64 time=0.258 ms

--- cluscan.us.oracle.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.258/0.258/0.258/0.000 ms

ping -c 1 cluscan.us.oracle.com
PING cluscan.us.oracle.com (10.4.0.203) 56(84) bytes of data.
64 bytes from cluscan.us.oracle.com (10.4.0.203): icmp_seq=1 ttl=64 time=0.258 ms

--- cluscan.us.oracle.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.258/0.258/0.258/0.000 ms

From above you can see:

  1. nslookup is returning proper SCAN name and IPs
  2. ping to SCAN name is Round Robin resolved to different IP each time by DNS

If you see different behaviour than above, please engage SA to investigate.

------------------------------------------------------------------------------------------------------------

Ping command reference

Linux:        /bin/ping -c 1 cluscan.us.oracle.com
Solaris:      /usr/sbin/ping -s cluscan.us.oracle.com 1500 1
hp-ux:       /usr/sbin/ping cluscan.us.oracle.com -n 1
AIX:         /usr/sbin/ping -c 1 cluscan.us.oracle.com
Windows: ping -n 1 cluscan.us.oracle.com


------------------------------------------------------------------------------------------------------------


References

BUG:8901977 - CLUVFY PRVF-4664 : FOUND INCONSISTENT NAME RESOLUTION ENTRIES FOR SCAN NAME
NOTE:887522.1 - 11gR2 Grid Infrastructure Single Client Access Name (SCAN) Explained
<think>我们正在解决Netplan配置文件中因缩进不一致(inconsistent indentation)导致的YAML语法错误。 根据引用[2]:出现类似错误:Invalid YAML: inconsistent indentation,即缩进不对,每一层没有严格缩进。 同时引用[1]也提到:缩进只能用空格,不能用Tab键,并且两个配置文件同时存在可能导致问题。 解决步骤: 1. 确保只有一个Netplan配置文件:检查/etc/netplan目录,如果有多个.yaml文件,可能会互相冲突。建议将其他配置文件备份(重命名)或删除,只保留一个活动的配置文件。例如: sudo mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak [^1] 2. 使用空格缩进,禁止使用Tab:在编辑配置文件时,确保编辑器设置为将Tab转换为空格(例如,设置空格数为2或4,推荐2个空格)。Netplan的YAML文件对缩进非常敏感。 3. 检查每一层的缩进是否一致:Netplan配置通常有以下几个层次: network: version: 2 renderer: networkd # 或者NetworkManager ethernets: ens33: # 网卡名称 dhcp4: false addresses: [192.168.1.10/24] # 或者使用序列形式:- 192.168.1.10/24 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] 4. 使用YAML校验工具:可以使用在线工具(如http://www.yamllint.com/)或命令行工具(如yamllint)检查文件语法。 5. 使用netplan命令测试: sudo netplan generate # 生成配置,检查语法 sudo netplan try # 应用配置并等待确认(按Enter确认,按Ctrl+C取消) 6. 如果确认配置正确,则应用: sudo netplan apply 示例:一个正确的配置文件(引用[4]): ```yaml network: version: 2 renderer: networkd ethernets: ens33: addresses: [192.168.1.241/24] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1] ``` 注意:在引用[3]中,使用了类似的结构,但注意缩进层次: ```yaml network: version: 2 renderer: NetworkManager ethernets: ens33: dhcp4: false addresses: [192.168.94.68/24] gateway4: 192.168.94.2 nameservers: addresses: [192.168.94.1,8.8.8.8] ``` 关键点: - 顶层(network)没有缩进。 - 第二层(version, renderer, ethernets)缩进2个空格。 - 第三层(网卡名称ens33)缩进4个空格。 - 第四层(dhcp4, addresses等)缩进6个空格。 - 第五层(如nameservers下的addresses)缩进8个空格。 如果使用序列形式(以-开头)写addresses,则注意: ```yaml addresses: - 192.168.1.10/24 ``` 这种写法与 [192.168.1.10/24] 是等价的,但注意缩进:addresses键下需要缩进,然后-符号后面要有一个空格,再写IP地址。 如果遇到缩进错误,请严格按照上述层次缩进。 最后,确保配置文件扩展名为.yaml(或.yml),并且文件名以数字开头(如50-cloud-init.yaml)。 如果问题仍然存在,请提供配置文件内容(匿名敏感信息)以便进一步分析。</think>### 解决 Netplan YAML 配置文件中的缩进不一致错误 当遇到 **"inconsistent indentation"** 错误时,这表示您的 YAML 文件存在缩进格式问题。Netplan 对缩进要求极其严格,以下是完整解决方案: --- #### 步骤 1:理解缩进规则(关键!) 1. **只允许使用空格** 绝对禁止使用 Tab 键,必须用空格缩进(推荐 2 空格/层级)[^1][^2] ```yaml # ✅ 正确(2空格缩进) network: version: 2 ethernets: ens33: addresses: [192.168.1.10/24] # ❌ 错误(使用了Tab) network: version: 2 ethernets: ens33: # 此处Tab会导致错误 addresses: [192.168.1.10/24] ``` 2. **层级缩进必须一致** 每层缩进增加 2 空格,同层级必须对齐: ```yaml network: # 层级0 version: 2 # 层级1 (2空格) ethernets: # 层级1 ens33: # 层级2 (4空格) dhcp4: no # 层级3 (6空格) addresses: # 层级3 - 192.168.1.10/24 ``` --- #### 步骤 2:修复常见缩进错误 **错误案例**(引用[2][4]): ```yaml network: version: 2 renderer: networkd ethernets: ens33: # ❌ 错误:此处应缩进2空格 addresses: [192.168.1.241/24] # ❌ 错误:应比上层多缩进2空格 gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1] # ❌ 错误:缩进过多 ``` **修复后正确格式**: ```yaml network: version: 2 renderer: networkd ethernets: ens33: # ✅ 缩进2空格 addresses: # ✅ 缩进4空格 - 192.168.1.241/24 gateway4: 192.168.1.1 nameservers: addresses: # ✅ 缩进6空格 - 192.168.1.1 ``` --- #### 步骤 3:使用工具检查和修复 1. **可视化缩进**(推荐) 在编辑器中开启"显示空白字符"功能: ```bash sudo nano /etc/netplan/*.yaml # 按 Alt+P 显示特殊字符 ``` - 空格显示为点(`&middot;`) - Tab 显示为箭头(`→`)需全部替换为空格 2. **YAML 校验工具** 安装并运行校验: ```bash sudo apt install yamllint # 安装校验工具 yamllint /etc/netplan/*.yaml ``` 输出示例: ``` /etc/netplan/50-cloud-init.yaml 5:3 error wrong indentation: expected 4 but found 2 (indentation) 7:5 error wrong indentation: expected 6 but found 4 (indentation) ``` 3. **批量替换 Tab** 使用 sed 替换所有 Tab: ```bash sudo sed -i 's/\t/ /g' /etc/netplan/*.yaml # Tab→2空格 ``` --- #### 步骤 4:测试和应用配置 1. 语法检查: ```bash sudo netplan generate --debug # 显示详细错误 ``` 2. 安全测试(会回滚错误配置): ```bash sudo netplan try ``` 3. 应用配置: ```bash sudo netplan apply ``` --- #### 避免冲突的配置管理 1. **删除重复配置** 检查是否有多个 YAML 文件(常见错误根源): ```bash ls /etc/netplan # 只应保留一个活动配置文件 ``` 备份多余文件: ```bash sudo mv /etc/netplan/60-backup.yaml /etc/netplan/60-backup.yaml.bak [^1] ``` 2. **统一缩进风格** 全文件统一使用 2 空格缩进: ```yaml # 标准结构(参考) network: version: 2 renderer: networkd ethernets: eth0: dhcp4: false addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] ``` > **提示**:如果仍有问题,使用 `cat -A /etc/netplan/*.yaml` 可显示隐藏字符(`^I` 表示 Tab)。 --- ### 相关问题 1. 如何批量转换 YAML 文件中的 Tab 为空格? 2. Netplan 配置中 `renderer: NetworkManager` 和 `networkd` 有何区别? 3. Ubuntu Server 与 Desktop 版的 Netplan 配置有何不同? 4. 如何恢复误删的 Netplan 默认配置文件?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值