Closed zhaosimon closed 1 year ago
Anither similar project is TopoLVM: https://github.com/topolvm/topolvm
Anither similar project is TopoLVM: https://github.com/topolvm/topolvm
Lots of diffs between HwameiStor and TopoLVM, including HA, data migration, disk mgmt, etc ...
Anither similar project is TopoLVM: https://github.com/topolvm/topolvm
Thanks Josh! I have added into 'Similar Projects' section immediately after your reply, and will provide completed comparison info in later review stage.
Anither similar project is TopoLVM: https://github.com/topolvm/topolvm
Hello Josh, thanks for your attention on HwameiStor! Just like the other similar CNCF projects, HwameiStor provides high-performance CAS based persistent volumes to cloud native stateful workloads.
However, as an enterprise level storage system already adopted on many production critical applications, we have made very much efforts on some unique data security attributes (compare to the similar projects mentioned above):
HwameiStor support multiple disk types: LVM (Logical Volume), non-HA LVM, HA-LVM, Disk. Non-HA LVM can be converted into HA-LVM.
The underlying Local Disk Manager (LDM) is used for local disks Life Cycle Management: discovery, allocation, health monitor ……
Base on HA & LDM, Hwamstor provide abilities on Volume Migration. Volumes can be migrated from one node to another in case of any node failure or error. This feature can work with Kubernetes node/pod eviction to ensure application continuity
Disk replacement (in progress)
Data Volume Snapshot (in progress)
We will be happy to provide more detailed information under you request or available at https://hwameistor.io/docs/category/basic-operations.
Hi - I'm a co-chair of the Storage TAG with @xing-yang and was discussing the HwameiStor after the TAG presentation/recording. We noticed that both the Piraeus Operator (https://piraeus.io/), which is also a sandbox project is also maintained by Daocloud, and both are a local volume manager with DRDB functionality. Could you clarify the differences between the projects please?
Hi - I'm a co-chair of the Storage TAG with @xing-yang and was discussing the HwameiStor after the TAG presentation/recording. We noticed that both the Piraeus Operator (https://piraeus.io/), which is also a sandbox project is also maintained by Daocloud, and both are a local volume manager with DRDB functionality. Could you clarify the differences between the projects please?
Thanks @chira001 for your question. Yes, Piraeus project is co-sponsored by Linbit and DaoCloud. The difference between Piraeus and HwameiStor is as below:
Piraeus is a set of modules and tools for enabling LINSTOR system in Kubernetes, including Piraeus Operator, HA controller, CSI Driver, etc.. LINSTOR system is fully based on DRBD, like features of quorum, sync/semi-sync/async HA, remote access, etc.., and provides plenty of the storage features like disaster recovery, HA volume, local/remote access. While claiming local volume management, Piraeus is focused on DRBD replicas. It manages VGs, but has no definition for disk resources.
HwameiStor is a cloud native local storage system, and provides the fully life cycle management for local disks, including disk auto-discovery, allocation, health monitor, disk group, and provisions multiple classes of volumes to applications, including LVM HA/non-HA volume, disk volume. In addition, HwameiStor tries to address the limitations of the local volume by the functionalities of volume conversion, migration, group, etc.., which enables the local data to follow the application(Pod) at some situations. There is a HA module in HwameiStor, which is for data synchronization between the volume replicas. Currently, DRBD is one of options for the HA module. We are still looking for other options for the HA module. With more choices, HwameiStor can deploy the appropriate HA module to meet the user’s requirements.
How would HwameiStor relate to the Rook project? Does HwameiStor already implement its own operator, or would it be likely to become a storage backend for Rook?
How would HwameiStor relate to the Rook project? Does HwameiStor already implement its own operator, or would it be likely to become a storage backend for Rook?
The project team may have more details, but we don't see much intersection between Rook and HwamieStor which has it's own operator. Rook is very Ceph optimised at this stage and support for other storage systems is mostly deprecated.
How would HwameiStor relate to the Rook project? Does HwameiStor already implement its own operator, or would it be likely to become a storage backend for Rook?
Thanks @jberkus for your question. Yes, HwameiStor already has its own operator. We would like to look into the Rook to see if it can benefit HwameiStor more.
/vote-sandbox
@amye has called for a vote on [Sandbox] HwameiStor
(#29).
The members of the following teams have binding votes:
Team |
---|
@cncf/cncf-toc |
Non-binding votes are also appreciated as a sign of support!
You can cast your vote by reacting to this
comment. The following reactions are supported:
In favor | Against | Abstain |
---|---|---|
👍 | 👎 | 👀 |
Please note that voting for multiple options is not allowed and those votes won't be counted.
The vote will be open for 7days
. It will pass if at least 66%
of the users with binding votes vote In favor 👍
. Once it's closed, results will be published here as a new comment.
/check-vote
So far 27.27%
of the users with binding vote are in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
3 | 0 | 0 | 8 |
User | Vote | Timestamp |
---|---|---|
cathyhongzhang | In favor | 2023-06-13 17:19:19.0 +00:00:00 |
TheFoxAtWork | In favor | 2023-06-13 18:05:33.0 +00:00:00 |
rochaporto | In favor | 2023-06-13 18:39:15.0 +00:00:00 |
Hi TOC members,
please let us know your any question or suggestion on the HwameiStor project. To help you understand the HwameiStor better, I would like to summarize the key features/strengths as below:
HwameiStor is a cloud native local storage system. Besides it provides a complete local disk lifecycle management including health monitoring, HwameiStor aims to address the limitations of the local volume in Kubernetes: 1) no data protection across the nodes; 2) no data mobility across the nodes.
HwameiStor can provision the HA volumes (LVM). The volume has two replicas distributed across the nodes, and the replicas are synchronized in real time by HwameiStor's HA module (DRBD is one of HA module options).
HwameiStor can convert the non-HA volume (i.e. only one LVM replica) to HA volume to protect the ongoing data.
HwameiStor can migrate the volume's replica across the nodes. With this feature, it's possible for volume data to follow the application(Pod) on demand. In addition, it can keep the data still available when the storage node goes into the problem.
HwameiStor provides a volume group to enable a Pod to have multiple local volumes, and can convert or migrate the volumes in the group on demand.
HwameiStor is under developing the feature of volume snapshot with conversion and migration capabilities.
Currently, HwameiStor already has tens of real enterprise users and run in their PROD/UAT env for more than 2 years, also got lots of feedbacks and feature requests from them.
In HwameiStor's roadmap, it will continue to design and develop more features like thin provisioning, auto-resize, QoS, consistency group, etc... It would be very helpful for HwameiStor to get more attentions and contributions from the community. It will help HwameiStor step to the next level and benefit more and more users.
Thanks
Votes can only be checked once a day.
/check-vote
So far 54.55%
of the users with binding vote are in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
6 | 0 | 0 | 5 |
User | Vote | Timestamp |
---|---|---|
rochaporto | In favor | 2023-06-13 18:39:15.0 +00:00:00 |
TheFoxAtWork | In favor | 2023-06-13 18:05:33.0 +00:00:00 |
cathyhongzhang | In favor | 2023-06-13 17:19:19.0 +00:00:00 |
dzolotusky | In favor | 2023-06-14 23:42:55.0 +00:00:00 |
erinaboyd | In favor | 2023-06-15 21:01:48.0 +00:00:00 |
RichiH | In favor | 2023-06-15 9:25:38.0 +00:00:00 |
/check-vote
So far 72.73%
of the users with binding vote are in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
8 | 0 | 0 | 3 |
User | Vote | Timestamp |
---|---|---|
rochaporto | In favor | 2023-06-13 18:39:15.0 +00:00:00 |
erinaboyd | In favor | 2023-06-15 21:01:48.0 +00:00:00 |
TheFoxAtWork | In favor | 2023-06-13 18:05:33.0 +00:00:00 |
RichiH | In favor | 2023-06-15 9:25:38.0 +00:00:00 |
mattfarina | In favor | 2023-06-16 17:38:44.0 +00:00:00 |
justincormack | In favor | 2023-06-16 10:22:26.0 +00:00:00 |
dzolotusky | In favor | 2023-06-14 23:42:55.0 +00:00:00 |
cathyhongzhang | In favor | 2023-06-13 17:19:19.0 +00:00:00 |
/check-vote
So far 81.82%
of the users with binding vote are in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
9 | 0 | 0 | 2 |
User | Vote | Timestamp |
---|---|---|
TheFoxAtWork | In favor | 2023-06-13 18:05:33.0 +00:00:00 |
erinaboyd | In favor | 2023-06-15 21:01:48.0 +00:00:00 |
RichiH | In favor | 2023-06-15 9:25:38.0 +00:00:00 |
nikhita | In favor | 2023-06-19 13:32:53.0 +00:00:00 |
justincormack | In favor | 2023-06-16 10:22:26.0 +00:00:00 |
rochaporto | In favor | 2023-06-13 18:39:15.0 +00:00:00 |
dzolotusky | In favor | 2023-06-14 23:42:55.0 +00:00:00 |
cathyhongzhang | In favor | 2023-06-13 17:19:19.0 +00:00:00 |
mattfarina | In favor | 2023-06-16 17:38:44.0 +00:00:00 |
The vote passed! 🎉
81.82%
of the users with binding vote were in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
9 | 0 | 0 | 2 |
User | Vote | Timestamp |
---|---|---|
@RichiH | In favor | 2023-06-15 9:25:38.0 +00:00:00 |
@justincormack | In favor | 2023-06-16 10:22:26.0 +00:00:00 |
@dzolotusky | In favor | 2023-06-14 23:42:55.0 +00:00:00 |
@mattfarina | In favor | 2023-06-16 17:38:44.0 +00:00:00 |
@nikhita | In favor | 2023-06-19 13:32:53.0 +00:00:00 |
@cathyhongzhang | In favor | 2023-06-13 17:19:19.0 +00:00:00 |
@TheFoxAtWork | In favor | 2023-06-13 18:05:33.0 +00:00:00 |
@erinaboyd | In favor | 2023-06-15 21:01:48.0 +00:00:00 |
@rochaporto | In favor | 2023-06-13 18:39:15.0 +00:00:00 |
/check-vote
Closing with Approved, new onboarding issue: https://github.com/cncf/sandbox/issues/155
Thanks TOC!!!
Application contact emails
liang.sun@daocloud.io
mingming.zhou@daocloud.io
simon.zhao@daocloud.io
Project Summary
HwameiStor is an open-source local storage solution for cloud-native stateful workloads with High-Availability (HA) capabilities. It will address the limitation of the local volume by a mechanism to enable data drifting with applications.
Project Description
HwameiStor provides a full life cycle management of the local disks (HDD, SSD, NVMe) on the Kubernetes worker nodes. The local disk can be discovered, identified, managed and allocated automatically, besides, HwameiStor will monitor the disk’s health (S.M.A.R.T.) regularly, analyze the metrics to detect any current or potential problem, and process them.
By group the local disks in LVM group, HwameiStor can provision LVM volume in non-HA or HA mode (with HA module). It is trying to address the limitations of the local volume by
1) intelligently locate the data volume replica for the app/pod and schedule it without user interrupt; 2) When reschedule the app/pod across nodes, enable the data volume replica to follow the pod through the features of volume conversion, migration, eviction, etc…
HwameiStor provides a feature of volume group to enable an app/pod to have multiple local volumes, and also can be converted, migrated, evicted as well.
With high-availability replicas in HwameiStor, data can be synchronized & migrated cross-node within the cluster. Storage capacities can also be dynamically expanded (node expansion, disk expansion, volume expansion) to meet the application data persistence requirements.
HwameiStor is easy to deploy and can be installed with HwameiStor-Operator.
Org repo URL
https://github.com/hwameistor
Project repo URL
https://github.com/hwameistor/hwameistor
Additional repos
https://github.com/hwameistor/hwameistor-operator
https://github.com/hwameistor/hwameistor-ui
Website URL
https://hwameistor.io/
Roadmap
https://github.com/hwameistor/hwameistor/blob/main/README.md
Roadmap context
As an enterprise level storage solution, data secutiry will always be our top priority. On the base of HA, we have planned on some data recovery, and data protection features such as snapshot, clone etc.. Observability and performance QoS features are also under our consideration in plan. Data encryption and thin provisioning will be in our future enhancements.
Contributing Guide
https://github.com/hwameistor/hwameistor/blob/main/CONTRIBUTING.md
Code of Conduct (CoC)
https://github.com/hwameistor/hwameistor/blob/main/CODE_OF_CONDUCT.md
Adopters
https://github.com/hwameistor/hwameistor/blob/main/adopters.md
Contributing or Sponsoring Org
https://www.daocloud.io/
Maintainers file
https://github.com/hwameistor/hwameistor/blob/main/MAINTAINERS.md
IP Policy
Trademark and accounts
Why CNCF?
HwameiStor is a Kubernetes native local storage system naturally integrated with some CNCF ecosystems' technologies and tools, such as CSI, CRD, Operator, Scheduler,Helm etc.. By contributing this project to the CNCF, HwameiStor can gain access to a wider audience of users and potential contributors, as well as increased visibility and recognition from the community. Being part of the CNCF can also help HwameiStor to stay up-to-date with the latest industry standards and best practices, and to benefit from the experiences and knowledge of other contributors and projects within the CNCF ecosystem.
Benefit to the Landscape
As more organizations move to cloud native architectures, they need storage solutions that can handle the high volumes of data generated by modern applications that can scale dynamically to meet the changing demands. HwameiStor can play a critical role in supporting the data management needs of cloud native stateful applications, such as high performance, high availability, operation and maintenance automation etc..
Cloud Native 'Fit'
HwameiStor is cloud native designed and architectured on Kubernetes CRD mechanism. It is built for cloud native application.
Cloud Native 'Integration'
HwameiStor is working as the storage solution of the Kubernetes cluster to provide data persistency. HwameiStor-Operator is for the system installation and management
Cloud Native Overlap
There are two overlaps with other local storage projects:
First one is LVM module. LVM2 is adopted by HwameiStor for managing local disks and provisioning volume like some other project. In fact, LVM2 is a stable disk management module and popular in most of OS. It’s also easy to deploy and use.
Second one is DRBD module, which is for data synchronization across nodes. Some other projects provision HA volume and rely on DRBD for data syncronization. In HwameiStor, DRBD is one of options for data synchronization. HwameiStor is still trying to add other tools for the data sync, and provides more choice to meet users’ requirements.
Similar projects
HwameiStor provides similar functionality as these other projects:
OpenEBS https://github.com/openebs
Carina https://gitee.com/bocloud-open-source/carina
TopoLVM https://github.com/topolvm/topolvm
Product or Service to Project separation
N/A
Project presentations
https://youtu.be/6D1vgj86hHY (HwameiStor Demo) https://youtu.be/FJ2MZuSoSk4 (TAG Meeting for HwameiStor Presentation)
Project champions
No response
Additional information
No response