IBM Israel
Skip to main content
 
Search IBM Research
   Home  |  Products & services  |  Support & downloads  |  My account
Select a Country Select a country
IBM Research Home IBM Research Home
IBM Haifa Labs Homepage IBM Haifa Labs Home

Object Store

Storage Research
Project Homepage
 ·Overview
 ·Motivation
 ·ObjectStone
 ·OSD Initiator
 ·OSD Simulator for Linux
 ·Interoperability
 ·Related Projects
 ·Publications
 ·Contact Information
Feedback


Object Store
  IBM Object Storage Device Simulator for Linux

A reference implementation of an object-based storage device that is compliant with the T10-OSD standard specification. Available at: http://www.alphaworks.ibm.com/tech/osdsim.

Features

  • Execution of OSD commands arriving from an iSCSI initiator in the T10-OSD protocol format. Commands may arrive from several initiators (each on its own iSCSI sessions) but are handled one at a time.
  • Support for customer data and meta data transfer simultaneously on a single command.
  • Support for data transfer of up to 900 KB and metadata transfer up to 64 KB on a single command.
  • Commands supported are: CREATE,CREATE PARTITION,GET ATTRIBUTES,LIST, REMOVE, REMOVE PARTITION, READ, WRITE, CLEAR, FORMAT, SET_KEY, TEST UNIT READY, INQUIRY, REPOR_LUNS.
  • Metadata transfer is done using the OSD attribute list format, enabling transfer of multiple attributes within a single command. Each transferred attribute can be up to 1000 bytes long.
  • Supporting all standard attributes' behavior except for collections attributes.
  • Support for up to 10,000 partitions, each holding up to 10,000 objects at a time.
  • The following OSD Security methods are supported: NOSEC, CAPKEY (excluding the SET MASTER KEY command).

Implementation

The OSD Simulator is an implementation of an object-based storage device. It functions as a reference implementation compliant with the T10-OSD standard specification. The protocol is implemented over iSCSI (SCSI over IP). The simulator is a Linux user mode application and was tested with the open-source OSD initiator for Linux. This simulator uses the local file system to store objects: Partitions are translated to directories and user objects to files. The simulator uses GDBM (libgdbm, which is a GNU library) to store attributes.

IBM OSD Simulator for Linux is a simple implementation in the sense that it does not support concurrent execution of commands (The simulator handles commands in a FIFO manner) and it lacks performance guarantees.

IBM OSD Simulator for Linux consists of three layers:
  • An iSCSI target layer supporting SCSI requests with extended CDB as well as bi-directional data transfers.
  • An SCSI-OSD layer implementing the T10-OSD protocol including CAPKEY security method.
  • A simple device simulator that uses the local file system to store data and a local GDBM database to store objects' metadata.

Unsupported features

  • OSD collections.
  • OSD commands that are not mentioned above.
  • "CREATE" command supports creation of only one object in a single command.
  • Running of several simulators from the same directory.
  • Recovery from failure or shutdown.
  • CMDRSP and ALLDATA security methods (as defined by the OSD standard).


 

  About IBM  |  Privacy  |  Legal  |  Contact