{"id":181781,"date":"2026-05-28T14:48:30","date_gmt":"2026-05-28T12:48:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor"},"modified":"2026-05-28T14:48:30","modified_gmt":"2026-05-28T12:48:30","slug":"opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","title":{"rendered":"The Blockstor storage system has been released, serving as an alternative to LINSTOR.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The first release of Blockstor is available \u2014 an open-source management system for distributed block storage for Kubernetes that provides data replication over DRBD. Blockstor is compatible via REST API with LINSTOR and can seamlessly work with the existing client ecosystem, including the command-line utility linstor, CSI driver, Piraeus operator, ha-controller, and the golinstor library. The project is a fully independent (clean-room) implementation in Go that does not use the original source code. The code is distributed under the Apache 2.0 license and is being developed within the Cozystack platform (CNCF Sandbox project).<\/p>\n<p>The project author is Andrey Kvapil (@kvaps), founder of Cozystack and a member of the non-profit organization Piraeus, under which the operator and CSI driver LINSTOR for Kubernetes are being developed. The author is well-known in the Kubernetes community as a promoter of LINSTOR and has given technical presentations on the topic multiple times. Originally, the development was envisioned as a small 'Friday' initiative, but it ultimately turned into approximately 20 days of continuous work. Currently, the project is being developed as a research initiative, but it is seen as a potential replacement for LINSTOR as the default storage system in Cozystack.<\/p>\n<p>The reasons for creating the new project include difficulties in maintaining the original project and transferring changes to the main project, as well as architectural limitations of LINSTOR. The original project uses a 'request-based' real-time processing model, which shows issues at scale, while the declarative reconciliation approach of Kubernetes and the controller-runtime framework, according to the author, is significantly better suited for building distributed systems.<\/p>\n<p>Unlike LINSTOR, Blockstor's architecture is entirely based on the Kubernetes controller-runtime approach. The configuration and current state of the system are represented as Kubernetes CRD objects, and the system is not designed to operate outside of a Kubernetes cluster.<\/p>\n<p>The main features of Blockstor include:<\/p>\n<ul>\n<li class=\"l\"> Replicable volumes over DRBD based on LVM, LVM-thin, ZFS, ZFS-thin, and file backends.\n<li class=\"l\"> Automatic placement of replicas considering zones, node properties, and 'replicas-on-different' rules.\n<li class=\"l\"> Support for TieBreaker, quorum, and resizing volumes without downtime.\n<li class=\"l\"> The ability to operate without DRBD in local mode (single-replica diskful) or without-disk storage.\n<li class=\"l\"> Volume encryption through LUKS.\n<li class=\"l\"> Snapshot support: creation, rollback, cloning, and recovery as a new resource.\n<li class=\"l\"> Transferring snapshots within the cluster via zfs send\/recv and thin-send-recv.\n<li class=\"l\"> Creating storage pools from physical disks.\n<li class=\"l\"> Container images built for different architectures (linux\/amd64 and linux\/arm64), published in GHCR.\n<\/ul>\n<p>A key feature of the project was the active use of AI tools during development. Almost all code was prepared using Claude Code (Opus 4.7 model) from Anthropic. Development was conducted almost round the clock for about 20 days. At times, up to 60 AI agents worked simultaneously, and the overall development dialogue involved about 1320 requests from the author and around 36,000 responses from the model within one continuous session.<\/p>\n<p>The outcome was 1500 commits, with 83,000 lines of code for implementation and another 137,000 lines of code for tests. Preliminary estimates suggest that approximately 18.9 billion tokens were used, and the equivalent cost of such volume based on API rates would be about 40,000 dollars.<\/p>\n<p>The author initially expected a nearly fully autonomous development led by the AI model; however, the complex logic of DRBD required constant human involvement. The most challenging scenarios involved synchronization states of DRBD, working with the Generation Identifier (GI), skipping the initial synchronization, and handling split-brain scenarios.<\/p>\n<p>Since the original LINSTOR is distributed under the GPL license, its code could not be used directly. The main implementation was based on an analysis of API contracts, the behavior of utilities, the Python client for LINSTOR, and other compatible licensed projects, including piraeus-operator and CSI driver.<\/p>\n<p>In the most complicated cases, a role-splitting scheme for AI agents was applied: one agent analyzed the original LINSTOR code and formed a textual specification of behavior, after which another agent implemented functionality strictly according to this specification without directly copying the original code. Due to the lack of open tests from the original project, the test base had to be formed independently.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65546\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor &#8212; \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD. Blockstor \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u043f\u043e REST API \u0441 LINSTOR \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 linstor, CSI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 Piraeus, ha-controller \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 golinstor. \u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u0443\u044e (clean-room) \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181781","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor - \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f Blockstor, \u044f\u0432\u043b\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043e\u0439 LINSTOR | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor - \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-05-28T12:48:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-28T12:48:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 The Blockstor storage system has been released, serving as an alternative to LINSTOR | ProHoster","description":"The first release of Blockstor is now available - an open management system for distributed block storage for Kubernetes, providing data replication over DRBD.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f Blockstor, \u044f\u0432\u043b\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043e\u0439 LINSTOR | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor - \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-05-28T12:48:30+00:00","article:modified_time":"2026-05-28T12:48:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/181781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=181781"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/181781\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=181781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=181781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=181781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}