Enterprise Storage OS
{{Orphan|date=October 2017}}
{{Infobox OS
| name = Enterprise Storage OS (ESOS)
| caption = An open source, high performance, block-level storage platform.
| author = Marc A. Smith
| released = {{Start date and age|df=yes|2012|01}}
| latest release version = 4.1.8
| latest release date = {{Start date and age|df=yes|2023|05|13}}{{cite web|title=ESOS branches from GitHub|url=http://download.esos-project.com/?prefix=packages/4.x.x/}}
| latest preview version =
| latest preview date =
| license = Apache License, Version 2.0
| website = {{URL|https://www.esos-project.com/}}
}}
Enterprise Storage OS, also known as ESOS, is a Linux distribution that serves as a block-level storage server in a storage area network (SAN).{{cite web |author=DataON Storage |title=Mott College Slashed Storage Costs with DataON Storage |url=http://www.dataonstorage.com/news-release/51-dtaon-news/302-mott-college-slashed-storage-costs-with-dataon-storage.html |date=5 February 2015 |access-date=7 February 2015 |archive-url=https://web.archive.org/web/20150218220457/http://www.dataonstorage.com/news-release/51-dtaon-news/302-mott-college-slashed-storage-costs-with-dataon-storage.html |archive-date=18 February 2015 |url-status=dead }} ESOS is composed of open-source software projects that are required for a Linux distribution and several proprietary build and install time options.{{cite web|author=Marc Smith |title=Implementing Enterprise Disk Arrays Using Open Source Software |url=http://www.merit.edu/mmc/pdf/2012_Smith.pdf |date=24 May 2012 |url-status=dead |archiveurl=https://web.archive.org/web/20140801135810/http://www.merit.edu/mmc/pdf/2012_Smith.pdf |archivedate=2014-08-01 }} The SCST project is the core component of ESOS; it provides the back-end storage functionality.{{cite web |author=Marc Smith |title=Building & Using a Highly Available ESOS Disk Array |url=http://marcitland.blogspot.com/2013/04/building-using-highly-available-esos.html |date=16 April 2013}}
Platform
ESOS is a niche Linux distribution. ESOS is intended 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.{{cite web|author=Marc Smith |title=Virtual Desktops - From Pilot to Reality and the Trip We Made |url=http://labman.unlv.edu/wp-content/uploads/2014/06/LabMan_2014_VDI.ppt |date=3 June 2014 }}{{dead link|date=December 2016 |bot=InternetArchiveBot |fix-attempted=yes }} Configuration files and logs are periodically written to a USB flash drive (persistent storage) or by user intervention when configuration changes occur.{{cite web|author=Marc Smith |title=Building and Using Open Source Storage Solutions |url=http://www.merit.edu/mmc/pdf/2013_Smith_Storage.pdf |date=15 May 2013 |url-status=dead |archiveurl=https://web.archive.org/web/20140731001912/http://www.merit.edu/mmc/pdf/2013_Smith_Storage.pdf |archivedate=2014-07-31 }}
Interface
File:Esos ss main 20150111.png
ESOS utilizes a text-based user interface (TUI) for system management, network configuration, and storage provisioning functions.{{cite web |author=Marc Smith |title=ESOS Update (8/11/2012) |url=https://groups.google.com/d/msg/esos-users/mnjWY8hURg0/goFdSOO6cWQJ |date=11 August 2012}} The TUI used in ESOS is written in C; the ncurses and CDK libraries are used.
Front-end connectivity
ESOS supports connectivity on several different front-end storage area network technologies.{{cite web |author=”HA Guru” |title=Linux as an Open Storage Server |url=http://www.ha-guru.com/linux_open_storage_serve/ |date=12 February 2013}} These core functions are supported by SCST and third-party target drivers that vendors have developed for SCST:{{cite web |author=Marc Smith |title=ESOS Project Update (July 2014)
|url=https://groups.google.com/d/msg/esos-users/L4iIWUZsfEY/eXwEdugWF7wJ |date=24 July 2014}}
- 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){{cite web |author=Avago Technologies |title=Mott Community College Increases Storage Performance with High-Availability Solution |url=http://www.lsi.com/downloads/Public/Syncro%20Shared%20Storage/docs/cs-storage-mott-college.pdf |date=15 December 2014}}
- InfiniBand: Mellanox, QLogic, and Chelsio IB HCAs, among others, are supported{{cite web |author=”Monster Network!” |title=Phase 10 is complete. |url=http://monsternetwork.wordpress.com/category/storage-area-networking/infiniband/ |date=16 March 2014}}
- Fibre Channel over Ethernet (FCoE): A software 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.{{cite web |author=Marc Smith |title=Open Storage: Dual-Controller OSS Disk Array |url=http://marcitland.blogspot.com/2014/07/open-storage-dual-controller-oss-disk.html |date=14 July 2014}}
- iSCSI: Will work over any IP communication method supported by ESOS (Ethernet, IPoIB).
Back-end storage
Open-source software projects and commodity computing server hardware 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 facilitate replication between ESOS storage servers, and/or to create redundant ESOS storage server clusters.
- Virtual Tape Library (VTL) support by the mhVTL project.
- Three SSD caching solutions: EnhanceIO, bcache, and dm-cache (lvmcache).
- Other block storage functions include the automated tiered storage via the BTIER project and Ceph RBD mapping.
Installation
ESOS differs from popular Linux distributions in that there is no bootable ISO image provided. ESOS consists of one archive file that is extracted on a local computer running a supported operating system (Linux, Windows, or Mac OS X). The local computer is only used for installing the ESOS image to a USB flash drive (or other removable media device).{{cite web |author=Marc Smith |title=ESOS Project Status & Updates (March 2013) |url=https://groups.google.com/d/msg/esos-users/WFz_nV32NVM/WD5dwV58ygMJ |date=10 March 2013}} Users of ESOS extract the archive and execute the ESOS install script. The ESOS installer script prompts the user for the installation target device, writes the image, and allow users to integrate proprietary CLI RAID controller utilities into the ESOS USB flash drive.
License Change
On January 16, 2019 (commit bfb8c55) the license of the ESOS project was changed from GNU General Public License (GPL) to Apache License, Version 2.0.
References
{{reflist}}
External links
- [http://www.esos-project.com/ Official Website]
- [http://scst.sourceforge.net/ SCST Project] Generic SCSI Target Subsystem for Linux
Category:X86-64 Linux distributions