-
Notifications
You must be signed in to change notification settings - Fork 105
Description
Describe the problem/challenge you have
I'd like to be able to use lvm-localpv with lvmraid (LVM native RAID) to take advantage of RAID on a VolumeGroup with multiple drives.
Unfortunately LVM does not allow setting default Logical Volume types on VolumeGroups (this is probably for the best, complexity wise), so when lvm-localpv the only way to enforce a non-default type currently is via thinProvision.
Describe the solution you'd like
Support for mirroring and other RAID configurations in StorageClass parameters for lvm-localpv.
Along with support for RAID configurations I'd like support for the --raidIntegrity option to allow for some checksums of data on disk.
Anything else you would like to add:
I'd like to work on this, and have a few questions/comments:
- Should I write a design doc? (I'd probably mirror the one for thin provisioning)
- Initially I'm only planning on supporting
raid0/stripe,raid/raid1/mirror,raid5,raid6, andraid10 VolumeInfo(which maybe should be namedVolumeParams) seems to put it's own spin on the settings, so I have a few style-related questions:- Which is better --
Mirror(mirrorin YAML) orLvType(lvTypein YAML) ?Mirroris a bit closer toThinProvisionin spirit,LvTypeis a bit more explicit about the passing down of settings - Some of the modes require additional configuration (ex.
--stripes,--mirrors,--stripesize), would that be best as something likeMirrorCount(mirrorCountin YAML)?
- Which is better --
Currently I'm using a quite well-known workaround -- running mdraid (via mdadm, with dm-integrity configured) on the two disks below LVM and giving lvm-localpv a volume group based on /dev/mdX. I'd like to test LVM-native RAID against mdraid itself as well ultimately so some support would be great.
Environment:
- LVM Driver version
- Kubernetes version (use
kubectl version): - Kubernetes installer & version:
- Cloud provider or hardware configuration:
- OS (e.g. from
/etc/os-release):