310 likes | 669 Views
Extensible Hardware Management Using WS-management and IPMI. Steve Menzies Technical Lead Management Infrastructure stevm @ microsoft.com Microsoft Corporation. Session Outline. Server management IPMI System Support Demo Discovery and communication: IPMI BMC Device
E N D
Extensible Hardware Management Using WS-management and IPMI Steve Menzies Technical Lead Management Infrastructurestevm @ microsoft.com Microsoft Corporation
Session Outline • Server management • IPMI System Support • Demo • Discovery and communication: IPMI BMC Device • Management responsibilities: Operating system/IPMI • Setup: Windows Server 2003 R2 and Windows codenamed “Longhorn” • Asks: Longhorn device discovery and Logo requirements
Session Goals • Attendees should leave this session with the following: • A better understanding of Windows hardware management architecture • Knowledge of where to find resources for the IPMI driver and IPMI hardware management model • Microsoft will benefit from this session in the following ways: • We will have broader community understanding of our hardware management approach • Improve the reliability of the IPMI device driver
New Server Management Features • Hardware: IPMI Service Processor Management • Industry-wide support for Service Processor management • Improves end-to-end reliability via monitoring and fault correction at both ends of system stack • Features • Hardware Status Monitoring • Event Logging • Event Filter and Action management • Power Control • Boot Profile Management • Chassis Management • Remote Access Management
New Server Management Features (con’t) • Software stack and hardware stack take consistent approach to correcting problems • CIM standard hardware profiles support • WSMAN exposes standard hardware profiles using In-Band access to IPMI-compliant BMC • Check session “Using Web Services for Managing Heterogeneous Datacenter” in Directions for Server - Flexibility and Form Factors
Terms • Service Processor: A embedded system processor used to monitor and control a system independently of the operating system. Provides redundant hardware platform monitoring and control. • BMC: Base board management Controller. Same as Service Processor. • IPMI: Intelligent Peripheral Management Interface • In-Band: Access to Hardware Management via Operating System mechanism • Out-Of-Band: Access to Hardware Management via Service Processor
Windows Hardware Management Stack • CIM Hardware Profile support • Windows includes WMI Provider and WDM Driver to expose IPMI data • CIM Hardware profile is not limited to IPMI • IPMI Driver exposes WMI interface to access driver functions • IPMI Provider exposes CIM Hardware profile schema • WSMAN is Microsoft strategic management access protocol and data representation
Architecture Provided by: Management App Wmi Service Wsman Service Microsoft ISV Wsman Api OEM Http Api Http Stack Wmi Host OEM Provider WDM Provider IPMI Provider IPMI Driver IPMI BMC Http Stack Wsman Stack
Implementation Roadmap • IPMI Features – Product inclusion milestones • Windows Server 2003 R2 • Beta 1: December 8th 2004 • Beta 2 • Longhorn • WinHec IDW: Now – April 2005 • Beta 1
IPMI Driver Interface • IPMI Device Driver exposes driver functions via WMI interfaces • Exposes a single instrumentation class, Microsoft_IPMI • IPMI Device Driver does not expose WMI event classes • API • Class is exposed via user mode WMI instrumentation interface • Class is exposed via kernel mode WMI instrumentation interface • API is scriptable via user mode WMI infrastructure • RequestResponse, RequestResponseEx and SMS_Attention methods
IPMI Driver API Drill Down // Send IPMI Command Request/Response void RequestResponse( uint8 NetworkFunction, uint8 Lun, uint8 ResponderAddress, uint8 Command, uint32 RequestDataSize, uint8 RequestData[], uint8 CompletionCode, uint32 ResponseDataSize, uint8 ResponseData[] );
IPMI Driver API – SMS_ATTENTION // Get KCS Status Register and SMS_ATTN flag void SMS_Attention ( boolean AttentionSet , uint8 StatusRegisterValue );
IPMI Driver Sample - VB script - Add SEL record ‘Get the IPMI driver instance so that we can communicate with the BMC. set osvc = getobject("winmgmts:root\wmi") set oclass = osvc.get("microsoft_ipmi") for each oinstance in osvc.instancesof("microsoft_ipmi") set oipmi = oinstance next ‘Format the IPMI command request set oinparams = oclass.methods_("requestresponse").inparameters oinparams.networkfunction = 10 oinparams.lun = 0 oinparams.responderaddress = 32 oinparams.command = 68 oinparams.requestdatasize = 16 oinparams.requestdata = array(0,0,2,0,0,0,0,&h41&,0,4,&h20&,0,&h6f&,1,&hff&,&hff&) ‘Call the driver set outparams = oipmi.execmethod_("requestresponse",oinparams)
System Interface Support • Device Discovery • SMBIOS Type 38 record • Device System Interface • KCS • No support for interrupts • Device Configuration • Root enumerated device, not PnP
IPMI Driver Extensibility • Microsoft IPMI driver supports limited IPMI BMC I/O system interfaces, KCS, no IRQ • OEM drivers may expose additional interfaces, BT, SMIC, SSIF • OEM Driver must expose existing IPMI WDM interface so that existing components continue to function • IPMI driver is root enumerated device • Microsoft IPMI driver device must be removed prior to OEM device installation • Undefined system behavior if both drivers attempt to access system interface I/O resources
IPMI Driver instrumentation – Event Log Records • IPMI Driver adds SEL event records to monitor operating system transitions • Shutdown event • Bug Check event • Enables post-run OOB diagnostics
IPMI Provider • IPMI Provider implements DMTF hardware management profiles • Standard schema that expresses common characteristics for each class of hardware device • Relationships between devices and sensors such of voltages, temperature, etc. • Exposes the configuration of a Service Processor, such as management protocol endpoints, security profiles, etc. • The IPMI CIM profiles is an evolving standard
IPMI Provider in R2 • Profile classes • ComputerSystem • AdminDomain • SystemSpecificCollection • RecordLog • LogRecord • Sensor • NumericSensor
Profile Classes • All class implementations support instance enumerating • The following class supports method execution: • RecordLog • ClearLog method – Clear all records from the SEL • The following class supports instance update: • NumericSensor • UpperNonCriticalThreshold property • LowerNonCriticalThreshold property
IPMI Provider Interface • Model • IPMI Provider exposes hardware profiles via WMI interfaces • Schema is scriptable via WMI infrastructure • Uses IPMI Driver as source of IPMI information • Implements standard IPMI CIM Profiles
IPMI Provider – Model Extension • Microsoft will extend the set of hardware profiles as the IPMI forum makes each profile mapping available • OEMs can extend, using standard schema modeling techniques • Creation of new classes • Refinement • Association
IPMI OEM Support Options • Extend the standard schema • Retain proprietary command set and use existing Microsoft driver • Do publicly expose IPMI command extensions via standard model extensions • Work with IPMI forum to extend the standard command set to incorporate extensions • Work with the DMTF to increase the coverage of the standard hardware model • Allow third party vendors to utilize standard and extensibility model in a transparent manner • Increase the breadth of support for systems management for your hardware platform • Proprietary schema • Retain proprietary command set and use existing Microsoft driver • Do not publicly expose IPMI command extensions via standard model extensions • Provide proprietary end to end management applications to take advantage of extensions
Demo • Task Manager extended to expose CPU temperature • Each processor graphic in the Processor pane is extended to show the CPU temperature
BMC Discovery and Communication in R2 • IPMI driver supports device discovery via SMBIOS Type 38 record • A number of systems that support BMC devices do not expose Type 38 record • Microsoft has not discovered any devices that support ACPI SPMI table or ACPI device objects • Windows Server 2003 R2 Hardware Management feature requires SMBIOS Type 38 records, BIOS engineers should add Type 38 record if they wish Microsoft support for their devices
BMC Discovery and Communication in Longhorn • Longhorn IPMI feature will require ACPI device object support • OEM driver must support existing IPMI driver class “Microsoft_IPMI” • BIOS engineers should expose the _OSI method • Allows the operating system to inform the BIOS of the OS version • BIOS engineers should check if the OS version is “Windows Longhorn” and when present expose the ACPI device object
Management Responsibilities – OS vs IPMI • Microsoft views the management responsibilities of the software / hardware stack using a strict ordering • Software stack • When present, should take responsibility for all system monitoring and maintenance • Implies that a monitoring application should perform system restart, watch dog restart, etc. at the software layer • Allows the operating system to maintain data consistency • Hardware stack • Takes over when the software stack is either no longer functioning or is simply not present • Monitoring application needs to decide availability of the system as a whole and decide which layer should be used to resolve system issues
Setup - Windows Server 2003 R2 and Longhorn • Windows Server 2003 R2 • IPMI Provider and Driver are part of the “Hardware Management” Component of the “Management and Monitoring Tools”. The component selection is accessible from the Control Panel “Add or Remove Programs” / “Add/Remove Windows Components” tool. • The presence of the Windows Server 2003 R2 and “Hardware Management” component can be detected by checking the Windows Registry • Longhorn • For Beta 1 the IPMI Provider and Driver are standard components of the Server SKUs only • For RTM the IPMI provider and Driver will be optional components of the Server SKUs only
Call To Action • Interoperate with the Windows PNP device discovery mechanism, register the IPMI BMC device with the device model in ACPI. Continue support for SMBIOS and ACPI SPMI. • Software should leverage standard hardware model for greatest level of interoperability • Extensibility decision based on business model • Plan supporting WS-Management stack in your BMC
Community Resources • Community Sites • http://www.microsoft.com/communities/default.mspx • List of Newsgroups • http://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx • Attend a free chat or webcast • http://www.microsoft.com/communities/chats/default.mspx • http://www.microsoft.com/seminar/events/webcasts/default.mspx • Locate a local user group(s) • http://www.microsoft.com/communities/usergroups/default.mspx • Non-Microsoft Community Sites • http://www.microsoft.com/communities/related/default.mspx
Additional Resources • Mail Address • Web Resources: • Whitepapers: http://www.microsoft.com/technet/scriptcenter/preview/wsm/intro.mspx • Related Sessions • Directions for Server - Flexibility and Form Factors - “Using Web Services for Managing Heterogeneous Datacenter “ WSMgmt-f @ microsoft.com