-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature] Extend to support zfs #144
Comments
Thx for your issue~ And I believe open-local will get more attention if zfs is included. By the way, not only lvm is covered, we are also preparing to integrate spdk. I am not familiar with zfs, I see that LVM and zfs have many similar features, like storage pool, snapshot, etc. Does zfs can restrict use of volume capacity, similar to a logical volume in LVM? |
@TheBeatles1994 Absolutely, features wise, zfs is far more completed and advanced than LVM. In ZFS, your can create dataset(vol with fs ready) or zvol (plain block device can used as raw disk), both can be set quota on them. In short, nothing is missing in ZFS if it is available in lvm. LVM is like a poor-man solution of ZFS. If given enough resource, zfs perform far more better than LVM. Most important thing is that zfs ensure your data integrity, no silent bit rot could happen. Keep your data safe and last for a very long time. This is very important for large dataset in big datacenter. And it is why zfs is choosen for most of HPC system. But, there is always a "But" when something looks so good :), zfs demand more resource, a lot more than LVM. This don't have to be a block for open-local to support ZFS, because if openlocal could support both LVM and ZFS, then it can server both low-end and high end use case, and user have options to choose depend on their available resource, therefore make open local get much wider users base. |
I did my research and ZFS is so powerful as you said. I believe open-local can integrate this well. And it would be very grateful if you can help with this feature, we need more great contributors like you~ |
@TheBeatles1994 for zfs go binding, we could consider https://github.com/mistifyio/go-zfs or https://pkg.go.dev/github.com/bicomsystems/go-libzfs, the second can be too complicated and might have licensing issue. However, we could always swap as needed in the future. |
Of course, I can do this~ The project needs to do more abstraction to support more local storage types. |
@TheBeatles1994 looking forward to seeing that is coming soon! |
Why you need it?
openlocal is a general name, while only lvm is covered, extend it to support ZFS seem to make it better deserving the name ;)
lvm is better performance, less resource demanding, but ZFS has some nice features like ensuring data integrity make it still a valid choice in many datacenter.
How it could be?
Providing lvm and zfs is so similar for end user perspective, I am wondering if it is possible to add a ZFS driver side by side, make openlocal support zfs as backend storage option. I see openebs have an option named local-zfs, but it is look pretty messy there. This project, seem providing much neat code. it could be better base to implement a zfs csi driver here. If zfs is included, I believe the project will get much more attention
What do you thinkg @TheBeatles1994
Other related information
The text was updated successfully, but these errors were encountered: