对集群模式Data ONTAP中NFS客户端的访问被拒绝或挂载挂起问题进行故障排除

适用场景

ONTAP 9

问题描述

本指南旨在提供一组故障排除过程、以帮助确定NFS挂载挂起或访问被拒绝响应的发生原因。 

建议将所有命令行输入和生成的控制台输出记录在一个文本文件中、以供日后查看。在技术支持案例中提供此信息可能会显著缩短解决问题的时间。

在本指南中、我们会使用具有诊断和高级权限级别的命令。在运行这些命令时、请务必谨慎操作、因为输入错误可能会产生意外后果。

访问被拒绝或挂起的常见原因

NFS挂载因访问被拒绝而失败、或者持续重试并显示为挂起、有多种原因。以下列表介绍了观察到的最常见原因。下一节将提供故障排除策略、帮助您快速识别和修复问题描述的发生原因。

  • 客户端的IP或主机名不存在导出规则
  • 在配置名称服务(包括网络组或DNS条目)之前进行挂载尝试会导致访问缓存中的条目为负
  • 客户端IP到名称的DNS解析与导出规则中指定的网络组或主机名不匹配
  • DNS搜索域缺失或不正确
  • DNS、NIS或LDAP服务器超时
  • 缺少DNS PTR记录
  • 导出规则中指定的主机名不是完全限定的、并以点(.)结尾、也称为root用户名
  • 由于网络连接(防火墙策略或路由配置)、无法访问DNS、NIS或LDAP服务器
  • NIS或LDAP中缺少netgroup.byhost 映射
  • 主机名无法在DNS中解析的网络组
  • 本地文件和某些远程服务(包括NIS和LDAP)的网络组主机名区分大小写
  • 只有当路径中存在NTFS卷时、NFSv4挂载或NFSv3 auth=null才需要用户映射

操作步骤

确认NFS已启用

Cluster1::> vserver nfs show

 

Virtual  General Server   Access  v3     v4.0    v4.1    UDP    TCP -------- ------- -------- -------- -------- -------- -------- svm1   true   enabled  enabled  disabled enabled  enabled svm2   true   enabled  disabled disabled enabled  enabled


对NFS挂载访问被拒绝或挂起进行故障排除
  • 使用check-access命令验证是否存在允许客户端获得访问权限的导出规则:
    • Cluster1::> vserver export-policy check-access -vserver <vserver> -volume <volume> -client-ip <clientIP> -auth <auth_type> -proto <proto> -access-type <type>
NFS检查访问成功:
  1. 如果 check-access  命令成功:
    • 接合路径中的所有导出策略都将列在 check-access 输出中:
      (在diag权限级别中)Cluster1::> nblade access-cache show -node <node> -vserver <vserver> -policy <policy> -address <address>
    • 如果存在否定访问条目、请清除该条目并重新尝试挂载:
      (在diag权限级别) Cluster1::> nblade access-cache flush -vserver <vserver> -node <node> -policy <policy> -address <clientIP>
  2. 如果check-access  成功、则挂载将失败、并使用NFSv4或NFSv3 auth_null
    • 尝试从客户端挂载Vserver的根目录
      。Vserver的根目录具有接合路径"/"、
      例如:
      • mount <filerIP>:/ <mount point
    • 如果此操作成功、请按目录在客户端上"cd "、直到您收到access-denied消息、然后记录路径。
    • 对于上一步中授予您访问被拒绝权限的目录、请确定以下内容:
      1. 目录的安全模式是NTFS还是Unix?
        Cluster1::> vserver security file-directory show -vserver <vserver> -path <path>
        • 如果目录的安全模式为NTFS、请确认以下内容:
          1. 用户映射和凭据访问正确:
            (在diag权限级别)Cluster1::*> secd authentication show-creds -node <node> -vserver <vserver> -uid <clientUID>
          2. "vserver security file-directory show"中的权限可为从"secd authentication show-creds"确定的用户授予目录:
            Cluster1::> vserver security file-directory show -vserver <vserver> -path <path>
      2. 如果目录为Unix、请确认客户端的UID应具有访问权限。这可以从vserver security file-directory show 输出中确定:
        (在diag权限级别)Cluster1::> vserver security file-directory show -vserver <vserver> -path <path>
      3. 如果Unix用户为root、请通过vserver导出策略规则show确定客户端是否具有导出策略中的root访问权限:
        Cluster1::> vserver export-policy rule show -vserver <vserver> -policyname <policy name>
      4. 如果使用的是NFSv4、请确认ID映射是否正常工作:
        如何在集群模式下配置NFSv4
        如果这是新创建的卷、或者ls-Mirror尚未更新、请更新 ls-mirror-set
