Development of an API Standard in Interoperable Storage

advertisement
Development of an API
Standard in Interoperable
Storage Networking
Benjamin F. Kuo
Troika Networks, Inc.
Outline

HBA API Overview





Architecture




The HBA Management Problem
Attempts at a Solution
The SNIA HBA API
Development Timeline
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




Software Vendors




Increased interoperability
Increased availability
Simpler administration
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


Management Vendor Proprietary


Interfaces from every management
software vendor
HBA CIM Modeling


Proprietary solutions from every HBA
vendor, if available at all
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
May – HBA API Subgroup
Formed
March – Strawman
2000
April – Requirements

July – 1.0 Draft Frozen
Added to T11 FC-MI Annex
Version 2.0

T11 FC-MI
Sept – 1.0 Final
Now – collecting requirements
2001
HBA API Architecture
ISV
Applications
HBA API
OS-specific
mechanisms are
used to dynamically
load libraries
All supported host
bus adapters are
accessed using a
single interface to
common functions
Common
HBA API
Library
Library N
Library 3
Library 2
Library 1
…
HBA Vendor
Implementation
HBA vendors provide
a common interface
to vendor-specific
implementations.
HBA API Attributes

Adapter Attributes


Adapter Port Attributes


Frames and words sent and received, errors…
FC-3 Management Attributes


WWPN, WWNN, Speed, FC4 Protocols…
Adapter Port Statistics


Mfg, Model, Version, Serial Number, WWNN…
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 multivendor 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
Questions?
Download