ืžืœืื™ RAID ืฉืœ LSI ื‘-GLPI

ืžืœืื™ RAID ืฉืœ LSI ื‘-GLPI
ื‘ืขื‘ื•ื“ืชื™ ืื ื™ ื—ื•ื•ื” ืœื ืคืขื ืื•ื‘ืกืกื™ื•ืช ืœื’ื‘ื™ ื—ื•ืกืจ ืžื™ื“ืข ืขืœ ื”ืชืฉืชื™ืช, ื•ืขื ืขืœื™ื™ื” ื‘ืžืกืคืจ ื”ืฉืจืชื™ื ื”ืžื•ื’ืฉื™ื ื–ื” ื”ื•ืคืš ืœืขื™ื ื•ื™ื™ื ืฉืœ ืžืžืฉ. ื’ื ื›ืฉื”ื™ื™ืชื™ ืžื ื”ืœ ื‘ืืจื’ื•ื ื™ื ืงื˜ื ื™ื, ืชืžื™ื“ ืจืฆื™ืชื™ ืœื“ืขืช ืžื” ืื™ืคื”, ืื™ืคื” ื–ื” ืžื—ื•ื‘ืจ ืœื—ืฉืžืœ, ืื™ื–ื” ืื ืฉื™ื ืื—ืจืื™ื ืœืื™ื–ื• ื—ื•ืžืจื” ืื• ืฉื™ืจื•ืช, ื•ื”ื›ื™ ื—ืฉื•ื‘, ืœืชืขื“ ืฉื™ื ื•ื™ื™ื ื‘ื›ืœ ื–ื”. ื›ืืฉืจ ืืชื” ืžื’ื™ืข ืœืžืงื•ื ื—ื“ืฉ ื•ื ืชืงืœ ื‘ืื™ืจื•ืข, ื–ืžืŸ ืจื‘ ืžื•ืฉืงืข ื‘ื—ื™ืคื•ืฉ ืื—ืจ ื”ืžื™ื“ืข ื”ื–ื”. ืœืื—ืจ ืžื›ืŸ, ืื ื™ ืื’ื™ื“ ืœืš ืžื” ื”ื™ื™ืชื™ ืฆืจื™ืš ืœื”ืชืžื•ื“ื“ ืขื RuVDS, ื•ืื™ืš ืคืชืจืชื™ ืืช ื”ื‘ืขื™ื” ื”ืžืฆื•ื™ื ืช ื‘ื›ื•ืชืจืช.

ืคืจื”ื™ืกื˜ื•ืจื™ื”

ื›ืžื ื”ืœ ืืจื’ื•ื ื™, ื”ื™ื” ืœื™ ื ื™ืกื™ื•ืŸ ืžื•ืขื˜ ื‘ืขื‘ื•ื“ื” ื‘ืžืจื›ื– ื ืชื•ื ื™ื, ืื‘ืœ ืชืคืกืชื™ ื—ื˜ื•ืฃ ื‘-RackTables. ื–ื” ื”ืจืื” ื‘ื‘ื™ืจื•ืจ ืืช ื”ืžืชืœื” ืขื ื›ืœ ื”ืฉืจืชื™ื, UPS, ืžืชื’ื™ื ื•ื›ืœ ื”ื—ื™ื‘ื•ืจื™ื ื‘ื™ื ื™ื”ื. ืœ-RuVDS ืœื ื”ื™ื™ืชื” ืžืขืจื›ืช ื›ื–ื•, ืืœื ืจืง ืงื‘ืฆื™ ืืงืกืœ/ื ื™ื™ืจ ืขื ืžื™ื“ืข ืขืœ ืฉืจืชื™ื, ื—ืœืง ืžื”ืจื›ื™ื‘ื™ื ืฉืœื”ื, ืžืกืคืจื™ rack ื•ื›ื•'. ืขื ื’ื™ืฉื” ื–ื•, ืงืฉื” ืžืื•ื“ ืœืขืงื•ื‘ ืื—ืจ ืฉื™ื ื•ื™ื™ื ื‘ืจื›ื™ื‘ื™ื ืงื˜ื ื™ื. ืื‘ืœ ื”ื—ื•ืžืจื™ื ื”ืžืชื›ืœื™ื ื”ื—ืฉื•ื‘ื™ื ื•ื”ืžื•ื—ืœืคื™ื ื‘ื™ื•ืชืจ ืขื‘ื•ืจ ืฉืจืชื™ื ื”ื ื“ื™ืกืงื™ื. ื—ืฉื•ื‘ ืžืื•ื“ ืœืฉืžื•ืจ ืขืœ ืžื™ื“ืข ืขื“ื›ื ื™ ืขืœ ืžืฆื‘ ื”ื“ื™ืกืงื™ื ื•ื”ืขืชื•ื“ื” ื”ืืกื˜ืจื˜ื’ื™ืช ืฉืœื”ื. ืื ื›ื•ื ืŸ ื ื›ืฉืœ ืžืžืขืจืš RAID ื•ืื™ื ื• ืžื•ื—ืœืฃ ื‘ืžื”ื™ืจื•ืช, ื”ื“ื‘ืจ ืขืœื•ืœ ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืœื”ื•ื‘ื™ืœ ืœืชื•ืฆืื•ืช ืงื˜ืœื ื™ื•ืช. ืœื›ืŸ ืื ื—ื ื• ื‘ืืžืช ืฆืจื™ื›ื™ื ืžืขืจื›ืช ืฉืขื•ืงื‘ืช ืื—ืจ ืžื™ืงื•ื ื”ื“ื™ืกืงื™ื ื•ืžืฆื‘ื ืขืœ ืžื ืช ืœื”ื‘ื™ืŸ ืžื” ืขืœื•ืœ ืœื”ื™ื•ืช ื—ืกืจ ืœื ื• ื•ืื™ืœื• ื“ื’ืžื™ื ืขืœื™ื ื• ืœืจื›ื•ืฉ.

ืœื”ืฆืœื” ื”ื’ื™ืข GLPI, ืžื•ืฆืจ ืงื•ื“ ืคืชื•ื— ืฉื ื•ืขื“ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžื—ืœืงื•ืช ื”-IT ื•ืœื”ื‘ื™ื ืื•ืชืŸ ืœืื™ื“ื™ืืœื™ื ืฉืœ ITIL. ื‘ื ื•ืกืฃ ืœืžืœืื™ ืฆื™ื•ื“ ื•ื ื™ื”ื•ืœ ืžืชืœื™ื, ื™ืฉ ืœื• ื‘ืกื™ืก ื™ื“ืข, ื“ืกืง ืฉื™ืจื•ืช, ื ื™ื”ื•ืœ ืžืกืžื›ื™ื ื•ืขื•ื“. ืœ-GLPI ื™ืฉ ืชื•ืกืคื™ื ืจื‘ื™ื, ื›ื•ืœืœ FusionInventory ื•-OCS Inventory, ื”ืžืืคืฉืจื™ื ืœืš ืœืืกื•ืฃ ืื•ื˜ื•ืžื˜ื™ืช ืžื™ื“ืข ืขืœ ืžื—ืฉื‘ื™ื ื•ื”ืชืงื ื™ื ืื—ืจื™ื ื‘ืืžืฆืขื•ืช ื”ืชืงื ืช ืกื•ื›ืŸ ื•-SNMP. ืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืขื•ื“ ืขืœ ื”ืชืงื ืช GLPI ื•ืชื•ืกืคื™ื ื‘ืžืืžืจื™ื ืื—ืจื™ื, ื•ื”ื›ื™ ื˜ื•ื‘ - ืชื™ืขื•ื“ ืจืฉืžื™. ืืชื” ื™ื›ื•ืœ ืœื”ืชืงื™ืŸ ืื•ืชื• ืขืœ ื”ืื™ืจื•ื— ืฉืœื ื• ืขืœ ืชื‘ื ื™ืช ืžื•ื›ื ื” ืžื ื•ืจื”.

ืขื ื–ืืช, ืœืื—ืจ ืคืจื™ืกืช ื”ืกื•ื›ืŸ, ื ืคืชื— ืืช ืจื›ื™ื‘ื™ ื”ืžื—ืฉื‘ ื‘-GLPI ื•ื ืจืื” ื–ืืช:

ืžืœืื™ RAID ืฉืœ LSI ื‘-GLPI
ื”ื‘ืขื™ื” ื”ื™ื ืฉืืฃ ืื—ื“ ืžื”ืคืœืื’ื™ื ื™ื ืœื ื™ื›ื•ืœ ืœืจืื•ืช ืžื™ื“ืข ืขืœ ื”ื“ื™ืกืงื™ื ื”ืคื™ื–ื™ื™ื ื‘ืžืขืจื›ื™ื ืฉืœ LSI RAID. ืœืื—ืจ ืฉืจืื™ืชื™ ื›ื™ืฆื“ ื‘ืขื™ื” ื–ื• ื ืคืชืจืช ืขื‘ื•ืจ ื ื™ื˜ื•ืจ ื‘- Zabbix ื‘ืืžืฆืขื•ืช ืกืงืจื™ืคื˜ PowerShell lsi-raid.ps1 ื”ื—ืœื˜ืชื™ ืœื›ืชื•ื‘ ื“ื•ืžื” ื›ื“ื™ ืœื”ืขื‘ื™ืจ ืžื™ื“ืข ืœ-GLPI.
ื ื™ืชืŸ ืœืงื‘ืœ ื ืชื•ื ื™ื ืขืœ ื”ื“ื™ืกืงื™ื ื‘ืžืขืจืš ื‘ืืžืฆืขื•ืช ื›ืœื™ ืขื–ืจ ืžื™ืฆืจืŸ ื”ื‘ืงืจ; ื‘ืžืงืจื” ืฉืœ LSI, ื–ื”ื• StorCLI. ืžืžื ื• ืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ื ืชื•ื ื™ื ื‘ืคื•ืจืžื˜ JSON, ืœื ืชื— ืื•ืชื ื•ืœื”ืขื‘ื™ืจ ืื•ืชื ืœ-GLPI API. ื ืงืฉืจ ืืช ื”ื“ื™ืกืงื™ื ืœืžื—ืฉื‘ื™ื ืฉ-FusionInventory ื›ื‘ืจ ื™ืฆืจื”. ื›ืืฉืจ ื”ื•ื ืžื•ืคืขืœ ืฉื•ื‘, ื”ืกืงืจื™ืคื˜ ื™ืขื“ื›ืŸ ืืช ื”ื ืชื•ื ื™ื ืขืœ ื”ื“ื™ืกืงื™ื ื•ื™ื•ืกื™ืฃ ื—ื“ืฉื™ื. ื”ืกืงืจื™ืคื˜ ืขืฆืžื• Send-RAIDtoGLPI.ps1 ื”ื•ื ื›ืืŸ ื‘-GitHub. ื”ื‘ื ืื ื™ ืื’ื™ื“ ืœืš ืื™ืš ืœื”ืฉืชืžืฉ ื‘ื•.

ืžื” ื™ื”ื™ื” ืฆื•ืจืš

  1. GLPI ื’ืจืกื” 9.5.1 (ื ื‘ื“ืงื” ื‘ื’ืจืกื” ื–ื•)
  2. ืชื•ืกืฃ ืžืœืื™ ืคื™ื•ื–'ืŸ ื•ืกื•ื›ืŸ ืขื‘ื•ืจ Windows
  3. Windows 2012 R2 (ื•ืžืขืœื”) ื›ืžืขืจื›ืช ืžืืจื—ืช, ืื• ื ื™ื”ื•ืœ-VM ืขื ื‘ืงืจ ืžื•ื›ื ืก ืœืชื•ื›ื”, PowerShell ื’ืจืกื” 4 ื•ืžืขืœื”
  4. ืžื•ืชืงืŸ ื“ืจื™ื™ื‘ืจ MegaRAID
  5. ืžื•ื“ื•ืœ ืขื‘ื•ืจ PowerShell - PSGLPI
  6. ื—ืฉื‘ื•ืŸ ื‘-GLPI ืขื ืคืจื•ืคื™ืœ Admin ืœื”ืจืฉืื” ื‘ืืžืฆืขื•ืช API ืฉื ื•ืฆืจ ืขืœ ื™ื“ื™ UserToken ื•-AppToken