NFS check-access命令失败:
  1. 运行event log show 命令以确定是否发生任何名称服务错误:
    Cluster1::> event log show -message-name *nis*,*dns*,*ldap*
  2. 列出用于报告访问失败的拒绝策略的导出规则。
    Cluster1::> vserver export-policy rule show -vserver <vserver> -policyname <policy name>
  3. 确认列出了可授予此客户端访问权限的规则(如果不存在)、然后创建一个规则。
     
如果存在应授予访问权限的导出策略规则
  1. 如果规则是按IP或子网指定的
    • 确认IP和网络掩码包含客户端的IP
    • 对于适用于所有主机(0.0.0.0)的规则、请确认末尾有一个/0以涵盖所有主机
  2. 如果导出策略规则按主机名:
    • 确认规则中的主机名解析为预期IP
      (在diag权限级别) Cluster::*> vserver services name-service getxxbyyy gethostbyname -node <node> -vserver <vserver> -hostname <hostnname>

      如果解析为错误的IP、请转到下面的名称服务故障排除部分。
  3. 导出策略规则按DNS域名
    • 确认域名规则前加上"."以指示它是域。
      • 如果没有、请编辑此规则以反映正确的语法。
  4. 通过检查DNS中的PTR记录来确认客户端IP是否解析为正确的主机名:(在diag权限级别) Cluster::> vserver services name-service getxxbyyy gethostbyaddr -node <node> -vserver <vserver> -ipaddress <clientip>

    如果无法解析
    为正确的主机名、请转到下面的名称服务故障排除部分。
  5. 如果导出策略规则按网络组:
    1. 确认正在使用的名称服务源
      Cluster::> ns-switch show -vserver <vserver> -database netgroup
    2. 如果LDAP是其中一个源、请确定是否已启用netgroup.byhost
      Cluster::> ldap client show -client-config jason.local -fields is-netgroup-byhost-enabled
      1. 如果网络组源为启用了netgroup.byhost 的文件、NIS或LDAP:
        • 确认客户端已通过netgroup.byhost 查找
          进行解析(在diag权限级别)Cluster::> getxxbyyy netgrpbyhost -node <node> -vserver <vserver> -netgroup <netgroup> -client <ip>
        • 如果源为LDAP且未启用
          netgroup.byhost 、请确认客户端位于具有网络组查找的网络组中。
          (在diag权限级别) Cluster::>getxxbyyy netgrp -node <node> -vserver <vserver> -netgroup <netgroup> -client <ip>
    3. 如果客户端出现在上次网络组查找中、请清除网络组缓存并重新运行相应的check-access命令:
      Cluster::>export-policy cache flush -vserver <vserver> -cache netgroup
    4. 如果使用getxxbyyy 命令时客户端未显示在网络组中:
      确认客户端IP解析为正确的主机名
      (在diag权限级别)Cluster::>getxxbyyy gethostbyaddr -node <node> -vserver <vserver> -ipaddress <clientip>
    5. 如果IP无法正确解析、请转到下面的名称服务故障排除部分。
    6. 如果IP解析正确、请确认此名称与网络组文件中的条目匹配

如果确定网络组查找为netgroup.byhost ,则名称不仅必须匹配,而且区分大小写。

