背景描述

Drac(Dell Remote Access Controlle)戴尔远程访问控制-是访问DELL服务器管理的一款很好的管理系统。基于WEB界面访问,可以友好的查看服务器的硬件资源,同时利用虚拟控制台可以模拟终端访问操作系统。但是如何批量的管理就成了一个问题。为此DELL开发了基于Redfish APIs的外带OOB的ansible模块。利用redfish通过OOB-controller就可以不用通过web方式获取到服务器相关信息,甚至做一些修改操作,同时利用ansible的特性完成批量管理

运行实现

运行实现的过程如下图

实现的功能

  1. Inventory: Manages system inventory
  2. Update: Manages system firmware
  3. System: Manages power and BIOS settings
  4. Chassis: Manages the system chassis
  5. Manager: Manages OOB controller settings
  6. Accounts: Manages OOB controller users

实现前的准备

DELL服务器

DELL服务器具备最小化的iDRAC 7/8/9 固件版本要在2.40.40.40以上

固件版本可以通过iDRAC概述中查看,如下是不符合的

要想实现这个功能就要升级固件,
方法是首先在DELL官方下载固件,然后IDrac设置-更新和回滚-更新上传文件路径,上载即可

升级期间有一个等待的过程,根据经验不会中断系统的运行。关于升级固件,可能会在另一篇文章中描述

这个就是升级后达到条件的服务器了

有人可能会有疑问,为什么要升级固件?其实升级固件除了修复安全漏洞外,本次的目标就是增加redfish服务模块

你可以在网络-服务中看到增加了Redfish模块,如下截图

同时要保证开启了该模块

Redfish(红鱼)简介 是一种标准API,旨在为融合的混合IT和软件定义数据中心(SDDC)提供简单安全的管理。Redfish兼具人类可读性和机器能力,利用通用的Internet和Web服务标准将信息直接暴露给现代工具链。

好吧,看上貌似蛮概念化的,你可以理解为就是一个API就行。

控制端准备

  1. 在一台系统上安装ansible(过程略)
  2. 该系统可以访问idrac

    只要网络层可以通信即可,不是真要用浏览器去登录idrac

  3. 安装 redfish-ansible-module
    1、git clone https://github.com/dell/redfish-ansible-module.git
    2、cd redfish-ansible-module/
    3、python install.py 

    准备工作完成

实际操作前的最后准备

因为play-books已经是现成的,所以在ansible的hosts做一下配置,格式大致如下

[myhosts]
# hostname OOB controller IP/NAME
webserver1 baseuri=192.168.0.101
webserver2 baseuri=192.168.0.102
dbserver1 baseuri=192.168.0.103

oob controller IP 一开始我也有点迷糊,实际上就是idrac地址,idrac默认地址是192.168.0.120,根据你实际的idrac地址进行配置即可

正式操作

以上准备工作完成以后就可以正式测试使用了,进入到redfish-ansible-module/playbooks 目录后可以看到playbooks剧本了

我们先执行一个get_disk_inventory.yml 看看

ansible-playbook get_disk_inventory.yml

哇哦,我相信你会报如下错误的

TASK [Get disk inventory] *************************************************************************************************************
Thursday 05 July 2018  09:06:44 +0800 (0:00:00.322)       0:00:00.515 *********
fatal: [webserver1]: FAILED! => {"changed": false, "msg": "HTTP Error: 401"}

401错误是什么鬼? 还记得上面的图吧?因为使用了OOB就是idrac地址,所以ansible不是利用SSH去执行的,而是利用redfish接口,所以我们要像登录WEB一样加上idrac用户名和密码的参数 -e 就可以了

ansible-playbook get_disk_inventory.yml -e "user=root password=123456"

请根据自己实际情况填写用户名和密码

输出的结果大致如下

PLAY [Get disk inventory] *************************************************************************************************************TASK [Define output file] *************************************************************************************************************
Thursday 05 July 2018  09:11:57 +0800 (0:00:00.063)       0:00:00.063 *********
included: /root/redfish-ansible-module/playbooks/create_output_file.yml for webserver1TASK [Define timestamp] ***************************************************************************************************************
Thursday 05 July 2018  09:11:57 +0800 (0:00:00.025)       0:00:00.088 *********
ok: [webserver1]TASK [Define file to place results] ***************************************************************************************************
Thursday 05 July 2018  09:11:57 +0800 (0:00:00.053)       0:00:00.141 *********
ok: [webserver1]TASK [Create dropoff directory for host] **********************************************************************************************
Thursday 05 July 2018  09:11:57 +0800 (0:00:00.035)       0:00:00.177 *********
ok: [webserver1]TASK [Get disk inventory] *************************************************************************************************************
Thursday 05 July 2018  09:11:57 +0800 (0:00:00.281)       0:00:00.458 *********
ok: [webserver1]TASK [Copy results to output file] ****************************************************************************************************
Thursday 05 July 2018  09:12:05 +0800 (0:00:07.865)       0:00:08.324 *********
changed: [webserver1]PLAY RECAP ****************************************************************************************************************************
webserver1                 : ok=6    changed=1    unreachable=0    failed=0   Thursday 05 July 2018  09:12:05 +0800 (0:00:00.532)       0:00:08.857 *********
===============================================================================
Get disk inventory ------------------------------------------------------------------------------------------------------------- 7.87s
Copy results to output file ---------------------------------------------------------------------------------------------------- 0.53s
Create dropoff directory for host ---------------------------------------------------------------------------------------------- 0.28s
Define timestamp --------------------------------------------------------------------------------------------------------------- 0.05s
Define file to place results --------------------------------------------------------------------------------------------------- 0.04s
Define output file ------------------------------------------------------------------------------------------------------------- 0.03s

你的输出可能和我的有点区别,只要我们看到任务全部是OK的,那就没问题。这时候会在<rootdir>/webserver1 生成一个json文件

我截取部分输出内容,大致如下:

如果只是查找部分数据,可以通过jq工具过滤出想要的字段,简单例子如下

Ansible+Redfish+Idrac管理DELL服务器相关推荐

  1. linux reboot命 过程,IDRAC安装dell服务器操作系统(linux or windows),用到生命周期管理器...

    1.首先给服务器装上idrac模块,然后给idrac配置一个远程IP,用作管理 2.在web界面输入IP,弹出以下界面,输入账号密码登录 3.认证成功后,点击虚拟控制台启动 4.进入如下界面,点击菜单 ...

  2. Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器

    一.总览 SNMP是监控服务器以外设备的非常好的方式,比如可以用于监控打印机.交换机.路由器等,只要是有SNMP功能,Zabbix都可以监控. SNMP检查是通过UDP协议,从Zabbix 2.2.3 ...

  3. Zabbix 3.2.6通过SNMP和iDRAC监控DELL服务器

    一.总览 SNMP(简单网络管理协议),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组资源对象 ...

  4. @Zabbix监控iDRAC(DELL服务器)

    文章目录 1.iDRAC开启SNMP 2.zabbix服务器测试 3.zabbix web配置 4.监控模板导入 5.iDRAC主机监控 1.iDRAC开启SNMP 打开iDRAC web页面,输入账 ...

  5. 花生壳盒子转发内网Dell服务器的iDRAC远程管理控制台

    花生壳盒子转发内网Dell服务器的iDRAC远程管理控制台 前后尝试多种方案,还付费开通花生壳的https,简直坑死.全程没找到完全对口的解决方案,因此写作记录希望对大家能有所帮助. 先说解决方案 先 ...

  6. Ansible的Inventory管理

    Ansible将可管理的服务器集合成为Inventory,Inventory的管理便是服务器的管理. hosts文件的位置: /etc/ansible/hosts 在命令行通过-i参数指定 通过/et ...

  7. 批量自动化配置Dell服务器idrac管理口IP

    背景说明 工作中经常会遇到一次上几十台.几百台服务器的情况 每当到这个时候小伙伴们拿台笔记本和一根网线,一台服务器.一台服务器的去修改idrac IP 为了节约这个工作量,利用dell的racadm工 ...

  8. DELL服务器iDRAC批量管理工具介绍——RACADM

    一.介绍 在批量服务器配置的过程中我们会接触到各种服务器批量配置工具,例如华为的FusionServer uMate套件,Dell的Racadm iDRAC配置工具.这些工具可以通过命令行或者图形化界 ...

  9. dell服务器linux密码,戴尔服务器修改iDRAC密码

    戴尔远控卡密码修改的两种方式: 戴尔服务器远控卡默认用户名密码为:root calvin 1) 在本地Centos服务器上直接修改: yum -y install OpenIPMI OpenIPMI- ...

  10. 服务器 操作系统安装到sd卡,DELL服务器通过sd卡安装系统(iDRAC Use vFlash ).doc

    DELL服务器通过sd卡安装系统(iDRAC Use vFlash ).doc 上传人:熏**** 文档编号:46639681 上传时间:2020-02-01 格式:DOC 页数:16 大小:768. ...

最新文章

  1. Qt / 查找可执行程序的依赖库
  2. [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)
  3. 【codecombat】 试玩全攻略 第十四关 已知敌人
  4. python语言单行注释符_云计算开发学习笔记:Python3注释
  5. JavaScript每日学习日记(1)
  6. 上汽集团:R汽车改名飞凡汽车
  7. 八十第五个冠军(复制和匹配的字符串)
  8. [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis
  9. 【codevs1116】四色问题
  10. python中文字体奇怪_利用python检查 AS400的中文字问题
  11. 小程序正式发布后,打开白屏(已解决)
  12. C++基础学习笔记:第一章、第二章
  13. 人工智能2021截稿日期_2019年136个国际学术会议资讯 (含截稿日期)
  14. 商汤的AI伴游小精灵
  15. PGP在加密技术中的应用
  16. 【跨语言剽窃检测】文本相似度分析之一
  17. 最佳开源PHP开发工具
  18. 【每周CV论文推荐】基于GAN的图像修复值得阅读的文章
  19. 百度大脑EasyDL多人标注重磅上线啦
  20. fatfs文件系统详解之f_mkfs函数分析

热门文章

  1. edius裁剪快捷键_EDIUS 快捷键大全 edius常用快捷键大全
  2. 汉字编码原则及0XA1与0X80代表的含义。(汉字编码原则为转发)
  3. SiteMesh框架统一布局用法介绍
  4. c语言 move函数,什么是C语言函数
  5. c语言反向工程软件,逆向工程工具之Reverse
  6. linux下载安装自我见解
  7. 前端-html省份、地市级联
  8. HTTP、TCP连接工具
  9. 香港股票交易成本计算器 android,股票交易手续费计算器
  10. 如何将网易云音乐/QQ音乐转移到Apple Music