日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Ansible+Redfish+Idrac管理DELL服务器

發(fā)布時(shí)間:2023/12/31 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ansible+Redfish+Idrac管理DELL服务器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

背景描述

Drac(Dell Remote Access Controlle)戴爾遠(yuǎn)程訪問控制-是訪問DELL服務(wù)器管理的一款很好的管理系統(tǒng)。基于WEB界面訪問,可以友好的查看服務(wù)器的硬件資源,同時(shí)利用虛擬控制臺(tái)可以模擬終端訪問操作系統(tǒng)。但是如何批量的管理就成了一個(gè)問題。為此DELL開發(fā)了基于Redfish APIs的外帶OOB的ansible模塊。利用redfish通過OOB-controller就可以不用通過web方式獲取到服務(wù)器相關(guān)信息,甚至做一些修改操作,同時(shí)利用ansible的特性完成批量管理

運(yùn)行實(shí)現(xiàn)

運(yùn)行實(shí)現(xiàn)的過程如下圖

實(shí)現(xiàn)的功能

  • Inventory: Manages system inventory
  • Update: Manages system firmware
  • System: Manages power and BIOS settings
  • Chassis: Manages the system chassis
  • Manager: Manages OOB controller settings
  • Accounts: Manages OOB controller users
  • 實(shí)現(xiàn)前的準(zhǔn)備

    DELL服務(wù)器

    DELL服務(wù)器具備最小化的iDRAC 7/8/9 固件版本要在2.40.40.40以上

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

    要想實(shí)現(xiàn)這個(gè)功能就要升級(jí)固件,
    方法是首先在DELL官方下載固件,然后IDrac設(shè)置-更新和回滾-更新上傳文件路徑,上載即可

    升級(jí)期間有一個(gè)等待的過程,根據(jù)經(jīng)驗(yàn)不會(huì)中斷系統(tǒng)的運(yùn)行。關(guān)于升級(jí)固件,可能會(huì)在另一篇文章中描述

    這個(gè)就是升級(jí)后達(dá)到條件的服務(wù)器了

    有人可能會(huì)有疑問,為什么要升級(jí)固件?其實(shí)升級(jí)固件除了修復(fù)安全漏洞外,本次的目標(biāo)就是增加redfish服務(wù)模塊

    你可以在網(wǎng)絡(luò)-服務(wù)中看到增加了Redfish模塊,如下截圖

    同時(shí)要保證開啟了該模塊

    Redfish(紅魚)簡(jiǎn)介 是一種標(biāo)準(zhǔn)API,旨在為融合的混合IT和軟件定義數(shù)據(jù)中心(SDDC)提供簡(jiǎn)單安全的管理。Redfish兼具人類可讀性和機(jī)器能力,利用通用的Internet和Web服務(wù)標(biāo)準(zhǔn)將信息直接暴露給現(xiàn)代工具鏈。

    好吧,看上貌似蠻概念化的,你可以理解為就是一個(gè)API就行。

    控制端準(zhǔn)備

  • 在一臺(tái)系統(tǒng)上安裝ansible(過程略)
  • 該系統(tǒng)可以訪問idrac

    只要網(wǎng)絡(luò)層可以通信即可,不是真要用瀏覽器去登錄idrac

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

    準(zhǔn)備工作完成

  • 實(shí)際操作前的最后準(zhǔn)備

    因?yàn)閜lay-books已經(jīng)是現(xiàn)成的,所以在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 一開始我也有點(diǎn)迷糊,實(shí)際上就是idrac地址,idrac默認(rèn)地址是192.168.0.120,根據(jù)你實(shí)際的idrac地址進(jìn)行配置即可

    正式操作

    以上準(zhǔn)備工作完成以后就可以正式測(cè)試使用了,進(jìn)入到redfish-ansible-module/playbooks 目錄后可以看到playbooks劇本了

    我們先執(zhí)行一個(gè)get_disk_inventory.yml 看看

    ansible-playbook get_disk_inventory.yml

    哇哦,我相信你會(huì)報(bào)如下錯(cuò)誤的

    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錯(cuò)誤是什么鬼? 還記得上面的圖吧?因?yàn)槭褂昧薕OB就是idrac地址,所以ansible不是利用SSH去執(zhí)行的,而是利用redfish接口,所以我們要像登錄WEB一樣加上idrac用戶名和密碼的參數(shù) -e 就可以了

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

    請(qǐng)根據(jù)自己實(shí)際情況填寫用戶名和密碼

    輸出的結(jié)果大致如下

    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

    你的輸出可能和我的有點(diǎn)區(qū)別,只要我們看到任務(wù)全部是OK的,那就沒問題。這時(shí)候會(huì)在<rootdir>/webserver1 生成一個(gè)json文件

    我截取部分輸出內(nèi)容,大致如下:

    如果只是查找部分?jǐn)?shù)據(jù),可以通過jq工具過濾出想要的字段,簡(jiǎn)單例子如下

    總結(jié)

    以上是生活随笔為你收集整理的Ansible+Redfish+Idrac管理DELL服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。