如果确定网络组查找不会使用ByHost功能、则区分大小写;但是、最好匹配大小写。

  1. 如果主机名与网络组中的条目不匹配(不存在或键入错误)、请更新网络组。
  2. 如果网络组源为Files、请确保网络组文件的当前副本已上传到控制器。
  3. 清除当前网络组缓存:
    export-policy cache flush -vserver trusts -cache netgroup
  4. 清除Access Cache:
    (在diag权限级别)Cluster::>nblade access-cache flush -vserver <vserver> -node <node> -policy <policy> -address <clientIP>
  5. 重新尝试检查访问操作
如果主机名与网络组中的主机名匹配、请运行以下命令以清除secd网络组缓存:
  • (在diag权限级别)Cluster1::*>secd cache clear -node <node> -vserver <vserver> -cache-name netgroup-ip
  • (在diag权限级别)Cluster1::*>secd cache clear -node <node> -vserver <vserver> -cache-name netgroup-host
  • (在diag权限级别) Cluster1::*>secd cache clear -node <node> -vserver <vserver> -cache-name ldap netgroupname-to-member
名称服务故障排除

DNS、NIS和LDAP的名称服务故障排除步骤相同:

  1. 验证SVM或SVM配置
  2. 确定名称服务是否具有正确的条目
  3. 验证网络连接
DNS故障排除
  1. 确认DNS设置是否正确:
    Cluster1::> vserver services name-service dns show -vserver <vserver> 
  2. 确定EMS事件日志中是否报告了任何错误、并执行指定的更正操作
    Cluster1::> event log show -message-name *dns* Cluster1::> event route show -message-name <EMS event name> -instance


    、例如:
    Cluster1::> event route show -message-name dns.server.timed.out –instance Message Name: dns.server.timed.out Severity: WARNING Corrective Action: Make sure that the DNS server is up and running and that there are no networking issues preventing the Vserver from communicating with the DNS server. Description: This message occurs when the DNS server fails to respond to a query and timeout occurs.
  3. 使用网络连接检查一节所述的步骤检查网络连接。
  4. 如果对getxxbyyy gethostbyname 进行故障排除,请调查DNS服务器,以确保它具有此客户端的正确A记录
  5. 如果要对getxxbyyy gethostbyaddr 进行故障排除,请调查DNS服务器,以确保它具有此客户端的正确PTR记录。

DNS 统计信息

可以按SVM查看DNS通信的统计信息、这些统计信息对于确定DNS查找的整体响应时间非常有用。通常、DNS平均往返时间(RTT)应与网络延迟密切匹配;但是、如果DNS服务器负载过重、或者SVM LIFs与DNS服务器之间出现数据包丢失、则可以观察到异常大的RTT。在priv advanced 模式下、运行dns info 命令以查看说明性统计信息:

cluster1::*> dns info Node: node_a           Name     Average   Minimum   Maximum    Total      Num  Host Not  Timed   Other  Format  Servfail  NotImp  Refused Vserver   Server  RTT (us)  RTT (us)  RTT (us)  RTT (s)  Queries     Found    Out  Errors  Errors    Errors  Errors   Errors --------  ------  --------  --------  --------  -------  -------  --------  -----  ------  ------  --------  ------  ------- my_svm     10.61.81.53    0         0         0        0        0         0      0       0       0         0       0        0 cluster    10.61.79.2   828       411      7646        0      880       878      0       0       0         0       0        0



在9.0及更高版本上、可以在计数器管理器中的对象External service_op DNS下找到DNS统计
Cluster1::> statistics start -object external_service_op -sample-id dns_sample1


信息。有关收集 统计信息的详细信息、请参见文档: 显示DNS统计
信息

Cluster::*> dns show                                                                Name Vserver         State     Domains                             Servers --------------- --------- ----------------------------------- ---------------- cluster1        enabled   demo.netapp.com                     192.168.0.253

 


