IBM PureApplication System(W1500和W1700 v1.0和v1.1)是一体式云计算系统,具有集成的硬件和软件,可以在云中部署和执行工作负载,换句话说,就是企业数据中心的所有内容需要添加一个私有云环境。 像连接到TCP / IP网络的任何计算机一样,PureApplication System使用DNS在网络上定位资源,以便它可以连接到它们。
本文介绍了IBM PureApplication System v1.1(以下称为“系统”)如何使用DNS。 它说明了如何配置系统的网络设置以使用数据中心的DNS服务器,系统对DNS的依赖关系,期望DNS能够回答的查询以及无法使用DNS时系统出了什么问题正确地。
该信息主要用于:
- 网络管理员 ,使DNS服务器在数据中心的网络上可用,并确保为它们配置了必要的DNS数据。
- 帮助客户配置系统并将其正确连接到数据中心网络的IBM技术专家 。
本文中包含的插图反映了v1.1.0.2。 要执行此处显示的配置,您需要以下权限:
- 具有管理硬件资源(完全权限)的硬件管理。
- 具有管理云资源(完全权限)的云组管理。
下一节将说明什么是DNS,以及它在系统中的指定位置。 稍后,您将了解如何使用这些设置以及如何在未正确设置时进行故障排除。
什么是DNS?
DNS(域名系统)是Internet协议(IP)的标准化可选功能。 DNS服务器在端口53(UDP和TCP)上侦听请求。 它将域名(例如mycomputer
)转换为IP地址(例如192.168.1.2
)并返回。 将主机名转换为IP地址称为正向查找 ,而反向查找使用IP地址查找其主机名。
特定网络的DNS服务器配置有一组特定于其网络上资源位置的数据。 此数据称为DNS记录 ,包含主机名和IP地址之间的映射。 DNS记录具有生存时间(TTL)属性,该属性指定DNS客户端应缓存记录的最长时间。
IP服务器由IP网络管理员配置DNS服务器并使其在网络上可用。 管理员使用一组DNS记录配置DNS服务器,并将该服务器托管在网络上的特定IP地址上。 为了提高可用性,除了第一个DNS服务器之外,还可以托管第二个DNS服务器。 这两个DNS服务器使用不同的IP地址连接到网络,但是包含相同的DNS记录,因此提供相同的查找答案。 可以将需要冗余的DNS客户端配置为将一个DNS服务器用作主要服务器,将另一个DNS服务器用作辅助服务器。 两个DNS服务器可以以第三个IP地址开头,即所谓的虚拟IP地址 (VIP),该地址用作两个DNS服务器地址的代理。 这样,可以使用VIP配置DNS客户端,并自动连接VIP选择用于负载平衡和故障转移的任何服务器。
为了使客户端能够成功使用DNS服务器,需要克服两个主要挑战:
- 连接性:客户端必须能够通过网络连接到DNS服务器。
这意味着客户端的IP地址必须具有通往DNS服务器IP地址的路径。 如果客户端作为虚拟局域网 (VLAN)的成员连接到网络,则VLAN必须具有通往DNS服务器IP地址的路径。 DNS服务器在端口53上侦听请求,因此沿途的任何防火墙都必须允许有效的DNS数据包在端口53上通过。
- 内容:DNS服务器必须包含DNS记录,该记录映射客户端要连接到的网络资源。
如果客户端希望连接到某些主机名,则必须在DNS服务器中定义这些主机名的IP地址。 如果客户端希望能够从其IP地址中查找主机名,则DNS服务器必须定义反向查找。
当DNS正常工作时,客户端可以连接到DNS服务器并执行查找,以将主机名转换为IP地址,反之亦然。
DNS网络设置
IBM PureApplication System不实现或不包含DNS服务器。 而是需要访问数据中心网络上的至少一台DNS服务器。 网络设置(包括DNS服务器的地址)在两个位置进行配置:
- PureSystems Manager,在其系统设置中。
- 每个IP组。
PureSystems Manager是PureApplication System中的中央管理组件,它使用DNS,这意味着PureSystems Manager的IP地址必须能够访问系统管理VLAN上的DNS服务器。
当IBM安装系统时,PureSystems Manager将配置有用于连接到DNS的网络设置。 使用系统设置向导执行配置,该向导使用技术和交付评估 (TDA)中收集的配置数据。 因此,如果您使用的系统已经设置并连接到数据中心的网络,则该系统的PureSystems Manager应该已经配置了DNS服务器。 但是,如果系统似乎无法成功使用DNS,则您需要了解这些设置,以便可以验证它们是否正确并调试可能出问题的地方。
PureSystems Manager必须能够访问系统管理网络VLAN上的DNS服务器。 让我们回顾一下在哪里可以找到这些设置。
PureSystems Manager使用的DNS服务器在“ 系统设置”页面上配置(导航至“ 系统控制台”>“系统”>“设置”>“域名服务(DNS)” )。 输入至少一台DNS服务器的IP地址(不是主机名)。 您可以指定多个条目,它们将按照列出的顺序进行搜索。 图1显示了在172.17.248.2
上配置了DNS服务器的系统。
图1.域名服务(DNS)设置

“ DNS设置”页面还包含一个“ 查找”小部件,用于查找主机名和IP地址。 您将在疑难解答中使用它。
DNS服务器必须在系统管理网络上可访问,该网络是分配给机架式交换机(ToR)顶部端口64的VLAN。 该网络可以是数据中心网络上的任何有效VLAN,尽管它应该与用于应用程序数据的VLAN不同。 在“管理LAN端口”部分的“ 客户网络配置”页面上配置了该VLAN ID(导航至“ 系统控制台”>“系统”>“客户网络配置”>“管理LAN端口” )。 图2显示了配置有VLAN ID为716
的系统管理网络的系统。
图2.管理LAN端口–聚合端口64设置
PureSystems Manager的IP地址在同一“管理LAN端口”部分中配置。 PureSystems Manager使用三个IP地址,每个PureSystems Manager使用一个IP地址(系统包含两个:已使用的主用/备用),以及一个VIP(也称为浮动IP地址),该IP地址用于访问当前使用的任何一个主IP地址。 图3显示了配置了管理IP地址172.18.112.32
(以及相应的主机名rack16psm.purescale.raleigh.ibm.com
;该映射应包含在DNS服务器中)。
图3.管理LAN端口–聚合端口64设置
再次总结一下,PureSystems Manager的IP地址必须能够访问系统管理VLAN上的DNS服务器。 在此示例中:
- 图1显示了位于172.17.248.2。的DNS服务器。
- 图2显示了VLAN 716上的系统管理网络。
- 图3显示了172.18.112.32上的PureSystems Manager。
这意味着在PureSystems Manager的IP地址(图3中为172.18.112.32)上运行的任何TCP / IP客户端计算机都需要通过端口53在管理网络(图2中的VLAN 716)上具有路径以到达该DNS服务器的IP地址。 (图1中的172.17.248.2)。 如果PureSystems Manager无法访问DNS服务器,则不能使用DNS。
IP组的DNS网络设置
IP组中的每个IP地址都必须能够访问IP组VLAN上的DNS服务器。 让我们回顾一下在哪里可以找到这些设置。
您可以在“ IP组”页面上查看IP组(导航至“ 系统控制台”>“云”>“ IP组”,然后选择IP组)。 下表显示了为IP组显示的数据。
如表1所示,每个IP组包含以下设置:
- 一对DNS服务器,用于主服务器(必需)和辅助服务器(可选)。
- VLAN ID。
- 网络地址。
表1. IP组网络设置
属性 | 值 |
---|---|
版 | ipv4 |
网络地址 | 172.17.112.0 |
网路遮罩 | 255.255.248.0 |
网关 | 172.17.112.1 |
主DNS | 172.15.248.101 |
辅助DNS | (没有) |
虚拟局域网 | 636 |
必须在具有该地址的网络上定义VLAN,并且该VLAN上必须可以访问DNS服务器的IP地址。
请注意,为IP组指定的DNS服务器可以与为PureSystems Manager指定的DNS服务器不同。 此外,每个IP组可以指定一个不同的DNS服务器。 系统仅需要一台DNS服务器,该服务器用于PureSystems Manager和所有IP组。 但是系统还支持一种网络体系结构,其中PureSystems Manager具有一个DNS服务器,每个IP组也具有自己的DNS服务器。
如表2所示,每个IP组均包含IP地址列表。 当系统控制台显示IP组时,它不仅列出IP地址,而且列出每个人的相应主机名。 系统通过使用DNS服务器执行查找来获取每个IP地址的主机名。
表2. IP组网络设置
状态 | IP地址 | 主机名 | 动作 |
---|---|---|---|
* | 172.17.117.2 | ipas-lpar-117-002.purescale.raleigh.ibm.com | |
* | 172.17.117.3 | ipas-lpar-117-003.purescale.raleigh.ibm.com | |
* | 172.17.117.4 | ipas-lpar-117-004.purescale.raleigh.ibm.com | |
* | 172.17.117.5 | ipas-lpar-117-005.purescale.raleigh.ibm.com | |
172.17.117.6 | ipas-lpar-117-006.purescale.raleigh.ibm.com | X | |
172.17.117.7 | ipas-lpar-117-007.purescale.raleigh.ibm.com | X | |
172.17.117.8 | ipas-lpar-117-008.purescale.raleigh.ibm.com | X | |
172.17.117.9 | ipas-lpar-117-009.purescale.raleigh.ibm.com | X |
在表2中,一个IP组不仅显示每个IP地址的主机名,还显示当前是否正在使用该IP地址(已部署的虚拟机)。 状态列中的“ *”表示已使用。 “操作”列中的“ X”表示用户可以从IP组中删除IP地址。 只有在不使用地址的情况下,才能将其删除。
同样,IP组中的每个IP地址都必须能够访问IP组VLAN上的DNS服务器。 在此示例中,这意味着表2中列出的每个IP地址都需要通过端口53在指定VLAN(表1中的VLAN 636)上具有路径,以到达该DNS服务器的IP地址(表1中的172.15.248.101)。 。 如果IP无法到达DNS服务器,则使用这些IP进行模式部署的效果会很差(请参阅故障排除 )。
如何使用DNS
既然您知道系统的哪些部分配置了包括DNS在内的网络设置,您可能会问:为什么系统需要DNS? 为什么PureSystems Manager和IP组中的IP都需要DNS? DNS服务器需要包含哪些数据?
DNS在使用系统的三个方面起作用。 前两个方面需要DNS,第三个方面DNS是可选的。 在查看系统如何使用DNS之后,我们将查看DNS服务器需要包含的数据,以便它可以回答其查询。
显示IP组
PureSystems Manager使用DNS的主要任务是显示IP组。 如表2所示,当系统控制台显示IP组时,它同时显示IP地址列表和每个地址的对应主机名。 IP组对象本身仅包含IP地址列表。 当系统控制台显示列表时,它将使用PureSystems Manager设置中指定的DNS服务器查找每个IP地址的主机名。
部署模式
当系统部署模式时-提供用于部署模式的环境配置文件,其IP地址由属性设置为IP组(这是典型的,它使部署比Pattern Deployer设置更好的自动化;请参阅在IBM中创建环境配置文件知识中心)-部署引擎使用DNS服务器。 引擎每次创建虚拟机(VM)时,都会从部署者指定的IP组中获取其IP地址,然后通过在DNS服务器中指定的DNS服务器中查找IP地址来获取VM的主机名。 IP组。
此外,当系统重新启动VM时,虚拟化管理器将使用DNS服务器。 重新启动每个VM时,无论是否从IP组获取其IP地址,这种情况都会发生。
表3显示了部署包含单个Core OS部件的简单虚拟系统模式所涉及的步骤。 在部署期间和部署之后,这些步骤显示在模式实例的“历史记录”部分中。 许多步骤都使用DNS。 特别是maestro脚本包。 如表3所示,此脚本包通常运行非常快(在此示例中为11秒)。 正如您将在“故障排除”中看到的那样,如果未正确设置DNS,则部署将完全失败或将成功,但是所需的时间要长得多。
表3.模式部署的历史记录
行动 | 时间戳记 |
---|---|
虚拟系统已部署 | 2014年5月1日,下午4:13:58 |
脚本包Must Gather登录虚拟机VM123成功完成 | 2014年5月1日,下午4:13:58 |
执行脚本包Must Gather在虚拟机VM123上登录 | 2014年5月1日,下午4:13:40 |
虚拟机VM123上的脚本软件包maestro已成功完成 | 2014年5月1日,下午4:13:39 |
在虚拟机VM123上执行脚本包maestro | 2014年5月1日,下午4:13:28 |
执行脚本包 | 2014年5月1日,下午4:13:28 |
启动虚拟机VM123 | 2014年5月1日,下午4:11:45 |
在虚拟系统VSys123中启动虚拟机。 | 2014年5月1日,下午4:11:45 |
注册虚拟系统VSys123 | 2014年5月1日,下午4:08:02 |
模式部署开始。 | 2014年5月1日,下午4:08:01 |
拓扑和网络的生成模型 | 2014年5月1日,下午4:07:46 |
预留云资源 | 2014年5月1日,下午4:07:45 |
部署已排队 | 2014年5月1日,下午4:07:43 |
运行应用程序
部署模式实例后,应用程序是否需要DNS完全取决于应用程序(包括其中间件)是否使用主机名以及操作系统如何配置为解析主机名。 默认情况下,系统部署VM时,会使用IP地址的DNS服务器配置OS,以便OS可以在需要时使用它。 但是,如果应用程序不想使用DNS服务器,则可以将OS配置为不使用DNS。 通常将在模式部署期间进行配置,例如通过使用在VM上运行的脚本包来配置其操作系统的主机文件并将其与DNS断开连接。
DNS记录
假定PureSystems Manager和每个IP组都可以访问其相应的DNS服务器,则需要在这些服务器中配置哪些数据(称为DNS记录)? (如果他们都使用一台服务器,则所有这些数据都必须在该服务器上可用。)
- 首先,要了解,当DNS服务器列出要由系统上部署的VM使用的IP地址/主机名对时,它需要为该对定义正向和反向查找。 (请参阅IBM Knowledge Center中的“ 管理DNS服务器 ”。)对于PureSystems Manager使用的DNS服务器和IP组使用的DNS服务器都是如此。
- PureSystems Manager使用的DNS必须列出所有IP组中的所有IP地址,因为这些组中的任何一个都可以显示在系统控制台中。 对于每个IP地址,该DNS服务器必须列出IP的主机名,因为该主机名也显示在系统控制台中。 必须为所有地址提供正向和反向查找。 系统控制台使用这些来确认它正在正确显示IP组。
- IP组使用的DNS必须列出该特定IP组中的所有IP地址,因为这些IP中的任何一个都可以用于部署VM。 对于每个IP地址,该DNS服务器必须列出IP的主机名,因为该主机名也已分配给VM。 必须为所有地址提供正向和反向查找。 部署引擎在构建模式实例时同时使用两个查找方向。
- 如果PureSystems Manager使用的DNS服务器不同于任何或所有IP组使用的DNS服务器,则每个IP地址将需要列出两次,一次在PureSystems Manager的DNS中,一次在IP组的DNS中。 两台DNS服务器都需要列出IP地址的主机名; 它们都应为给定的IP地址列出相同的主机名。
像大多数DNS客户端一样,系统缓存DNS数据。 根据DNS服务器中记录的TTL设置,它将使缓存中的每条记录失效。 服务器中的记录一旦更改,系统将不会反映此更改,直到TTL过期时间过去。
故障排除
现在您已经了解了系统用于连接到DNS的网络设置以及系统如何使用DNS,所有这些解释都导致了一个问题:如果没有为系统正确设置DNS,会出什么问题? 通常,会遇到三种类型的问题:
- 无法显示IP组
DNS无法正常工作时,系统面临的一大挑战是它将无法正确显示IP组。 当您在系统控制台中选择一个IP组而不是立即显示IP组时,控制台将挂起并尝试显示有关该组的所有详细信息,或者将显示IP地址列表以外的所有详细信息(表2) ),但会挂起显示IP地址列表部分(表3)。 当控制台在一个反向查询之后超时时,这种挂起将持续几分钟。 当所有地址都超时后,控制台将仅显示IP地址,而不显示其主机名。 这是因为IP地址和其他属性一样,是存储在IP组数据中的值-但是必须从DNS查找主机名。
一个IP组,其显示挂起,然后显示地址,但不显示主机名,表明发生了以下两个问题之一:
- PureSystems Manager无法访问DNS服务器。
- DNS服务器没有为IP组中的所有IP地址(未显示其主机名的IP地址)定义正向和反向查找。
如果控制台无法正确显示任何IP组,则PureSystems Manager无法访问DNS服务器或DNS服务器未正确定义任何IP地址的映射。 如果控制台可以正确显示某些IP组,但不能正确显示其他IP组,则PureSystems Manager可以访问DNS,因此服务器必须为某些IP地址而不是其他IP地址正确定义映射。
为了更精确地诊断问题,请使用图1所示的Lookup小部件。 为了方便起见,它只是包含在控制台中。 它仅运行
nslookup
命令,就像运行任何使用PureSystems Manager的IP地址连接到系统管理VLAN并配置有DNS服务器的IP地址的UNIX®计算机一样。 使用小部件来查看它是否可以查找将无法正确显示的IP地址之一的主机名。 确保再次使用它输入主机名并查找IP地址:- 如果窗口小部件可以成功查找主机名的地址,反之亦然,则说明已为该IP地址正确设置了DNS。
- 如果窗口小部件无法执行查找,则无法访问DNS。
- 如果窗口小部件显示找不到用于输入数据的IP地址或主机名,则表明系统正在访问DNS,但未在DNS服务器中正确定义数据。
请记住要对它进行测试,以获取具有代表性的IP地址样本(正向和反向),以确保它们均正常工作。 如果无法正确显示IP组,则该小部件中该组中失败的地址将失败。
- 部署模式时出现问题
当DNS无法正常工作时,系统面临的另一个挑战是模式部署将失败或最终成功,但所需的时间要长得多。 当PureSystems Manager和IP组都无法访问其DNS服务器,或者都不包含IP地址的主机名时,部署将失败。 如果IP组无法解析IP地址的主机名,而PureSystems Manager可以,则部署将成功,但DNS超时将延迟它。 例如,在一个系统上,当最终为其IP组正确设置DNS时,表3中所示的简单模式的部署时间从34分钟缩短到6分钟。
部署期间,每次失败的DNS查找都需要10分钟的超时时间。 因此,这种情况的明显征兆是通常需要花费几秒钟来运行且需要花费600秒钟以上才能运行的步骤。 对于表3中所示的简单模式,maestro脚本包应花费11-12秒来运行。 当DNS无法正常运行时,该脚本包需要10分12秒才能运行。 脚本包花费了10分钟使DNS超时,然后花费12秒完成其工作而没有查找结果。
您可能希望,如果IP组的DNS设置不正确,则部署将失败,或者至少VM不会具有主机名。 实际上,只要PureSystems Manager可以正确使用DNS,部署仍将成功(排除其他失败原因),并且每个VM都具有适当的IP地址/主机名对。 当IP组服务器上的DNS查找超时时,PureSystems Manager然后使用其DNS服务器获取主机名(假设PureSystems Manager可以成功显示IP组)。 因此,问题不在于模式部署失败,而是它花费的时间比应该花费的时间长得多。
- 虚拟机无法连接到网络资源
部署虚拟机后,可以对其进行测试以确认其可以使用其IP地址正确访问DNS。 假设没有在操作系统上执行任何其他配置来更改其主机设置或DNS的网络设置,可以肯定的是,如果VM在部署后无法到达其DNS服务器并从中成功进行查找,则可能无法在部署过程中也是如此。
要测试已部署的VM,请通过SSH进入其OS。 从VM的操作系统中,尝试以下网络任务:
- 使用
nslookup
通过IP地址或主机名查找PureSystems Manager。 - 使用
ping
查找PureSystems Manager或DNS服务器。 - 使用
SSH
连接到PureSystems Manager或DNS服务器。
即使在这些其他服务器上禁用了ping和SSH服务,VM至少也应该能够在网络上找到它们并显示服务无法使用的错误。 如果VM出现错误,甚至无法在网络上找到这些服务器,或者只是挂起并超时,则表明DNS设置不正确。
- 使用
结论
本文回顾了DNS如何作为任何IP网络的一部分,PureApplication System中使用DNS的功能以及如何使用DNS以及如何对涉及系统使用DNS的问题进行故障排除的基础知识。 利用此信息,您可以为PureApplication System配置DNS服务器,并配置PureApplication System使用它们,从而有助于确保系统将您的工作负载正确地部署到数据中心的网络上。
致谢
作者感谢IBM同事Alan Booth,Ivan Heninger,Mike Law,Brad Broge,Santiago Ortega,Adam Geiger,Erhan Ekici和Hendrik van Run。
翻译自: https://www.ibm.com/developerworks/websphere/techjournal/1407_woolf1/1407_woolf1.html