Coder Social home page Coder Social logo

ljlu1504 / linstor-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from linbit/linstor-server

0.0 0.0 0.0 22.75 MB

High Performance Software-Defined Block Storage for container, cloud and virtualisation. Fully integrated with Docker, Kubernetes, Openstack, Proxmox etc.

Home Page: https://docs.linbit.com/docs/linstor-guide/

License: GNU General Public License v3.0

Shell 0.03% Python 0.12% C 0.09% Java 99.69% Makefile 0.06%

linstor-server's Introduction

Open Source

Open Source GPLv3 License Slack Channel Support Active GitHub Release GitHub Commit

LINSTOR is a SODA ECO Project

What is LINSTOR®

LINSTOR® developed by LINBIT, is a software that manages replicated volumes across a group of machines. With native integration to Kubernetes, LINSTOR makes building, running, and controlling block storage simple. LINSTOR® is open-source software designed to manage block storage devices for large Linux server clusters. It’s used to provide persistent Linux block storage for cloudnative and hypervisor environments.

Historically LINSTOR started as a resource-file generator for DRBD® which conveniently also created LVM/ZFS volumes. By time LINSTOR steadily grew and got new features and drivers in both directions, south-bound like snapshots, LUKS, dm-cache, dm-writecache or nvme, and north-bound drivers for Kubernetes, Openstack, Open Nebula, Openshift, VMware.

How it works

LINSTOR system consists of multiple server and client components. A LINSTOR controller manages the configuration of the LINSTOR cluster and all of its managed storage resources. The LINSTOR satellite component manages creation, modification and deletion of storage resources on each node that provides or uses storage resources managed by LINSTOR.

The storage system can be managed by directly using a command line utility to interact with the active LINSTOR controller. Alternatively, users may integrate the LINSTOR system into the storage architecture of other software systems, such as Kubernetes. All communication between LINSTOR components uses LINSTOR’s own network protocol, based on TCP/IP network connections.

Features

  • Open Source

  • Main Features

    • Provides replicated block storage and persistent container storage
    • Separation of Data & Control plane
    • Online live migration of backend storage
    • Compatible with high I/O workloads like databases
    • Storage tiering (multiple storage pools)
    • Choose your own Linux filesystem
    • Rich set of plugins
  • Storage Related Features

    • Network replication through DRBD integration
    • LVM Snapshot Support
    • LVM Thin Provisioning Support
    • RDMA
    • Management of persistent Memory (PMEM)
    • ZFS support
    • NVME over Fabrics
  • Network Related Features

    • Replicate via multiple network cards
    • Automatic management of TCP/IP port range, minor number range etc. provides consistent data
    • Scale-up and scale-out
    • Rest API
    • LDAP Authentification

User Guide

If you want to use all of the feature set that LINSTOR have (such as quorum, DRBD replication etc), you will need at least 3 nodes to use LINSTOR. Linstor-controller and Linstor-client role should be installed on one node and all nodes should have linstor-satellite.

LINSTOR can also perform disk operations without using DRBD. However, if replication with DRBD is desired, DRBD 9 must be installed on all servers. For DRBD installation, please follow this link.

For a more detailed installation guide, please follow the link below.

LINSTOR GUIDE

Plugins

LINSTOR is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.

Plugin More Information
iSCSI https://github.com/LINBIT/linstor-iscsi
VSAN https://www.linbit.com/linstor-vsan-software-defined-storage-for-vmware%e2%80%8b/
OpenShift https://www.linbit.com/openshift-persistent-container-storage-support/
OpenNebula https://www.linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-opennebula-linstor
Kubernetes https://www.linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-kubernetes
OpenStack https://www.linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-openstack-linstor

Support

LINSTOR is an open source software. You can use our slack channel above link to get support for individual use and development use. If you are going to use it in enterprise and mission critical environments, please contact us via the link below for professional support.

LINSTOR Support

Releases

Releases generated by git tags on github are snapshots of the git repository at the given time. They might lack things such as generated man pages, the configure script, and other generated files. If you want to build from a tarball, use the ones provided by us.

Also for alternative, please look at the "Building" section below.

Building

Gradle is used for building LINSTOR. On a fresh git clone some protobuf java files need to be generated and for that a fitting proto compiler is needed. So before building you need to run:

$ ./gradlew getProtoc

After the correct proto compiler is installed in the ./tools directory you can build with:

$ ./gradlew assemble

Development

Please check the development documentation for details.

LINSTOR Development

Free Software, Hell Yeah!

LINSTOR Powered by LINBIT

linstor-server's People

Contributors

ghernadi avatar rp- avatar raltnoeder avatar joelcolledge avatar jokucera avatar rainerlein avatar rck avatar wanzenbug avatar beornf avatar chrboe avatar tbykowsk avatar kermat avatar philipp-reisner avatar yusufyildiz avatar boomanaiden154 avatar franciosi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.