NIS故障排除
  1. 确认NIS设置是否正确:
    Cluster::> nis show -vserver <vserver>
  2. 确定EMS事件日志中是否报告了任何错误、并采取指定的更正操作:
    event log show -message-name *nis* event route show -message-name <EMS event name> -instance

    例如:
    ::> event route show -message-name nis.server.not.available –instance Message Name: nis.server.not.available Severity: ERROR Corrective Action: From a UNIX (R) workstation, make sure that the NIS server is responding to requests. Also make sure that the portmapper on the NIS server is responding to requests. Make sure that there are no networking issues stopping the cluster from communicating with this NIS server. Description: This message occurs when none of the NIS servers configured for a Storage Virtual Machine can be contacted.
  3. 使用网络连接检查一节所述的步骤检查网络连接

NIS 统计信息

可以按SVM查看NIS通信的统计信息、这些统计信息对于确定NIS查找的整体响应时间非常有用。通常、NIS平均往返时间(RTT)应与网络延迟密切匹配;但是、如果NIS服务器负载过重、或者SVM LIFs与NIS服务器之间出现数据包丢失、则可以观察到异常大的RTT。在priv advanced 模式下、运行nis info 命令以查看说明性统计信息。

Cluster1::*> nis info   (nis-domain) Node: node_a         NIS     Number of    Total   Minimum   Maximum   Average    Number of  Entry Not Vserver Server YP Lookups  RTT (s)  RTT (us)  RTT (us)  RTT (us)  Retransmits      Found ------  ------ ----------  -------  --------  --------  --------  -----------  --------- my_svm  10.60.252.15    0        0         0         0         0            0          0



在9.1上、没有nis info use nis show。

 


LDAP故障排除
  1. 确认NIS设置是否正确:
    Cluster1::> ldap show -vserver <vserver> Cluster1::>ldap client show -client-config <config>
  2. 确定EMS事件日志中是否报告了任何错误、并采取指定的更正操作:
    Cluster1::> event log show -message-name *ldap* Cluster1::> event route show –messagename <EMS event name>


    例如:
    Cluster1::> event route show -message-name secd.ldap.noServers –instance Message Name: secd.ldap.noServers Severity: ERROR Corrective Action: From a LDAP client workstation, make sure that all configured LDAP servers are responding to requests. Make sure that there are no networking issues stopping the cluster from communicating with the configured LDAP servers. Also, make sure that the portmapper running on the LDAP server is working correctly. Description: This message occurs when none of the configured Lightweight Directory Access Protocol (LDAP) servers are accepting connections
  3. 使用网络连接检查一节所述的步骤检查网络连接。
LDAP统计信息

(在diag权限级别)  Cluster1::*>  diag secd connections show -node node2 -vserver SVM   [ Cache: LDAP (NIS & Name Mapping)/<no key> ]  Queue> Waiting: 0, Max Waiting: 1, Wait Timeouts: 0, Avg Wait: 0.00ms  Performance> Hits: 4, Misses: 1, Failures: 0, Avg Retrieval: 0.60ms   + Rank: 01 - Server: 10.228.225.120 (10.228.225.120)          Connected through the 10.63.21.9 interface, 0.0 mins ago          Used 5 time(s), and has been available for 2 secs          RTT in ms: mean=8.60, min=2, max=22, med=4, dev=7.58 (0.0 mins of data)


