Online hierarchical storage manager for linux
1 / 26

  • Uploaded on
  • Presentation posted in: General

ONLINE HIERARCHICAL STORAGE MANAGER FOR LINUX. Ottawa Linux Symposium 2009. Who am I ?. Greg Freemyer CTO and Litigation Triage Solutions Specialist at The Norcross Group Using UNIX since 1983, and have an interest in storage systems HP certified Master SAN Architect

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Online hierarchical storage manager for linux


Ottawa Linux Symposium 2009

Who am i

Who am I ?

  • Greg Freemyer

    • CTO and Litigation Triage Solutions Specialist at The Norcross Group

    • Using UNIX since 1983, and have an interest in storage systems

    • HP certified Master SAN Architect

    • Participate in several kernel mailing lists and try to help out on kernelnewbies

    • I did not write any of OHSM, but I became an advisor to the project after becoming aware of them via the kernelnewbies mailing list

Ohsm team


  • The ohsm team was formed to compete in various university competitions

    • University of Pune, India

  • The team comprises of currently six members

    • Project Mentor- SandeepKumar Sinha, NetApp, India

    • Students - RishiBhushanAgrawal, RohitKumar Sharma, RohitVashist, SnehaHendre, VineetAgarwal

  • Competition results

    • Third Prize at Cognizance’ 09 held at Indian Institute of Technology, Roorkee.

    • Consolation prize at Techkriti’ 09 held at Indian Institute of Technology, Kanpur.

    • First Prize at INNOVATION 2k9 held at Cummins College of Engineering, Pune.

    • Second Prize at Jishin’ 09 held at BhartiVidyapeeth College of Engineering for Women, Pune.

    • Third Prize at Techno Dream’ 09 held at Maharashtra Academy of Engineering, Alandi.

Why ohsm

Why OHSM ?

  • Extremely large cost ratio between low-cost consumer grade storage to high-end SSD class storage

    • Bare SATA ~ $100/TB     Bare Intel SSD ~ $5,000/TB*

  • Enterprises need online relocation of data between storage tiers

  • Enterprise Application Security Audits make moving data from one logical location to another difficult and expensive

  • No open source solution

* Based on $750 for a 160GB Intel SSD on July 9, 2009

What is ohsm

What is OHSM ?

Online hierarchical storage manager for linux




Relocation Policy


Home= 1

Home = 3

Dest = 3

Dest = 0

Dest = 0

Tier 1

Tier 2

Tier 3

Ohsm goals

OHSM Goals ?

  • Leveraging Hybrid aggregates (volumes)

  • Policy based initial placement of files

  • Online relocation of data between tiers

  • Leverage user space, existing ABIs, and existing kernel functionality

  • Minimal Patches to existing filesystem(s)

  • Kernel Module isolating OHSM kernel logic

  • Mainline kernel inclusion

Complexity and challenges

Complexity and Challenges

  • Relocating open files

  • Keeping file system online

  • Ranged block allocation

  • Getting device mapping from device mapper

  • Status of project

    Status of project

    • Prototype implementation on ext2 with both kernel and user space code

    • Design documents and full source available for ext2 prototype available for download

    • ext3 testing in progress

    • ext4 is in the architectural discussion stage

    Prototype architecture

    Prototype Architecture

    High level architecture

    High Level Architecture

    Detailed architecture

    Detailed Architecture

    User space components

    User Space Components


    User Interface



    Device Topology

    Device Mapper Library



    Ohsm kernel driver

    OHSM Kernel Driver

    File system

    File System

    Sample policy file in xml

    Sample policy file in XML


















    Policy file generator allocation

    Policy File Generator : Allocation

    Policy file generator relocation

    Policy File Generator : Relocation

    Policy file generator tier device

    Policy File Generator : Tier Device

    Configuration files

    Configuration Files

    • /etc/ohsm/dtd_alloc.dtd

    • /etc/ohsm/dtd_reloc.dtd

    • /etc/ohsm/dtd_device.dtd

    • /etc/ohsm/ohsm.conf

    User space kernel apis

    User space / Kernel APIs

    • Enable/Disable OHSM

    • ioctlservices

    • Set Allocation and Relocation Policies

    • Set Tier Device Mappings

    • Enable/Disable Relocation Policy ( Based on Relocation rule ID or Rule No)

    • Triggering relocation

    • Get Tier Status  (No. of allocated/free blocks)

    Ext4 implementation

    Ext4 implementation

    • New Architecture design for ext4 supporting per-inodepreallocation and per-CPU locality preallocation

    • Ted Tso's Dec. 8, 2008 ext4 post 1 - 3 new ioctls:

      • Blocks NOT to allocate from – global

      • Preferred Block range to Allocate from -  Inode specific

      • replace blocks with donor blocks - Inodespecific

        1 -

    Ext4 implementation1

    Ext4 Implementation….

    • Akira Fujita Patches



      • EXT4_IOC_MOVE_EXT 3- in 2.6.31-rc series

    • Open/Create Hooks

    • Home and Destination Tier, where to store?

      2 -

      3 -

    What is the ohsm project

    What is the OHSM Project ?

    • Effort to build platform for HSM on Linux

    • Idea came when thinking of hybrid aggregates (SSD + Rotational)

    • Its hosted at and

    • Open to all

    Future of ohsm

    Future of OHSM ?

    • A free Open Source Hierarchical Storage Manager for Linux framework

    • Ext4 support

    • Submission of patches to mainline

    • Allocation based on directories

    • Analytical Engine to trigger relocation

    • Support for extending FS when Logical Volume is extended

    • Allocating inodes from optimum tier based on policy

    Online hierarchical storage manager for linux



  • Login