ื ืงื•ื“ื” ื—ืฉื•ื‘ื”. ืžืกื™ื‘ื” ื›ืœืฉื”ื™, ืœ-GLPI ื™ืฉ 2 ื™ืฉื•ื™ื•ืช ืฉื•ื ื•ืช ืขื‘ื•ืจ ื“ื’ื ื”ื“ื™ืกืง, ืืš ืื™ืŸ ืžืืคื™ื™ืŸ "ืกื•ื’ ืžื“ื™ื”". ืœื›ืŸ, ื›ื“ื™ ืœื”ืงืœื™ื˜ ืืช ืžืืคื™ื™ื ื™ HDD ื•-SSD, ื”ื—ืœื˜ืชื™ ืœื”ืฉืชืžืฉ ื‘ืจืฉื™ืžื” ื”ื ืคืชื—ืช "ื“ื’ืžื™ ื›ื•ื ื ื™ื ืงืฉื™ื—ื™ื" (front/devicemodel.php?itemtype=DeviceHardDriveModel). ื”ืกืงืจื™ืคื˜ ื—ื™ื™ื‘ ืœื›ืœื•ืœ ืืช ื”ืขืจื›ื™ื ื”ืืœื” ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ GLPI, ืื—ืจืช ื”ื•ื ืœื ื™ื•ื›ืœ ืœื›ืชื•ื‘ ื ืชื•ื ื™ื ืขืœ ื“ื’ื ื”ื“ื™ืกืง. ืœื›ืŸ, ืขืœื™ืš ืœื”ื•ืกื™ืฃ ืชื—ื™ืœื” HDD, ื•ืœืื—ืจ ืžื›ืŸ SSD ืœืจืฉื™ืžื” ื”ืจื™ืงื” ื”ื–ื•, ื›ืš ืฉืžื–ื”ื•ืช ื”ืืœืžื ื˜ื™ื ื”ืœืœื• ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื™ื”ื™ื• 1 ื•-2. ืื ื™ืฉ ืื—ืจื™ื, ืื– ื”ื—ืœืฃ ื‘ืฉื•ืจื” ื–ื• ืฉืœ ื”ืกืงืจื™ืคื˜ Send-RAIDtoGLPI.ps1 ืœืื—ืจ HDD ื•-SSD ื‘ืžืงื•ื 1 ื•-2 ื”ืžื–ื”ื™ื ื”ืชื•ืืžื™ื ืฉืœื”ื:

deviceharddrivemodels_id = switch ($MediaType) { "HDD" { "1" }; "SSD" { "2" }; default { "" } }

ืื ืื™ื ืš ืจื•ืฆื” ืœื”ืชืขืกืง ื‘ื–ื” ืื• ืฉืืชื” ืžืฉืชืžืฉ ื‘ืจืฉื™ืžื” ื”ื ืคืชื—ืช ื”ื–ื• ืื—ืจืช, ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื”ืกื™ืจ ืืช ื”ืฉื•ืจื” ื”ื–ื• ืžื”ืกืงืจื™ืคื˜.

ืืชื” ื’ื ืฆืจื™ืš ืœื”ื•ืกื™ืฃ ืกื˜ื˜ื•ืกื™ื ืขื‘ื•ืจ ื”ื“ื™ืกืงื™ื ื‘-"Element Statuses" (/front/state.php). ื”ื•ืกืคืชื™ ืืช ื”ืกื˜ื˜ื•ืกื™ื "MediaError" (ื”ื™ื™ืชื” ืœืคื—ื•ืช ืฉื’ื™ืืช ื’ื™ืฉื” ืื—ืช ืœื“ื™ืกืง) ื•-"OK", ืฉื•ืจื” ื‘ืกืงืจื™ืคื˜ ืฉื‘ื” ืžื•ืขื‘ืจื™ื ื”ืžื–ื”ื™ื ืฉืœื”ื, "2" ืขื‘ื•ืจ "OK" ื•-"1" ืขื‘ื•ืจ "MediaError":

states_id = switch ($MediaError) { 0 { "2" }; { $_ -gt 0 } { "1" } }

ืกื˜ื˜ื•ืกื™ื ืืœื” ื ื—ื•ืฆื™ื ืžื˜ืขืžื™ ื ื•ื—ื•ืช; ืื ืื™ื ืš ื–ืงื•ืง ืœืžืืคื™ื™ื ื™ื ืืœื”, ืชื•ื›ืœ ื’ื ืœืžื—ื•ืง ืืช ื”ืฉื•ืจื” ื”ื–ื• ืœื—ืœื•ื˜ื™ืŸ.

ื‘ืกืงืจื™ืคื˜ ืขืฆืžื•, ืืœ ืชืฉื›ื— ืœื”ืคื ื•ืช ืืช ื”ืžืฉืชื ื™ื ืœืฉืœืš. $GlpiCreds ื—ื™ื™ื‘ ืœื”ื›ื™ืœ ืืช ื›ืชื•ื‘ืช ื”ืืชืจ ืœืฉืจืช ื”-API ืฉืœ GLPI, UserToken ื•-AppToken.

ืžื” ื™ืฉ ื‘ืชืกืจื™ื˜

ื‘ื’ืœืœ ื ื™ืชื•ื— JSON ืžืกื•ืจื‘ืœ ื•-IFs ืจื™ืงื™ื, ื”ืชืกืจื™ื˜ ืงืฉื” ืœืงืจื™ืื”, ืื– ืืชืืจ ืืช ื”ื”ื™ื’ื™ื•ืŸ ืฉืœื• ื›ืืŸ.