名称服务故障排除集群Shell命令
getxxbyyy 命令
用于查询名称服务。与-show-source true 结合使用时,该命令显示用于query. getXXbyYYns-switch 源是一个高级权限命令,具有以下查询类型:
  1. getaddrinfo |gethostbyname:将主机名转换为IPv4/6
    cluster::*> getxxbyyy getaddrinfo -node node01 -vserver Svm -hostname support.netapp.com -show-source true Source used for lookup: DNS Host name: support.netapp.com Canonical Name: support.netapp.com IPv4: 216.240.21.18 IPv6: 2620:10a:4005:c000::a78:2d11

     
  2. getnameinfo | gethostbyaddr:将IP地址转换为主机名
    cluster::*> getxxbyyy getnameinfo -node node01 -vserver Svm -ipaddress 216.240.21.18 -show-source true Source used for lookup: DNS IP address: 216.240.21.18 Host name: support.netapp.com

     
  3. getgrbygid: 按GID以成员身份获取组信息
    cluster::*> getxxbyyy getgrbygid -node node01 -vserver Svm -groupID 1000 -show-source true Source used for lookup: Files name: wheatley gid: 1000 gr_mem:

     
  4. getgrbyname:按名称获取组成员
    cluster::*> getxxbyyy getgrbyname -node node01 -vserver Svm -groupname daemon -show-source true Source used for lookup: Files name: daemon gid: 1 gr_mem:

     
  5. getgrlist:获取用户所属的组
    cluster::*> getxxbyyy getgrlist -node node01 -vserver Svm -username root -show-source true Source used for lookup: Unknown pw_name: root Groups: 0 cluster::*> getxxbyyy getgrlist -node node01 -vserver Svm -username user1 -show-source true Source used for lookup: Files pw_name: user1 Groups: 1000

     
  6. getpwdbyname | getpwbyuid:按名称| uid获取用户信息

    cluster::*> getxxbyyy getpwbyname -node node01 -vserver Svm -username user1 -show-source true Source used for lookup: Files pw_name: user1 pw_passwd: * pw_uid: 1000 pw_gid: 1000 pw_gecos: pw_dir: pw_shell:  

     

    cluster::*> getxxbyyy getpwbyuid -node node01 -vserver Svm -userID 60001 -show-source true Source used for lookup: Files pw_name: dubsquash pw_passwd: * pw_uid: 60001 pw_gid: 60001 pw_gecos: pw_dir: pw_shell:

     
  7. netgrp | netgrpbyhost: 使用netgroup | netgroup.byhost API检查网络组成员资格

    cluster::*> getxxbyyy netgrp -node node01 -vserver Svm -netgroup group1 -client myclient -show-source true Source used for lookup: NIS myclient is a member of group1

     

     

    cluster::*> getxxbyyy netgrpbyhost -node node01 -vserver Svm -netgroup group1 -clientIP 172.18.162.242 -show-source true Success Hostname resolved to: myclient.netapp.com Source used for lookup: NIS

     

     

    cluster::*> getxxbyyy netgrpbyhost -node node01 -vserver Svm -netgroup group2 -clientIP 172.18.162.242 -show-source true netgroup not found in netgroup.byhost lookup in all the configured sources Hostname resolved to: myclient.netapp.com Source used for lookup: Unknown

     

EMS事件

事件管理器系统(Event Manager System、EMS)会记录通常指向问题源的系统事件。用户可以订阅事件并查看整个集群的事件。有关配置通知的详细信息,请参阅技术报告4303在集群模式Data ONTAP中记录日志”。

用户可以通过运行event log show 命令来查看事件日志、也可以通过运行以下命令来查看特定事件问题描述和更正操作:
event route show –messagename <message_name> -instance

