All Projects → alauda → nativestor

alauda / nativestor

Licence: Apache-2.0 License
NativeStor provide kubernetes local storage which is light weight and high performance

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to nativestor

Depot.js
📦 depot.js is a storage library with a simple API
Stars: ✭ 247 (+1135%)
Mutual labels:  storage, localstorage
kesho
store cache any data type string, boolean, jsonObject, jsonArray, .....
Stars: ✭ 19 (-5%)
Mutual labels:  storage, localstorage
kstone
Kstone is an etcd management platform, providing cluster management, monitoring, backup, inspection, data migration, visual viewing of etcd data, and intelligent diagnosis.
Stars: ✭ 592 (+2860%)
Mutual labels:  operator, cloudnative
Brownies
🍫 Tastier cookies, local, session, and db storage in a tiny package. Includes subscribe() events for changes.
Stars: ✭ 2,386 (+11830%)
Mutual labels:  storage, localstorage
ibm-spectrum-scale-csi
The IBM Spectrum Scale Container Storage Interface (CSI) project enables container orchestrators, such as Kubernetes and OpenShift, to manage the life-cycle of persistent storage.
Stars: ✭ 41 (+105%)
Mutual labels:  storage, operator
Go Fastdfs
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic r…
Stars: ✭ 2,923 (+14515%)
Mutual labels:  storage, cloudnative
storage
A library to use Web Storage API with Observables
Stars: ✭ 43 (+115%)
Mutual labels:  storage, localstorage
Maya
Manage Container Attached Storage (CAS) - Data Engines in Kubernetes
Stars: ✭ 169 (+745%)
Mutual labels:  storage, operator
phaser-super-storage
A cross platform storage plugin for Phaser
Stars: ✭ 49 (+145%)
Mutual labels:  storage, localstorage
stoor
Storage wrapper with support for namespacing, timeouts and multi get/set and remove.
Stars: ✭ 26 (+30%)
Mutual labels:  storage, localstorage
Flutter localstorage
📦flutter localstorage for ios/android/desktop/web
Stars: ✭ 206 (+930%)
Mutual labels:  storage, localstorage
vue-web-storage
Vue.js plugin for local storage and session storage (1.8 kb min+gz) 💾
Stars: ✭ 85 (+325%)
Mutual labels:  storage, localstorage
Store.js
Cross-browser storage for all use cases, used across the web.
Stars: ✭ 13,656 (+68180%)
Mutual labels:  storage, localstorage
Kadalu
A lightweight Persistent storage solution for Kubernetes / OpenShift using GlusterFS in background.
Stars: ✭ 239 (+1095%)
Mutual labels:  storage, operator
Remotestorage.js
⬡ JavaScript client library for integrating remoteStorage in apps
Stars: ✭ 2,155 (+10675%)
Mutual labels:  storage, localstorage
ng2-storage
A local and session storage wrapper for angular 2.
Stars: ✭ 14 (-30%)
Mutual labels:  storage, localstorage
React Storage Hooks
React hooks for persistent state
Stars: ✭ 146 (+630%)
Mutual labels:  storage, localstorage
Vue Warehouse
A Cross-browser storage for Vue.js and Nuxt.js, with plugins support and easy extensibility based on Store.js.
Stars: ✭ 161 (+705%)
Mutual labels:  storage, localstorage
h5webstorage
Web Storage for Angular 2
Stars: ✭ 38 (+90%)
Mutual labels:  storage, localstorage
persistence
💾 Persistence provides a pretty easy API to handle Storage's implementations.
Stars: ✭ 18 (-10%)
Mutual labels:  storage, localstorage

NativeStor

NativeStor

NativeStor is an open source cloud-native local storage orchestrator for Kubernetes, which orchestrates topolvm and provides the raw device.
PS:Don't be surprised if you search for Topolvm-operator, NativeStor's original name is Topolvm-operator.

Supported environments

  • Kubernetes: 1.21 1.22
  • Node OS: Linux with LVM2
  • Filesystems: ext4, xfs

Features

  • Storage capacity expand dynamically
  • Volume capacity limit
  • Prometheus metric and alarm
  • Auto discover available devices
  • Raw device

OperatorHub.io

NativeStor had been shared in operatorhub.io home.

RoadMap

see our roadmap

Components

  • topolvm csi: LVM Capacity-aware CSI plugin for Kubernetes
  • raw device csi: Raw Device and Capacity-aware CSI plugin for Kubernetes

Diagram

A diagram of components and the how they work see below:

How topolvm components work

component diagram

  1. operator watch the TopolvmCluster(CRD)
  2. operator watch the operator-setting ConfigMap
  3. operator start discover devices Daemonset
  4. operator start ConfigMap controller to watch lvmd ConfigMap if TopolvmCluster created
  5. TopolvmCluster controller create preparevg Job,Topolvm-controller Deployment depend on TopolvmCluster
  6. preparevg Job on specific node check disk that provided in TopolvmCluster and create volume group, if volume group created successfully and then create lvmd ConfigMap for the node
  7. ConfigMap controller finds the new lvmd ConfigMap then create Topolvm-node Deployment
  8. TopolvmCluster controller update TopolvmCluster status

How raw device components work

component diagram

Getting started and Documentation

docs directory contains documents about installation and specifications

NativeStor vs Other local storage Implement

nfs rook ceph longhorn host path topolvm
filesystem yes yes yes yes yes
filesystem type nfs ext4/xfs driver specific ext4/xfs ext4/xfs
block no yes (rbd) yes no yes
bandwidth standard high high high high
IOPS standard standard standard high high
latency standard standard standard low low
snapshot no yes yes no no
clone no yes no no no
quota no yes yes no yes
access mod ReadWriteOnce ReadOnlyMany ReadWriteMany ReadWriteOnce ReadOnlyMany ReadWriteMany ReadWriteOnce ReadOnlyMany ReadWriteOnce ReadWriteOnce ReadWriteOncePod
resizing yes yes yes yes yes
data redundancy Hardware RAID yes yes Hardware RAID Hardware RAID
protocol type nfs rados iscsi fs lvm
ease of maintainess driver specific high maintainess effort medium medium ops-free
usage scenarios general storage extremly scalability container attach storage temporary data high performance block device for cloudnative applications

Docker images

Documentation

docs directory contains documents about designs and specifications.

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].