redfish

在本文中,我将解释如何将Redfish和Ansible一起使用,以从一个中心位置大规模地完全自动化系统管理任务,从而显着降低复杂性并帮助提高IT管理员的生产力。

Redfish是由分布式管理任务组(DMTF)发布的开放式行业标准规范,旨在对平台硬件进行现代化和安全的管理。 在Dell EMC PowerEdge服务器上,可通过集成的Dell远程访问控制器(iDRAC)获得Redfish管理API,该控制器是一种带外管理控制器,用于远程管理服务器上的所有硬件组件。 IT管​​理员可以在iDRAC上使用Redfish API来执行所有生命周期管理任务。 而且,由于这些API是通过HTTPS发送统一资源标识符(URI)来访问的,因此管理员可以从不同的工具(例如命令行界面(CLI)或Web浏览器)中进行选择,并可以从任何设备(例如笔记本电脑或移动设备。

Ansible是一个开源自动化引擎,用于运行任务,包括安装软件和配置应用程序。 它是一对多的无代理机制,可以从一台控制机调用和监视重复的部署任务。 因为所有指令都是通过YAML或JSON文件指定的,所以Ansible比shell脚本更易于学习,并且具有不同技术背景的IT人员也更容易适应。 与其他流行的配置管理工具相比,Ansible是最简单的安装和配置。

通过iDRAC进行带外管理

iDRAC已为数代服务器支持传统协议(例如IPMI , SNMP和WS-MAN) 。 除这些协议外, RACADM工具(Dell EMC OpenManage的一部分)易于使用,是iDRAC管理的不错选择。 但是,随着硬件复杂性(包括网络和存储设备)的指数级增长,带外管理的复杂性也有所提高。 尽管安全一直是主要关注的问题,但在今天它变得更加重要。 这些要求的结果是创建了Redfish规范,以简化和巩固对各种硬件的管理,同时提供最大的安全性。

使用红鱼

可以通过Redfish API向iDRAC发送URI和用户凭证来查询它。 一种简单的方法是通过curl CLI命令。 本示例向iDRAC查询服务器的整体运行状况:

$ curl -s https: //< idrac-ip >/ redfish / v1 / Systems / System.Embedded.1 \
-k -u root:password | jq .Status.Health
"OK"

Redfish返回的所有数据均为JSON格式,因此我们需要解析所需的信息。 在这种情况下,我使用了jq解析器来提取所需的信息。

下一个示例向iDRAC查询服务器的CPU信息:

$ curl -s https: //< idrac-ip >/ redfish / v1 / Systems / System.Embedded.1 \
-k -u root:password | jq .ProcessorSummary.Model
"Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz"

这些简单的示例说明了使用PowerEdge iDRAC中提供的Redfish API从服务器收集信息有多么容易。

使用Ansible

Ansible指令在称为剧本的YAML文件中指定。 尽管完整的剧本教程不在本文讨论范围之内,但此常规示例显示了直观的剧本是如何实现的:

- name : daily system admin tasks hosts : my_100_servers tasks : - user : name=hacker state=absent remove= yes - yum : name=* state=latest - file : path=/etc/motd state=absent

调用剧本时,这些命令在/ etc / ansible / hosts中定义的变量my_100_servers指定的100台服务器中运行。 要执行的任务是:删除黑客用户,使用yum更新所有软件包,并删除文件/ etc / motd 。 由于Ansible剧本定义了所需的状态,因此可以在不影响服务器状态的情况下针对服务器多次运行该剧本。 如果某个任务已经实现(例如,“用户黑客不存在”),则剧本将忽略该任务并继续前进。

尽管大多数Ansible用例都是通过SSH与主机通信的(尽管还支持其他方法,例如PowerShell远程处理),但是带外管理实现还是通过HTTPS与主机(或更确切地说,与主机的iDRAC)进行通信。

iDRAC + Redfish + Ansible =安全,可扩展的自动化服务器管理

下图说明了如何将所有内容整合在一起以提供一个自动化的,可扩展的带外管理解决方案。

Sending a Redfish URI to servers, getting data back, and sorting it accordingly.

将Redfish URI发送到服务器,取回数据并进行相应的排序。

1. Ansible剧本定义了我们想要从iDRAC获得的信息。 在此示例中,我们要求当前的功耗。 然后,将构建特定的Redfish URI并将其发送到所有iDRAC。

2. iDRAC接收URI,调用相应的Redfish API收集数据或执行任务,然后以JSON格式发送回响应。

3. Ansible控制机器接收JSON格式的数据,对其进行解析以获取特定信息,并可以调用脚本对其进行格式化以将其导入电子表格或存储在数据库中。

发展历程

实现该解决方案的Ansible手册和模块位于项目的GitHub页面上 。 请注意,尚未实现所有功能,但是开发仍在进行中。 欢迎请求请求和功能。

如果您想了解更多信息,请与Jose Delarosa一起参加2017年10月23日举行的2017年欧洲开源峰会 。在他的演讲《 Ansible和Redfish的自动带外管理》中 ,他将分享有关使用的更多详细信息。开源工具和开放行业标准,以实现可扩展的自动化带外系统管理。

翻译自: https://opensource.com/article/17/9/out-band-management-redfish-and-ansible

redfish

redfish_Redfish和Ansible的带外管理相关推荐

  1. 什么是带内管理 带外管理?(转)

    什么叫带外管理? 常见的设备管理方式有SNMP.RMON.Web.TELNET以及通过CONSOLE.AUX接口管理,有些高端设备还具备100BASE-TX的带外管理端口. 我在网上查到大概SNMP. ...

  2. F5 V9 利用SCCP实现带外管理及重装系统

    Bob Chen 标签: f5,v9,sccp BIG-IP V9设备随机不再附带配置串口线,当现场没有串口线时可以使用BIG-IP SCCP来实现带外管理.此外,SCCP还可以用于重装系统. 1.1 ...

  3. oracle服务器支持ipmi带外管理,ipmi带外管理

    IPMI的功能 通过web访问IPMI,你可以实现对机器的操作,linux 下可以通过ipmitool 直接访问: 开机,关机,重启,查看机器当前的通电状态 安装系统.有些服务器的IPMI,没有内置i ...

  4. 华为S/CE系列交换机stelnet示例(带外管理地址绑定vpn实现业务和管理平面的隔离)

    华为交换机stelnet示例 组网需求 配置思路 操作步骤 在服务器端生成本地密钥对 (可选) 在服务器端创建SSH用户 1.配置VTY用户界面. 2.新建用户名为admin的SSH用户,且认证方式为 ...

  5. 网际,MAC,DNS,僵木蠕,木马,APT,dns隐蔽隧道,.pcap,开源情报,元数据,带外管理,磁盘阵列RAID,DRAC,ARP,充分必要条件

    网际网络是指在广域网与广域网之间互相连接的网络,包括不同类型的协议的网络的互联,比如TCp/IP网络和X.25网络的互联. 现在咱们通用的因特网(INTERNET)就是很明显的网际网络,因为因特网中包 ...

  6. 曙光服务器I840-G25带外管理

    曙光服务器一般出厂时默认不配置固定带外管理IP,但同时打开了另一扇DHCP的窗.因此,只需要给已经处于开机状态的服务器配置一个DHCP服务器,使其能够自动获取IP,就可以实现带外管理功能. I840- ...

  7. 什么是带内管理和带外管理?

    带外管理(Out-of-band-management)和带内管理(In-b-management)是服务器管理中的两种不同方式.下面,我将为您详细介绍带外管理与带内管理的来源.发展.以及它们的区别. ...

  8. 带外管理和带外管理的区别

    带外网管是指通过专门的网管通道实现对网络的管理,将网管数据与业务数据分开,为网管数据建立独立通道.在这个通道中,只传输管理数据.统计信息.计费信息等,网管数据与业务数据分离,可以提高网管的效率与可靠性 ...

  9. 带内管理与带外管理的区别

    因为之前有部署过一些安全设备,在部署完成之后往往需要给客户留一个管理地址,在翻阅手册的过程中涉及到了一个概念"带内管理"与之相对的是"带外管理". 上网搜索了一 ...

  10. 实训一:交换机带外管理(就是用CRT连接交换机)

    一.实验目的     1.熟悉普通交换机的外观.     2.了解普通交换机各端口的名称和作用.     3.了解交换机最基本的管理方式----带外管理的方法. 二.应用环境   网络设备的管理方式可 ...

最新文章

  1. 关于标准规范的一些想法
  2. Netty实战 IM即时通讯系统(十)实现客户端和服务端收发消息
  3. HDU Victor and World (最短路+状态压缩)
  4. @ConfigurationProperties + @EnableConfigurationProperties
  5. 基于SOA的图书商城系统分析
  6. [已破案] 镜像出问题了
  7. 专升本计算机专业是理工类吗,理工类专接本有些专业
  8. 【图神经网络】 漫谈图神经网络 (一)
  9. java 通过 socket 实现 服务器和客户端的通信 TCP
  10. 宽带路由器-mac地址克隆
  11. Quartus II文件编译下载和USB-Blaster驱动安装
  12. Matlab运算符总结
  13. 10、wpf显示图片方式一: Image控件
  14. 7-2 一行文本的字母数字个数 (10 分)
  15. QCon 北京 2021:Pulsar PMC 成员翟佳出席并演讲
  16. 巧妙设置win7系统给WPS文档加密
  17. C语言之算法的概念和特点
  18. 软件测试需要学什么?测试学习大纲梳理
  19. byte json 互转_Json互转
  20. 微信小程序-实现上下、左右布局

热门文章

  1. 物联网技术的基站能耗监控解决方案
  2. 软件需求说明书怎么写
  3. keras python3.7_主页 - Keras 中文文档
  4. 主机宝iis版_主机宝iis版下载|
  5. php怎么设置浏览器禁止打开新窗口,JS打开新窗口防止被浏览器阻止的方法_javascript技巧...
  6. 使用js实现预览上传的图片
  7. ArcGIS空间分析笔记(汤国安)
  8. CPC客户端编写新申请时报错异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
  9. armeabi、armeabi-v7a、arm64-v8a区别
  10. 《鸟哥Linux私房菜》系列