extensible hardware management using ws-management and ipmi steve menzies technical lead management...
TRANSCRIPT
Extensible Hardware Management Using WS-management and IPMI
Steve MenziesTechnical LeadManagement Infrastructurestevm @ microsoft.comMicrosoft Corporation
Session OutlineSession OutlineServer 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 GoalsSession 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 New Server Management Features
Hardware: IPMI Service Processor ManagementIndustry-wide support for Service Processor management
Improves end-to-end reliability via monitoring and fault correction at both ends of system stack
FeaturesHardware 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)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
TermsTerms
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 StackWindows Hardware Management Stack
CIM Hardware Profile supportWindows 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
ArchitectureArchitecture
Provided by:
Microsoft
ISV
OEM
IPMI BMC
Wsman Service
Wsman Api
Management App
Http Api Http Stack
Wmi Service
Wmi Host
IPMI Driver
OEM Provider
IPMI Provider
WDM Provider
Http
Stack
Wsm
an
Stack
Implementation RoadmapImplementation Roadmap
IPMI Features – Product inclusion milestones
Windows Server 2003 R2Beta 1: December 8th 2004
Beta 2
Longhorn WinHec IDW: Now – April 2005
Beta 1
IPMI Driver InterfaceIPMI Driver Interface
IPMI Device Driver exposes driver functions via WMI interfacesExposes a single instrumentation class, Microsoft_IPMI IPMI Device Driver does not expose WMI event classesAPI
Class is exposed via user mode WMI instrumentation interfaceClass is exposed via kernel mode WMI instrumentation interfaceAPI is scriptable via user mode WMI infrastructureRequestResponse, RequestResponseEx and SMS_Attention methods
IPMI Driver API Drill DownIPMI 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_ATTENTIONIPMI 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 recordIPMI 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 = oinstancenext
‘Format the IPMI command requestset oinparams = oclass.methods_("requestresponse").inparametersoinparams.networkfunction = 10oinparams.lun = 0oinparams.responderaddress = 32oinparams.command = 68oinparams.requestdatasize = 16oinparams.requestdata =
array(0,0,2,0,0,0,0,&h41&,0,4,&h20&,0,&h6f&,1,&hff&,&hff&)
‘Call the driverset outparams = oipmi.execmethod_("requestresponse",oinparams)
System Interface SupportSystem Interface Support
Device DiscoverySMBIOS Type 38 record
Device System Interface KCS
No support for interrupts
Device ConfigurationRoot enumerated device, not PnP
IPMI Driver ExtensibilityIPMI 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 deviceMicrosoft 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 RecordsIPMI 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 ProviderIPMI 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 R2IPMI Provider in R2
Profile classesComputerSystem
AdminDomain
SystemSpecificCollection
RecordLog
LogRecord
Sensor
NumericSensor
Profile ClassesProfile 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 InterfaceIPMI Provider Interface
ModelIPMI 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 ExtensionIPMI 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 OptionsIPMI OEM Support Options
Extend the standard schemaRetain proprietary command set and use existing Microsoft driverDo publicly expose IPMI command extensions via standard model extensionsWork with IPMI forum to extend the standard command set to incorporate extensionsWork with the DMTF to increase the coverage of the standard hardware modelAllow third party vendors to utilize standard and extensibility model in a transparent mannerIncrease the breadth of support for systems management for your hardware platform
Proprietary schemaRetain proprietary command set and use existing Microsoft driver Do not publicly expose IPMI command extensions via standard model extensionsProvide proprietary end to end management applications to take advantage of extensions
DemoDemo
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 R2BMC 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 LonghornBMC 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 Management Responsibilities – OS vs IPMI
Microsoft views the management responsibilities of the software / hardware stack using a strict ordering
Software stackWhen 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 LonghornSetup - 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
LonghornFor 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 ActionCall 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 ResourcesCommunity ResourcesCommunity Sites
http://www.microsoft.com/communities/default.mspx
List of Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx
Attend a free chat or webcasthttp://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 Siteshttp://www.microsoft.com/communities/related/default.mspx
Additional ResourcesAdditional Resources
Mail Address
Web Resources:Whitepapers: http://www.microsoft.com/technet/scriptcenter/preview/wsm/intro.mspx
Related SessionsDirections for Server - Flexibility and Form Factors - “Using Web Services for Managing Heterogeneous Datacenter “
WSMgmt-f @ microsoft.com