Enterprise Storage OS
This article, Enterprise Storage OS, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |
Original author(s) | Marc A. Smith |
---|---|
Initial release | January 2012 |
Preview release | trunk/r740
/ January 5, 2015 |
Type | Linux distribution |
License | GNU GPL v3 |
Website | www |
Enterprise Storage OS, also known as ESOS, is a GPL licensed “appliance like” Linux distribution that serves as a block-level storage platform in a Storage Area Network. Performance, usability, and lightness are key design concepts for the ESOS project. ESOS is made up of many OSS projects that are vital for a Linux distribution and several proprietary build/install time options that enhance RAID / Storage Area Network features.[1] The SCST project is the core component of ESOS that provides the back-end storage to Storage Area Network functionality.[2]
Platform
ESOS is a written-from-scratch Linux distribution with no relation to any other Linux distro. It has been designed to run on a USB flash drive, or some other type of removable media such as Secure Digital, CompactFlash, etc. ESOS is a memory resident operating system: At boot, a tmpfs file system is initialized as the root file system and the USB flash drive image is copied onto this file system.[3] Configuration files and logs are periodically written to the USB flash drive (persistent storage) or by user intervention when configuration changes occur.[4]
Interface

As an alternative to the typical web interface found in other software appliance projects (NAS, firewall, etc.) ESOS utilizes a Text-based User Interface (TUI) as the UI for system management, network configuration, and storage provisioning functions.[5] The TUI used in ESOS is written in C and based on ncurses, and CDK which provides a library of widgets.
Front-End Connectivity
ESOS supports connectivity on several different front-end Storage Area Network technologies[6]. These core features are supported by SCST and third-party target drivers that vendors have developed for SCST[7]:
- Fibre Channel: QLogic HBAs are natively supported, and Emulex OneConnect FC HBAs can be supported by a build time option (requiring the Emulex OCS SDK).
- InfiniBand: Mellanox, QLogic, and Chelsio IB HCAs, among others, are supported[8].
- Fibre Channel over Ethernet (FCoE): A software FCoE target implementation supports NICs with DCB/DCBX capabilities, or build time options exist for supporting Emulex OneConnect FCoE CNAs (requires the Emulex OCS SDK) and Chelsio Uwire FCoE CNAs.[9]
- iSCSI: Will work over any IP communication method supported by ESOS (Ethernet, IPoIB).
Back-End Storage
Many projects are used on the back-end side to provide the underlying storage utilized by the front-end target interfaces:
- Btrfs, XFS, and ext4 are all supported file systems for virtual disk files used with the “vdisk_fileio” device handler.
- Popular, modern hardware RAID controllers from LSI, Adaptec, HP, and Areca are also supported in ESOS, including install-time CLI tool integration for these adapters.
- Clustering and high-availability support is made possible by the Pacemaker and Corosync cluster software stack.
- DRBD is fully supported to facilitation replication between ESOS storage servers, and/or to create redundant ESOS storage server clusters.
- Virtual Tape Library (VTL) support by the mhVTL project.
- Several different SSD caching solutions: EnhanceIO, bcache, and dm-cache (lvmcache).
- Other block storage features include the BTIER project and Ceph RBD mapping.
Installation
ESOS differs from a typical Linux distribution in that there is no bootable ISO provided. Instead, there is one package/archive that is to be extracted on a local machine running a supported operating system (Linux, Windows, or Mac OS X). This local machine is only used for installing the ESOS image to a flash drive (removable media device).[10] Inside the extracted archive, the “install.sh” script is used for Linux and Mac OS X platforms, and “install.vbs” for Windows. The installer scripts will prompt users for the installation target device, write the image, and allow users to integrate proprietary CLI RAID controller utilities into the newly created ESOS boot device.
References
- ^ Marc Smith (24 May 2012). "Implementing Enterprise Disk Arrays Using Open Source Software" (PDF).
- ^ Marc Smith (16 April 2013). "Building & Using a Highly Available ESOS Disk Array".
- ^ Marc Smith (3 June 2014). "Virtual Desktops - From Pilot to Reality and the Trip We Made".
- ^ Marc Smith (15 May 2013). "Building and Using Open Source Storage Solutions" (PDF).
- ^ Marc Smith (11 August 2012). "ESOS Update (8/11/2012)".
- ^ ”HA Guru” (12 February 2013). "Linux as an Open Storage Server".
- ^ Marc Smith (24 July 2014). "ESOS Project Update (July 2014)".
- ^ ”Monster Network!” (16 March 2014). "Phase 10 is complete".
- ^ Marc Smith (14 July 2014). "Open Storage: Dual-Controller OSS Disk Array".
- ^ Marc Smith (10 March 2013). "ESOS Project Status & Updates (March 2013)".
External Links
- Official Website
- SCST Project Generic SCSI Target Subsystem for Linux
This article, Enterprise Storage OS, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |