文章出處

  1. 安裝ansible批量管理系統。(沒有的話,ssh遠程命令循環也可以)
  2. 在常用的數據庫里面新建一張表,用你要收集的信息作為列名,提供可以用shell插入.
  3. 批量安裝所需工具包,smartmontools、dmidecode、mysql,可以用ansible命令:ansible all_host -s -m yum -a "name=mysql"
  4. 在本地寫腳本。
    1. 獲取默認IP:default_ip=$(ifconfig|head -n 2|tail -n 1|cut -d ":" -f 2|cut -d " " -f 1)
    2. 獲取產品的名稱,如果是簡化版的linux系統,需要先安裝dmidecode工具包:product_name=$(dmidecode -t1|grep Name|cut -d " " -f 3)
    3. 獲取產品的序列號:serial_number=$(dmidecode -t1|grep Serial|cut -d " " -f 3)
    4. 獲取CPU個數:cpu_count=$(dmidecode|grep CPU|grep Version|wc -l)
    5. 獲取CPU的名字:cpu_name=$(dmidecode|grep CPU|grep Version|cut -d " " -f 2-|uniq)
    6. 獲取內存容量,用free命令也挺好的,只是沒有單位:mem_total=$(cat /proc/meminfo|head -n 1|tr -s [:space:]|cut -d ' ' -f 2-)
    7. 獲取硬盤存儲容量:disk_size=$(fdisk -l|grep "Disk /dev/sda"|grep -v GPT|cut -d " " -f 3-|cut -d "," -f 1)
    8. 獲取硬盤型號,使用smartctl命令之前也要先安裝smartmontools工具包:disk_name=$(smartctl -a /dev/sda|grep "Product:"|awk '{print $2}')
    9. 獲取硬盤序列號:disk_serial_number=$(smartctl -a /dev/sda|grep "Serial number:"|awk '{print $3}')
    10. 定義sql插入語句:sql="insert into hctt_machine_info(default_ip,product_name,serial_number,cpu_count,cpu_name,mem_total,disk_name,disk_serial_number,disk_size) \
      values('$default_ip','$product_name','$serial_number','$cpu_count','$cpu_name','$mem_total','$disk_name','$disk_serial_number','$disk_size')"
    11. 寫登陸數據庫和插入操作的命令:mysql -h **** -uroot -p**** -D hctt_sysop -e "$sql"
    12. 本地腳本完成。
  5. 用ansible的script模塊遠程執行本地腳本:ansible -s -m script -a "****/dardware.sh"
  6. 用navicat連接數據庫,然后把它導出excel表。
  7. 導出的發現有些信息是空的。
  8. 命令在本機查一下,確實是空值。
  9. 排查。發現一個錯誤。                               
  10. 查看接口的詳細信息:sudo smartctl -d scsi -a /dev/sda
  11. 陣列卡需要安裝特殊工具MegaRAID查看。
    1. 下載:ftp://download2.boulder.ibm.com/ecc/sar/CMA/XSA/ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip。(如果連接不可用,或者很慢,可以找我要)
    2. 安裝 。

      #unzip ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip

      #cd linux

      # rpm -ivh Lib_Utils-1.00-09.noarch.rpm  MegaCli-8.00.48-1.i386.rpm #記得兩個安裝包的順序,不然會出錯。
    3. 使用方法:*/MegaCli64 -LDInfo -Lall -aALL
    4. 如果不知道MegaRAIN命令路徑,可以查找可執行文件。
      sudo find / -name MegaCli64
    5. 下面是其他一些網上收集的信息查詢。
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL 查raid級別
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL 查raid卡信息
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL 查看硬盤信息
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aAll 查看電池信息
      #/opt/MegaRAID/MegaCli/MegaCli64 -FwTermLog -Dsply -aALL 查看raid卡日志
      #/opt/MegaRAID/MegaCli/MegaCli64 -adpCount 【顯示適配器個數】
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpGetTime –aALL 【顯示適配器時間】
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll 【顯示所有適配器信息】
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aAll 【顯示所有邏輯磁盤組信息】
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll 【顯示所有的物理信息】
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充電狀態】
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL【顯示BBU狀態信息】
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuCapacityInfo -aALL【顯示BBU容量信息】
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuDesignInfo -aALL 【顯示BBU設計參數】
      #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuProperties -aALL 【顯示當前BBU屬性】
      #/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL 【顯示Raid卡型號,Raid設置,Disk相關信息】
      3.磁帶狀態的變化,從拔盤,到插盤的過程中。
      Device |Normal|Damage|Rebuild|Normal
      Virtual Drive |Optimal|Degraded|Degraded|Optimal
      Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online
      4.查看磁盤緩存策略
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L0 -a0
      or
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L1 -a0
      or
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -LALL -a0
      ro
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -LALL -aALL
      ro
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -DskCache -LALL -aALL
      5.設置磁盤緩存策略
      緩存策略解釋:
      
      WT (Write through
      WB (Write back)
      NORA (No read ahead)
      RA (Read ahead)
      ADRA (Adaptive read ahead)
      Cached
      Direct
      例子:
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0
      or
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -Cached|-Direct -L0 -a0
      or
      enable / disable disk cache
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -EnDskCache|-DisDskCache -L0 -a0
      6.創建一個 raid5 陣列,由物理盤 2,3,4 構成,該陣列的熱備盤是物理盤 5
      #/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0
      7.創建陣列,不指定熱備
      #/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -a0
      8.刪除陣列
      #/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -a0
      9.在線添加磁盤
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv[1:4] -L1 -a0
      10.陣列創建完后,會有一個初始化同步塊的過程,可以看看其進度。
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDInit -ShowProg -LALL -aALL
      或者以動態可視化文字界面顯示
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDInit -ProgDsply -LALL -aALL
      11.查看陣列后臺初始化進度
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDBI -ShowProg -LALL -aALL
      或者以動態可視化文字界面顯示
      #/opt/MegaRAID/MegaCli/MegaCli64 -LDBI -ProgDsply -LALL -aALL
      12.指定第 5 塊盤作為全局熱備
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
      13.指定為某個陣列的專用熱備
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
      14.刪除全局熱備
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Rmv -PhysDrv[1:5] -a0
      15.將某塊物理盤下線/上線
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDOffline -PhysDrv [1:4] -a0
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDOnline -PhysDrv [1:4] -a0
      16.查看物理磁盤重建進度
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv [1:5] -a0
      或者以動態可視化文字界面顯示
      #/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ProgDsply -PhysDrv [1:5] -a0
      
      磁帶狀態的變化,從拔盤,到插盤的過程中:
      Device |Normal|Damage|Rebuild|Normal
      Virtual Drive |Optimal|Degraded|Degraded|Optimal
      Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online
  12. 填滿了空格就可以導出了。


文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()