Comparing LINSTOR Back-End Storage Types

This article compares the different LINSTOR supported back-end storage types: LVM, thinly-provisioned LVM, and ZFS.

LINSTOR® supports either LVM, LVM with thin provisioning, or ZFS, for back-end storage. Your choice of back-end storage will depend on your use case and what features are important to you.

In general, using LVM, without thin provisioning, will give the best performance at the cost of a limited feature set.

This blog post is an excellent in-depth comparison of different back-end storage types and SDS solutions, including some real-world testing and benchmarks.

The following table is an at-a-glance comparison between the different LINSTOR storage back ends and their support for various features.

| Feature                               | LVM  |  LVM   | ZFS  |
|                                       |      | (Thin) |      |
| ------------------------------------- | ---- | ------ | -----|
| Cache management                      | Yes  | Yes    | Yes  |
| Checksumming of data                  | No   | No     | Yes  |
| Data compression                      | No   | No     | Yes  |
| Data integrity                        | No   | No     | Yes  |
| Deduplication                         | No   | No     | Yes  |
| Encryption                            | No   | No     | Yes  |
| Multiple disk failures protection     | Yes  | Yes    | Yes  |
| Multiple RAID levels                  | Yes  | Yes    | Yes  |
| Online capacity extend and shrink   | Yes  | Yes    | Yes  |
| Online scrubbing and resilvering      | No   | No     | Yes  |
| Partition resizing                    | Yes  | Yes    | Yes  |
| POSIX access control lists (ACLs)     | No   | No     | Yes  |
| Snapshots (supported in LINSTOR)     | No   | Yes    | Yes  |
| Thin provisioning                     | No   | Yes    | Yes  |

The above comparisons are evaluated based on whether features are "built-in" or not. For some features, when they are not built-in, it might be possible for LINSTOR to support the feature at a different storage layer.

For example, LINSTOR can support encryption with an LVM storage back end by using an additional LUKS storage layer, as mentioned in the Encrypted Volumes section of the LINSTOR User's Guide.

Outside of LINSTOR, you can also implement some features that are not built into LVM, such as deduplication, by using a file system that supports the feature, such as BTRFS or XFS. Alternatively, you can have deduplication and compression within LINSTOR for LVM back-end storage by enabling VDO support.

Written by: MAT - 2023-05-08

Reviewed by: MDK - 2023-05-09