hwameistor

module
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2022 License: Apache-2.0

README

HwameiStor

Hwameistor is a cloud-native storage system. It creates a local storage resource pool for centrally managing all disks such as HDD, SSD, and NVMe. It uses the CSI architecture to provide distributed services with local volumes and provides data persistence capabilities for stateful cloud-native workloads or components.

System architecture

Current Status

At present, HwameiStor is still in the alpha stage.

The latest release of HwameiStor is hwameistor-releases

Build Status

period-check codecov OpenSSF Best Practices

Release Status

Release Version Type
v0.3 v0.3.2 latest

Modules and Code

HwameiStor contains 3 modules:

  • local-disk-manager
  • local-storage
  • scheduler
Local-Disk-Manager

Local-Disk-Manager (LDM) is designed to hold the management of disks on nodes. Other modules such as Local-Storage can take advantage of the management of disks by LDM.

Local-Storage

Local-Storage (LS) provides a cloud-native local storage system. It aims to provision high-performance persistent LVM volume with local access to applicatios.

Scheduler

The Scheduler is to automatically schedule the Pod to the correct node which has the associated HwameiStor volume.

Documentation

Full documentation is hosted at our project website hwameistor.io.

Roadmap

Feature Status Release Description
CSI for LVM volume Completed v0.3.2 Provision volume with lvm
CSI for disk volume Completed v0.3.2 Provision volume with disk
HA LVM Volume Completed v0.3.2 Volume with HA
HA LVM Volume expansion Completed v0.3.2 Expand LVM volume capacity online
LVM Volume migration Completed v0.3.2 Migrate a LVM volume replica to a different node
LVM Volume conversion Completed v0.3.2 Convert a non-HA LVM volume to the HA
Volume Group Completed v0.3.2 Support volume group allocation
Observability Planed Observability
non-HA LVM volume mirror Planed Mirror LVM volume
non-HA LVM volume clone Planed Clone LVM volume
non-HA LVM volume snapshot Planed Snapshot of LVM volume
non-HA LVM volume thin provision support Planed non-HA LVM volume thin provision support
non-HA LVM volume stripe writing support Planed non-HA LVM volume stripe writing support
data encryption Planed Data encryption
Disk health check Planed Fault prediction, status information reporting

Community

Blog

Please follow our weekly blogs here.

Slack

Our slack channel is here

WeChat

HwameiStor tech-talk group:

QR code for Wechat

Discussion

Welcome to follow our roadmap discussions here

Requests and Issues

Please feel free to raise requests on chats or by a PR.

We will try our best to respond to every issue reported on community channels, but the issues reported here on this repo will be addressed first.

License

Copyright (c) 2014-2021 The HwameiStor Authors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Directories

Path Synopsis
cmd
scheduler
k8s scheduler with local-storage replica scheduling scheduling for pod which mount local-storage volume
k8s scheduler with local-storage replica scheduling scheduling for pod which mount local-storage volume
pkg
apis/generated/local-disk-manager/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
apis/generated/local-disk-manager/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
apis/generated/local-disk-manager/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
apis/generated/local-disk-manager/clientset/versioned/typed/hwameistor/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
apis/generated/local-disk-manager/clientset/versioned/typed/hwameistor/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
apis/generated/local-storage/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
apis/generated/local-storage/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
apis/generated/local-storage/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
apis/generated/local-storage/clientset/versioned/typed/hwameistor/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
apis/generated/local-storage/clientset/versioned/typed/hwameistor/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
apis/hwameistor/local-disk-manager/v1alpha1
Package v1alpha1 contains API Schema definitions for the hwameistor v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=hwameistor.io
Package v1alpha1 contains API Schema definitions for the hwameistor v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=hwameistor.io
apis/hwameistor/local-storage
Package hwameistor contains hwameistor API versions.
Package hwameistor contains hwameistor API versions.
apis/hwameistor/local-storage/v1alpha1
Package v1alpha1 contains API Schema definitions for the localstorage v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=hwameistor.io
Package v1alpha1 contains API Schema definitions for the localstorage v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=hwameistor.io
Package v1alpha1 is a generated GoMock package.
local-storage/member/controller
Package controller is a generated GoMock package.
Package controller is a generated GoMock package.
local-storage/member/controller/volumegroup
Package volumegroup is a generated GoMock package.
Package volumegroup is a generated GoMock package.
local-storage/member/csi
Package csi is a generated GoMock package.
Package csi is a generated GoMock package.
local-storage/member/node/configer
Package configer is a generated GoMock package.
Package configer is a generated GoMock package.
local-storage/member/node/storage
Package storage is a generated GoMock package.
Package storage is a generated GoMock package.
scheduler/genscheduler
Package genscheduler is a generated GoMock package.
Package genscheduler is a generated GoMock package.
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL