{"id":15192060,"url":"https://github.com/linbit/linstor-server","last_synced_at":"2025-05-14T20:04:44.894Z","repository":{"id":31215049,"uuid":"117251051","full_name":"LINBIT/linstor-server","owner":"LINBIT","description":"High Performance Software-Defined Block Storage for container, cloud and virtualisation. Fully integrated with Docker, Kubernetes, Openstack, Proxmox etc.","archived":false,"fork":false,"pushed_at":"2025-04-08T09:25:13.000Z","size":27179,"stargazers_count":1052,"open_issues_count":157,"forks_count":78,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-04-13T15:09:43.857Z","etag":null,"topics":["block-storage","cloud-native","csi","drbd","high-availability","high-performance","k8s","kubernetes","linstor","open-source","operator","persistent-storage","sds","software-defined-storage","storage","storage-orchestration","zfs"],"latest_commit_sha":null,"homepage":"https://docs.linbit.com/docs/linstor-guide/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LINBIT.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-OPENAPI.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-12T14:34:27.000Z","updated_at":"2025-04-12T20:19:26.000Z","dependencies_parsed_at":"2023-02-17T16:15:24.874Z","dependency_job_id":"45b1da1f-b981-4a6f-9942-70b289d2ba00","html_url":"https://github.com/LINBIT/linstor-server","commit_stats":{"total_commits":4974,"total_committers":24,"mean_commits":207.25,"dds":0.6003216726980298,"last_synced_commit":"da2855657e32e7a4c80cb9e26a576ed09d316377"},"previous_names":[],"tags_count":141,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Flinstor-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Flinstor-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Flinstor-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LINBIT%2Flinstor-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LINBIT","download_url":"https://codeload.github.com/LINBIT/linstor-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248732486,"owners_count":21152852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["block-storage","cloud-native","csi","drbd","high-availability","high-performance","k8s","kubernetes","linstor","open-source","operator","persistent-storage","sds","software-defined-storage","storage","storage-orchestration","zfs"],"created_at":"2024-09-27T21:04:28.499Z","updated_at":"2025-04-13T15:10:02.640Z","avatar_url":"https://github.com/LINBIT.png","language":"Java","readme":"[![LINSTOR logo](./docs/Linstor-Logo-Colour.png?raw=true)](https://www.linbit.com/linstor)\n\n[![Open Source](https://img.shields.io/badge/Open-Source-brightgreen)](https://opensource.org/) [![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-brightgreen.svg)](https://opensource.org/licenses/) [![Active](http://img.shields.io/badge/Status-Active-green.svg)](https://linbit.com/linstor) [![GitHub Release](https://img.shields.io/github/release/linbit/linstor-server.svg?style=flat)](https://github.com/LINBIT/linstor-server) [![GitHub Commit](https://img.shields.io/github/commit-activity/y/linbit/linstor-server)](https://github.com/LINBIT/linstor-server) [![Enterprise Support](https://img.shields.io/badge/-Enterprise%20Support-f78f22)](https://www.linbit.com/support/) [![Community Forum](https://img.shields.io/badge/-Community%20Forum-1d2a3a)](https://forums.linbit.com/c/linstor/6)\n\n# What is LINSTOR®\n\nLINSTOR\u0026reg;, developed by LINBIT\u0026reg;, is open source software that manages replicated volumes across a group of machines.\nLINSTOR natively integrates with Kubernetes and other platforms and makes building, running, and controlling block storage simple.\nLINSTOR is designed to manage block storage devices for large Linux server clusters.\nIt's typically used to provide persistent and highly available Linux block storage for cloud native and hypervisor environments.\n\nHistorically LINSTOR started as a [DRBD\u0026reg;](https://www.linbit.com/drbd/) resource file generator which conveniently also created LVM or ZFS volumes.\nOver time LINSTOR steadily grew.\nLINBIT developers added features and drivers in both directions: south-bound features such as snapshots, LUKS, dm-cache, dm-writecache, or NVMe storage layers; and north-bound drivers for integrating directly with other platforms such as [CloudStack](https://linbit.com/cloudstack/), [Kubernetes](https://www.linbit.com/kubernetes/), [OpenNebula](https://www.linbit.com/opennebula/), [OpenShift](https://www.linbit.com/openshift-persistent-container-storage-support/), [OpenStack](https://www.linbit.com/openstack/), [Proxmox VE](https://www.youtube.com/watch?v=F9xBANiSX0c), and [VMware](https://www.linbit.com/linstor-vsan-software-defined-storage-for-vmware%e2%80%8b/).\n\n## How it works\n\nA LINSTOR system consists of multiple server and client components.\nA LINSTOR controller service manages the configuration of the LINSTOR cluster and all of its managed storage resources.\nThe LINSTOR satellite service manages creation, modification, and deletion of storage resources on each node that provides or uses LINSTOR-managed storage resources.\n\nThe storage system can be managed by directly using a command line client utility to interact with the active LINSTOR controller.\nAlternatively, users can integrate the LINSTOR system into the storage architecture of other software systems, such as Kubernetes, CloudStack, OpenNebula, or Proxmox VE.\nAll communication between LINSTOR components uses LINSTOR's own network protocol, based on TCP/IP network connections.\n\n\u003cimg src=\"https://linbit.com/wp-content/uploads/2023/10/How_Linstor_works_enlarged-text.webp\" alt=\"LINSTOR components diagram\" width=\"600\" height=\"536\" hspace=\"10\" vspace=\"10\"/\u003e\n\u003cimg src=\"https://linbit.com/wp-content/uploads/2023/10/LINSTOR_infographic_2-1024x1024.png\" alt=\"The LINSTOR software stack diagram\" height=\"636\" hspace=\"10\" vspace=\"10\"/\u003e\n\n## Features\n\n- Open Source\n\n- Main Features\n  - Provides replicated block storage and persistent container storage\n  - Separate data and control planes for maximum data availability\n  - Online live migration of back-end storage\n  - Compatible with high I/O workloads such as databases\n  - Supports tiered storage (by using multiple storage pools)\n  - Choose your own Linux file system; LINSTOR is agnostic to layers above it\n  - Rich set of [plugins](https://github.com/linbit/linstor-server/blob/master/README.md#plugins)\n\n- Storage Related Features\n  - Network replication through DRBD integration\n  - LVM snapshot support\n  - LVM thin provisioning Support\n  - RDMA\n  - Management of persistent memory (PMEM)\n  - ZFS support, including thin provisioning\n  - NVMe over fabrics\n\n- Network Related Features\n  - Replicate via multiple network cards (for redundancy or load balancing)\n  - Automatic management of TCP/IP port range, minor number range, and others to provide consistent data across a cluster\n  - Scale-up and scale-out\n  - REST API for integrating or customizing to your needs\n  - Supports LDAP authentication\n\n## LINSTOR Deployment Architecture Notes\n\nIf you want to use the entirety of LINSTOR's feature set (such as quorum, [DRBD\u0026reg;](https://www.linbit.com/drbd/) replication, and others), you will need at least three nodes to use LINSTOR.\nA third node, used for quorum purposes, can be diskless and even something as basic as a low-powered single-board computer such as a Raspberry Pi could suffice.\nAt least one node in the cluster should have the LINSTOR controller service and LINSTOR client software installed, while all nodes should have the LINSTOR satellite service installed.\nYou can make the LINSTOR controller service highly available by installing the service on multiple nodes.\nFor more details, refer to the [_LINSTOR User's Guide_](https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#s-linstor_ha).\n\nLINSTOR can also perform disk operations without using DRBD.\nHowever, if you need data replication with DRBD, LINSTOR requires DRBD version 9 installed on LINSTOR satellite nodes.\nTo install DRBD, refer to the [_DRBD User's\nGuide_](https://www.linbit.com/drbd-user-guide/drbd-guide-9_0-en/).\n\nFor a more detailed installation guide, refer to instructions in the _LINSTOR User's Guide_, linked below.\n\n[![LINSTOR\nGUIDE](https://img.shields.io/badge/LINSTOR-GUIDE-orange)](https://www.linbit.com/user-guides/)\n\n## Plugins\n\nLINSTOR is currently extended with the following plugins.\nInstructions for how to use them are linked below.\n\n| Plugin | More Information |\n| ------ | ------ |\n|CloudStack|https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-cloudstack|\n|iSCSI|https://github.com/LINBIT/linstor-iscsi|\n|Kubernetes|https://www.linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-kubernetes|\n|OpenNebula|https://www.linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-opennebula-linstor|\n|OpenShift|https://www.linbit.com/openshift-persistent-container-storage-support/|\n|OpenStack|https://www.linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-openstack-linstor|\n|Oracle Linux Virtualization Manager|https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-olvm-linstor|\n|Proxmox VE|https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-proxmox-linstor|\n|VSAN|https://www.linbit.com/linstor-vsan-software-defined-storage-for-vmware%e2%80%8b/|\n\n## Support\n\nLINSTOR is an open source software.\nFor individual or development use, you can use the [LINSTOR forum topic](https://forums.linbit.com/c/linstor/6) within the LINBIT community forums to get support from the greater community of LINBIT software users.\nIf you are going to use LINSTOR in enterprise or mission critical production environments, professional support contracts and official software binaries are available through LINBIT.\nContact us by using the link below for professional support.\n\n[![LINSTOR Support](https://img.shields.io/badge/LINSTOR-SUPPORT-brightgreen)](https://www.linbit.com/support/)\n\n## Releases\n\nReleases generated by Git tags on GitHub are snapshots of the Git repository at the given time.\nThese snapshots might lack things such as generated man pages, the configure script, and other generated files.\nIf you want to build from a tar archive file, use [the ones LINBIT provides](https://www.linbit.com/linbit-software-download-page-for-linstor-and-drbd-linux-driver/).\n\nAs an alternative, you can build LINSTOR software from source code.\nRefer to the \"Building\" section below for details.\n\n## Building\n\nGradle is used for building LINSTOR.\nAfter a fresh `git clone --recursive` command, some protocol buffer ([`protobuf`](https://github.com/protocolbuffers/protobuf)) Java files need to be generated and for that you need a suitable protocol buffer compiler.\nBefore building you need to run:\n\n```sh\n$ ./gradlew getProtoc\n```\nAfter installing the correct protocol buffer compiler in the `./tools` directory, you can build LINSTOR by entering the following command:\n\n```sh\n$ ./gradlew assemble\n```\n\n## Development\n\nRefer to the development documentation for details.\n\n[![LINSTOR Development](https://img.shields.io/badge/LINSTOR-DEVELOPMENT-brightgreen)](https://github.com/LINBIT/linstor-server/blob/master/docs/development.md )\n\n## Foundation Membership\n[![](https://github.com/LINBIT/linstor-server/blob/master/docs/sodaecop.png)](https://github.com/sodafoundation)\n\nLINSTOR is a SODA ECO Project\n\n**Free Software, Hell Yeah!**\n\n[![LINSTOR Powered by LINBIT](./docs/poweredby_linbit_small.png?raw=true)](https://www.linbit.com/linstor/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinbit%2Flinstor-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinbit%2Flinstor-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinbit%2Flinstor-server/lists"}