ZFS vs. Linux Raid vs. Linux LVM vs. Linux LVM + Raid

By James Dickens
uadmin.blogspot.com
Submit changes, enhancements, or comments to jamesd DOT wi AT gmail DOT com


ZFS

Linux Raid

Linux LVM

Linux LVM+Raid

Raid Types





Single drive

Yes

N/A

Yes

Yes

Raid-0

Yes

Yes

Yes

Yes

Raid-1

Yes

Yes

No

Yes

Raid-1+0

Yes

No

No

Yes

Raid-5

Noi

Yes

No

Yes

Raid-5+0

No

No

No

Yes

Raidzii

Yes

No

No

No

Raidz+0

Yes

No

No

No






Administrative tasks





Non-endian specific

Yes

No

No

No

Import/Export Pools/Dataset

Yes

Not automated

Not automated

Not automated

iostat built to gives details of IO utilization

Yes

No

No

No






Snapshots





Snapshots/online?

Yes/online

No

Yes/offline only

Yes/offline only

Requires separate slice

No

N/A

Yes

Yes

Uses more than 1% of data space to create

No

N/A

Yes

Yes

Rollbackiii

Yes

No

No

No

Clonesiv

Yes

No

No

No






Growing File Systems Online





Convert from single drive to raid1

Yes

Yes

No

Yes

Convert from Raid1 to Raid 1+0

Yes

N/A

N/A

Yes

Convert from Raid1 to Raid5/z

No/may be possible in the future

Yes/offline

N/A

Yes/offline

Grow a raid0

Yes/Yes

Yes/Yes

Yes/Yes

Yes/yes

Grow a raid5/z

No/may be possible in the future

Yes/offline

Yes/offline

Yes/offline

Convert from Raid5/z to Raid5/z+0

Yes/Yes

No

No

Yes/yes






Coping with difficulties





Handles whole disk failure

Yes

Yes

Yes

Yes

Checksum's all data

Yes

No

No

No

Copes with disk corruption

Yes

Nov

Nov

Nov






Special Attributes





Optional On Disk Compression

Yes built in.

No/requires another layer of software

No/requires another layer of software

No/requires another layer of software

Multiple volume/filesystems per device/pool

Yes

No

Yes

Yes

Integrated NFS support

Yes

No

No

No

Recursively apply File system attributes

Yes

No

No

No

Built-in backup/restore support

Yes

No

No

No

Space Shared between all filesystems in the pool/dataset

Yes

One filesystem per device

You preallocate space per filesystem

You preallocate space per filesystem

Integrated quotas

Per filesystem

Not Integrated but more flexible

Not Integrated but more flexible

Not Integrated but more flexible

Integrated Reservations

Yes

No

No

No


Sources


  1. Solaris Express man pages, zpool(1M), zfs(1M)

  2. Software RAID http://www.tldp.org/HOWTO/



Footnotes

iZFS doesn't support raid 5 but does support raid-z that has better features and less limitations

iiRaidZ - A variation on RAID-5 which allows for better distribution of parity and eliminates the "RAID-5 write hole" (in which data and parity become inconsistent after a power loss). Data and parity is striped across all disks within a raidz group. A raidz group with N disks of size X can hold approximately (N-1)*Xbytes and can withstand one device failing before data integrity is compromised. The minimum number of devices in a raidz group is 2; the recommended number is between 3 and 9.

iiiRollback the given dataset to a previous snapshot. When a dataset is rolled back, all data that has changed since the snapshot is discarded, and the dataset reverts to the state at the time of the snapshot.

ivA clone is a writable volume or file system whose initialcontents are the same as another dataset. As with snapshots, creating a clone is nearly instantaneous, and initially consumes no additional space.

v[Linux] RAID (be it hardware- or software-), assumes that if a write to a disk doesn't return an error, then the write was successful. Therefore, if your disk corrupts data without returning an error, your data will become corrupted. This is of course very unlikely to happen, but it is possible, and it would result in a corrupt filesystem. http://www.tldp.org/HOWTO/Software-RAID-HOWTO-6.html

ZFS related links:
Why ZFS for Home Moving ZFS pools ZFS root is near Zones on ufs vs. ZFS


hosting services provided by Contextshift if you have hosting needs they can solve them for you.