以下是最常与导出和名称服务配置问题相关的简短事件选择:

  • Accesscache.NearLimits:如果访问缓存模块接近其条目或导出规则限制、则会出现此消息。
  • Accesscache.ReachedLimit:当访问缓存模块达到其条目或导出规则限制时、会出现此消息。
  • dns.server.timed.out:域名服务(Domain Name Service、DNS)服务器无法查找服务名称时会出现此消息。
  • exports.hostname.notFound
  • exports.host.data.notFound
  • exports.host.clus.notFound
  • exports.host.notFound:如果在Vserver中配置的名称服务器中找不到将主机名映射到其IP地址的正向查找记录,则会出现此消息。要评估在客户端匹配条目中包含主机名的导出策略规则、必须存在此记录。
  • 导出.hostname.瞬 时
  • 导出.host.瞬 时
  • 导出.host.data.瞬 时
  • Exports.host.ClUs.瞬 时:如果导出策略规则的客户端匹配条目中命名的主机未解析为使用数据Vserver中配置的名称服务器的IP地址、则会出现此消息。
  • Export.DNS.config:如果名称服务查找请求发现DNS已配置为主机的ns-switch源、但没有为Vserver配置DNS、则会出现此消息。
  • exports.dom.clus.notFound
  • exports.dom.notFound:如果在已配置的名称服务器中找不到将IP映射到其主机名的反向查找记录、则会出现此消息。
  • 导出.dom.data.瞬 时
  • 导出.dom.n.snedom.瞬时
  • Exports.Dom.瞬 时:如果使用数据Vserver中已配置的名称服务器对客户端的IP地址进行反向查找失败,而导出策略规则在clientmatch中使用域名,则会出现此消息。
  • exports.netgroup.dnsNoPtrRec:如果在配置的名称服务器中找不到将IP地址映射到其主机名的反向查找记录,则会出现此消息。要评估导出策略规则的客户端匹配中名为的网络组中某个主机名的成员资格、必须存在此记录。
  • exports.netgroup.notFound:如果在配置的名称服务器中找不到导出策略规则的客户端匹配中名为的网络组,则会出现此消息。
  • exports.netgroup.partial:如果名称服务因网络组映射错误而返回部分网络组结果,则会出现此消息。
  • Exports.ngsh.allFaed:当网络组因网络组数据库的所有ns-switch源均返回连接错误且文件无法用作源而按主机请求失败时,会出现此消息。
  • Nblade.exportAccess索引:如果在将客户端与导出规则匹配时由于错误而无法评估客户端访问,则会出现此消息。
  • netgroup.files.missing:当网络组查找请求发现文件被指定为ns-switch源,但找不到网络组文件时,会出现此消息
  • netgroup.ldap.byHost.missing:如果在存储系统上的轻型目录访问协议(Light-Directory Access Protocol, LDAP)客户端配置中禁用了netgroup.byhost,而LDAP被配置为SVserver的ns-switch源,则会出现此消息。如果启用netgroup.byhost、则在网络组大小时挂载操作可以更快地成功。
  • netgroup.ldap.config:如果网络组查找请求发现轻量目录访问协议(Light后来 被指定为ns-switch源,但没有为Vserver配置LDAP,则会出现此消息。使用LDAP的网络组查找将不起作用。
  • netgroup.nis.byhost.decode:当对网络信息服务(NIS)服务器的netgroup.byhost远程操作步骤调用返回无法解码的响应时,会出现此消息。
  • netgroup.ns.ByHost.missing:如果未在网络信息服务(NIS)服务器上配置netgroup.byhost映射,并且NIS已配置为SVserver的ns-switch源,则会出现此消息。如果启用netgroup.byhost、则在网络组大小时挂载操作可以更快地成功。
  • netgroup.nis.config:当网络组查找请求发现网络信息服务(Network Information Service,NIS)指定为ns-switch源,但没有为Vserver配置NIS时,会出现此消息。使用NIS的网络组查找将不起作用。
  • nis.server.not.available:如果无法访问为Storage Virtual Machine配置的任何NIS服务器,则会出现此消息。
  • secd.authsys.lookup.failed:如果无法在任何名称服务(NIS、LDAP、文件)中查找尝试挂载或访问挂载点的传入UNIX用户ID (UID),则会出现此消息。
  • secd.dns.server.timed.out:当DNS服务器无法响应查询并发生超时时时,会出现此消息。
  • secd.dns.srv.lookup.failed:域名服务(DNS)服务器无法查找服务名称时出现此消息。
  • secd.ldap.query.timed.out:此消息表示轻量级目录访问协议(Lightweighting Directory Access Protocol,LDAP)服务器未在预期时间范围内响应请求。
  • secd.ldap.noServers:当服务器无法与网络信息服务(NIS)服务器建立TCP连接时,会出现此消息。
  • secd.ldap.CONNECTFailure:当服务器无法与网络信息服务(NIS)服务器建立TCP连接时,会出现此消息。
  • secd.netgroup.ldap.badFilter:如果用于搜索轻量目录访问协议(Light后来 到)服务器的过滤器无效,则会出现此消息。此问题描述的典型原因是LDAP客户端配置不正确或网络组名称错误。此时将跳过搜索当前网络组的操作、因此网络组中的所有主机可能都未获得授权。
  • secd.ldap.slowServer:此消息表示轻量级目录访问协议(Lightweight-Directory Access Protocol,LDAP)服务器未在预期时间范围内响应请求。
  • secd.nfsAuth.problem:NFS授权尝试失败时会出现此消息。
  • secd.noNetgroupFile: 如果在Vserver 'ns-switch'选项仅设置为'file'但未加载网络组文件的情况下尝试在导出策略中处理网络组,则会出现此消息。只有在加载网络组文件或将其他名称服务添加到vserver "ns-switch"选项后、才能处理客户端请求。
  • secd.nis.noServers:如果配置的网络信息服务(NIS)服务器均不接受连接,则会出现此消息。
  • secd.nis.CONNECTFailure:如果服务器无法与网络信息服务(Network Information Service,NIS)服务器建立TCP连接,则会出现此消息。
  • secd.ns.slowServer:当服务器无法与网络信息服务(NIS)服务器建立TCP连接时,会出现此消息。
  • secd.unecudedFailure:安全守护进程捕获意外故障时会出现此消息。这是一个通用事件、表示名称服务可能出现许多不同的故障。此事件会发布一个长问题描述、用于指示意外故障的具体详细信息。
网络连接检查

SVM SVM

检查SVM所拥有的SVM的连接几乎完全基于基本网络原则、例如子网连接和路由。请务必了解LIF是否与特定目标位于同一网络中、以及它是否能够确定如何实现该目标。

network interface show—检查其所在的每个LIF节点/端口的IP 

cluster::> network interface show -vserver Svm             Logical    Status     Network            Current       Current Is Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home ----------- ---------- ---------- ------------------ ------------- ------- ---- Svm             Svm_lif1        up/up    172.18.162.6/16    node01                                                                    e0c     true             Svm_admin                          up/up    172.18.162.14/24   node02                                                                    e0d     true

 

network route show—检查目标路由以及要使用的网关。

cluster::> network route show -vserver Svm Vserver             Destination     Gateway         Metric ------------------- --------------- --------------- ------ Svm                     0.0.0.0/0       10.113.52.1     30                     0.0.0.0/0       172.18.162.1    20

 

故障排除
  1. 这些生命周期管理器是否与网关位于同一网络中?
    如果网关为10.10.30.1、则LIF必须位于以下网络之一:
    • 10/8 (10.x.x.x、网络掩码255.0.0.0)
    • 10.10/16 (10.10.10.x.x.x.x.x.XXX网络掩码255.255.0.0)
    • 10.10.10.0/24 (10.10.10.3.x网络掩码255.255.255.0)
  2. 每个Vserver是否有多个网关?
    • 确保如果一个Vserver具有多个网关、则每个网关都有不同的度量指标。
    • 度量值较低的网关优先级较高(SVM将首先尝试该路由)

Ping和Tractraceroute
Ping和Tractraceroute
用于测试网络连接。ping可以验证源能够到达目标,而traceroute将显示数据包必须经过哪些路由器才能到达目标。对于IPv6网络、请使用ping6或traceroute6。

对于NFS、CIFS、DNS或LDAP等协议是否成功、Ping和Tractraceroute并不是很好的指示器。它们只能确定数据包是否可以从A点传输到B点。请记住、目标和中间的所有设备都必须允许ICMP流量。否则、无论网络状态如何、任一命令都可能出现故障。

除非检查节点管理-lif 的连接,否则应始终使用以下命令运行:

  • network ping | network ping6
  • network traceroute | network traceroute6

Ping

Ping成功 cluster::> network ping -lif test3 -vserver Svm -destination 172.18.162.1 172.18.162.1 is alive


Ping
 
cluster::> network ping -lif test3 -vserver Svm -destination 172.18.162.1 -v true -show-detail true PING 172.18.162.1 (172.18.162.1) from 172.18.162.22: 56 data bytes  to 172.18.162.22 64 bytes from 172.18.162.1: icmp_seq=0 ttl=128 time=1.815 ms

 
失败

cluster::> network ping -lif test -vserver Svm -destination 8.8.8.8 no answer from 8.8.8.8   cluster::> network ping -lif test -vserver Svm -destination 8.8.8.8 -v true -show-detail true ping: sendto: No route to host Tracereoute cluster::> network traceroute -lif test3 -vserver Svm -destination 8.8.8.8

 

跟踪路由输出中可能会显示星号。在大多数情况下、每次查询的跟踪跟踪跟踪默认为等待5秒。如果设备在5秒内没有响应、则会显示一个星号。默认值还为每个跃点(设备) 3个查询。
对于跟踪跟踪跟踪、目标的目标是在查询该设备时使用0星号。如果每个查询在到达目标之前都变为星号、则通信将无法继续到下一个跃点。如果跟踪路由返回超时或ICMP超时、则源和目标之间的跃点太多。

防火墙

对于故障排除的这一方面、防火墙位于客户端上、或者是客户端和SVM外部的设备。netstat –an 命令可提供这些方面的简单概述。对于NFS、主要关注的是相关服务是否处于其已知端口的侦听状态。

另外、还需要注意的是、本节中的防火墙位于Data ONTAP外部。Data ONTAP自身内部有一个防火墙、用于SSH、NDMP或NTP等管理协议。在ONTAP 9.6之前的版本中、以下防火墙策略可能会应用于LUN

防火墙策略 默认服务协议 默认访问 已应用到的生命周期
管理 DNS、HTTP、HTTPS、NDMP、NDMP、 NTP、SNMP、SSH 0.0.0.0/0 集群管理、SVM管理和节点管理生命周期管理
集群间 HTTPS、NDMP、NDMP 0.0.0.0/0 所有集群间的生命周期
数据 DNS、NDMP、NDMP 0.0.0.0/0 所有数据生命周期

在ONTAP 9.6及更高版本中,某些防火墙策略将替换为服务策略,所有此类策略将替换为9.11.1 9.11.1。有关服务策略在ONTAP防火墙中的角色的详细信息,请参见知识库文章“ 什么是防火墙策略和service-policy之间的关系”。 

Data ONTAP的防火墙不会应用于NFS等数据协议。如果数据协议显示防火墙阻止端口的症状(例如"连接被拒绝"消息)、则更重要的是确认这些数据SVM具有相同的数据协议、并且SVM具有相同的数据协议。

cluster::> network interface show –vserver Svm -fields data-protocol vserver lif                   data-protocol ------- --------------------- ------------- Svm     svm_lif1              nfs,cifs   cluster::> vserver show –vserver Svm -fields allowed-protocols vserver allowed-protocols ------- ----------------------- Svm     nfs,cifs,ndmp cluster::> vserver show –vserver Svm -fields disallowed-protocols vserver disallowed-protocols ------- -------------------- Svm     fcp,iscsi

 

如果怀疑Data ONTAP的防火墙有问题、请在EMS事件日志中检查ipfiler.ReachedMaxStates 。

cluster::> event route show -message-name ipfilter.ReachedMaxStates -instance

 

                                     Message Name: ipfilter.ReachedMaxStates                                         Severity: NOTICE                                 Corrective Action: (NONE)                                       Description: This message occurs when the ipfilter firewall fails to create a new dynamic state entry for a 'keep-state' rule because the number of dynamic state entries has reached the maximum allowed value of 4013. The 'keep-state' rule is used by the firewall to keep track of whether a connection is established. States are maintained by firewall for TCP, UDP, and ICMP packets. This message occurs at most once every 60 seconds; it lists the most recent connections to reach the limit.


服务和端口
服务 端口
RPC-Portmaper (NS)* 111
LDAP 389
DNS 53
Kerberos 88

NIS服务器会在启动期间动态选择一个有权限的端口、并向RPC-Portmaper服务注册。Data ONTAP将查询在端口111上运行的RPC-Portmaper以发现实际服务端口。

追加信息

  • access denied by server while mounting 等错误消息是导出策略规则违规的常见指示符

没有找到想要的答案?

上传日志让 AI 帮你诊断,或者在控制台里直接向 AI 提问。