240 likes | 422 Views
Development of an API Standard in Interoperable Storage Networking. Benjamin F. Kuo Troika Networks, Inc. Outline. HBA API Overview The HBA Management Problem Attempts at a Solution The SNIA HBA API Development Timeline Architecture API Attributes API Functions More information
E N D
Development of an API Standard in Interoperable Storage Networking Benjamin F. Kuo Troika Networks, Inc.
Outline • HBA API Overview • The HBA Management Problem • Attempts at a Solution • The SNIA HBA API • Development Timeline • Architecture • API Attributes • API Functions • More information • Conclusion
Fibre Channel Network Management Station LAN Servers With HBAs SAN SAN Infrastructure Storage
The Host Bus Adapter: Critical Enabler to Storage Networking • Component to connect systems and storage over Fibre Channel • Consists of hardware, firmware, drivers • Located on host system, RAID controllers, storage devices • Supports multiple protocols: • FCP-SCSI • IPFC • FC-VI
Need for Managing the HBA • Information about HBA configuration and operational parameters • Information about local port properties • Visibility into the list of discovered network devices, WWN and properties • Ability to correlate SCSI mappings to Fibre Channel network addresses • Access to Fibre Channel network services
The HBA Management Problem • “The HBA is Unmanageable” • Multiple vendors • Multiple platforms • Lack of standards • Lack of industry agreement • No consistency between vendors • Result • Multiple conflicting attempts at a solution
Benefits of a Solution • Users • Increased interoperability • Increased availability • Simpler administration • Software Vendors • Reduced development cycle • Broader applicability to hardware • Wider market • FC/SAN Industry • Accelerate adoption of FC equipment • Enables new applications to grow the market
Early Attempts at a Solution • HBA Vendor Proprietary • Proprietary solutions from every HBA vendor, if available at all • Management Vendor Proprietary • Interfaces from every management software vendor • HBA CIM Modeling • Not appropriate at an operational level • MIB Definitions • Not appropriate for HBA
Solution: The SNIA HBA API • Broad, industry driven initiative • Common HBA information definition • C-Level library interface • Platform independent • Vendor independent • Interoperable • Across vendors • “In the box”
API Development Timeline • Version 1.0 • Version 2.0 • Now – collecting requirements May – HBA API Subgroup Formed T11 FC-MI Sept – 1.0 Final March – Strawman 2000 2001 July – 1.0 Draft Frozen Added to T11 FC-MI Annex April – Requirements
HBA API Architecture ISV Applications HBA API All supported host bus adapters are accessed using a single interface to common functions OS-specific mechanisms are used to dynamically load libraries Common HBA API Library HBA Vendor Implementation Library 1 Library 2 Library 3 Library N … HBA vendors provide a common interface to vendor-specific implementations.
HBA API Attributes • Adapter Attributes • Mfg, Model, Version, Serial Number, WWNN… • Adapter Port Attributes • WWPN, WWNN, Speed, FC4 Protocols… • Adapter Port Statistics • Frames and words sent and received, errors… • FC-3 Management Attributes • RNID • Port FCP Attributes • Mapping of WWN to OS SCSI Bus, Target, LUN
HBA API Function Calls • General Functions • Information Functions • FC-3 Management Features • FCP Information Functions • Control Functions
General Functions • A single application interface that can manage multiple HBA vendors adapters, even in the same machine. • Manages the loading of appropriate HBA vendor specific libraries • Identifies installed adapters and their names
Information Functions • Reports details on installed adapters • Manufacturer, driver and firmware versions, model numbers… • Fibre Channel Port and Node World Wide Names • Traffic statistics for Adapter Ports • Frames sent/received, errors, etc…
FC-3 Management Functions • Allows applications to directly query fibre channel switch services • Name and management servers • Allows setting and querying of end-node information • RNID
FCP Information Functions • Reports information about what an Operating System knows about SCSI bus and target information for a given LUN (logical device), as well SCSI LUN to FCP LUN bindings. • SCSI Inquiry, Report LUNs, Read Capacity
Control Functions • Provides facilities for reading updated (network) information known by an adapter as well as functions like resetting HBA statistics counters.
Example of HBA API Usage Get the list of adapters… number_of_adapters = HBA_GetNumberOfAdapters(); for (i = 0; i < number_of_adapters; i++) { status = HBA_GetAdapterName(i, &adaptername); } Open an adapter… adapterhandle = HBA_OpenAdapter(adaptername); Call HBA function to retrieve information… status = HBA_GetAdapterAttributes(adapterhandle, &adapterattributes); printf("Manufacturer is %s\r\n", adapterattributes.Manufacturer);
HBA API Documents Available • HBA API Specification • Sample code for libraries and applications • Common HBA API Library for multi-vendor loading support • Vendor-supplied libraries
Conclusion • Broad-based, industry supported standard for managing host bus adapters • In early availability across multiple vendors • Critical enabler to managing storage networks • Increases storage network interoperability, reliability, usefulness
More information • SNW Interoperability Demo • SNIA Fibre Channel Working Group • http://www.snia.org • FCWG Email Reflector • T11 FC-MI • http://www.t11.org