ื›ืืฉืจ ื”ื•ื ืžื•ืคืขืœ ืœืจืืฉื•ื ื” ืขืœ ื”ืžืืจื—, ื”ืกืงืจื™ืคื˜ ืขื•ื‘ืจ ืขืœ ื›ืœ ื”ื‘ืงืจื™ื ื•ืžื—ืคืฉ ื“ื™ืกืงื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ GLPI ืœืคื™ ืžืกืคืจื™ื ืกื™ื“ื•ืจื™ื™ื; ืื ื”ื•ื ืœื ืžื•ืฆื ืื•ืชื•, ื”ื•ื ืžื—ืคืฉ ืืช ื”ื“ื’ื. ืื ื”ื•ื ืœื ืžื•ืฆื ืืช ื”ื“ื’ื, ื”ื•ื ืžื•ืกื™ืฃ ืืช ื“ื’ื ื”ื“ื™ืกืง ื”ื—ื“ืฉ ืœ-GLPI ื•ืžื›ื ื™ืก ืืช ื”ื“ื™ืกืง ื”ื–ื” ืœืžืกื“ ื”ื ืชื•ื ื™ื.

ื‘ื›ืœ ืžืขื‘ืจ ื—ื“ืฉ, ื”ืกืงืจื™ืคื˜ ื™ื ืกื” ืœื–ื”ื•ืช ื“ื™ืกืงื™ื ื—ื“ืฉื™ื, ืื‘ืœ ื”ื•ื ืœื ื™ื•ื“ืข ื›ื™ืฆื“ ืœื”ืกื™ืจ ืืช ื”ื—ืกืจื™ื, ืื– ืชืฆื˜ืจืš ืœืขืฉื•ืช ื–ืืช ื‘ืื•ืคืŸ ื™ื“ื ื™.

ื“ื•ื’ืžื” ืœืคืจื™ืกื”

ืžืื’ืจ ื”ืกืงืจื™ืคื˜ื™ื ืžื›ื™ืœ ืืช ื”ืกืงืจื™ืคื˜ Deploy-Send-RAIDtoGLPI.ps1, ืฉื™ื•ืจื™ื“ ืืจื›ื™ื•ืŸ ZIP ืขื ื”ืงื‘ืฆื™ื ื”ื“ืจื•ืฉื™ื ืžืฉืจืช ื”-GLPI ืฉืœื ื• ื•ื™ืคืจื•ืก ืื•ืชื ืœื›ืœ ืžืืจื—.

ืœืื—ืจ ื”ืขืชืงืช ื”ืงื‘ืฆื™ื, ื”ืกืงืจื™ืคื˜ ื™ืชืงื™ืŸ ืืช ืกื•ื›ืŸ FusionInventory ืฉื™ืคืขืœ ื›ืžืฉื™ืžื” ื™ื•ืžื™ืช ื•ื™ื™ืฆื•ืจ ืืช ืื•ืชื” ืžืฉื™ืžื” ืขื‘ื•ืจ ื”ืกืงืจื™ืคื˜ ืฉืœื ื•. ืœืื—ืจ ื”ื˜ืžืขื” ืžื•ืฆืœื—ืช, ื ื•ื›ืœ ืกื•ืฃ ืกื•ืฃ ืœืจืื•ืช ืืช ื”ื›ื•ื ื ื™ื ื‘ื—ืœืง ื”ืจื›ื™ื‘ื™ื ืฉืœ ื”ืžื—ืฉื‘ ื‘-GLPI.

ืชื•ืฆืื”

ื›ืขืช, ืขืœ ื™ื“ื™ ืžืขื‘ืจ ืœ-GLPI ื‘ืชืคืจื™ื˜ "ื”ื’ื“ืจื•ืช" -> "ืจื›ื™ื‘ื™ื" -> "ื›ื•ื ื ื™ื ืงืฉื™ื—ื™ื", ื ื•ื›ืœ ืœืœื—ื•ืฅ ืขืœ ื“ื’ืžื™ ื”ื›ื•ื ื ื™ื ื•ืœืจืื•ืช ืืช ื”ื›ืžื•ืช ืฉืœื”ื ื›ื“ื™ ืœื”ื‘ื™ืŸ ืžื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืจื›ื•ืฉ.

ืžืœืื™ RAID ืฉืœ LSI ื‘-GLPI
ืžืœืื™ RAID ืฉืœ LSI ื‘-GLPI

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”