ZFS (or ZFS like) reliability on openSUSE?

I have a drive I would like to use the ZFS ability to specify “copies=2” in order to provide protection against data corruption. See ZFS - Wikipedia, the free encyclopedia This would mean that there would always be two copies of the filesystem with error checking to protect form bad sectors.

Is there an easy way to use ZFS on openSUSE or is there something like it. Note that it’s over one drive and not several in this case.

Thank you.

I believe I have answered my own question. :slight_smile:

ZFS on Linux

ZFS for Linux — Rudd-O.com (in the openSUSE repos currently)

Since I am using a 32 bit system, per the ZFS on Linux FAQ the current release candidate is not my best choice (since apparently 32 bit ZFS is highly unstable) and I may have to go with zfs-fuse and take a performance hit.

If anyone has any better ideas or suggestions please share. I thought I would share what I learned in case someone else searched and had the same question. :slight_smile:

Could you elaborate a bit on your business case for this? For example, if
you plan on updating the file once per day you could use btrfs out of the
box and use snapshots to keep as many copies as you’d like.

If you wanted to do other harder things with any filsystem the inotify (
http://en.wikipedia.org/wiki/Inotify ) bits may be useful for you to come
up with something that creates a copy for you every time you modify
anything. If this is something where every time somebody ever hits save
the latter option may be better, except that in that situation it seems
that people may hit save twice with bad stuff and lose what is correct.

Anyway, more details may help us come up with a solution that meets your
interests rather than your position specifically requesting ZFS.

Good luck.

Hi, I was just looking for a no hassle high redundancy filesystem solution which works over one disk and would protect me somewhat if say the disk develops a bad sector. It seems like ZFS-fuse will work in this case since it’s just a separate data disk partition where I might store some movie or such. Ideally it would handle the redundancy behind the scenes.

I was looking at lvm2 and snapshots but it seems you actually need 3 times the space of the partition you want to mirror and I believe it doesn’t work quite as well as ZFS does. Hopefully soon the ZFS will be ready for Linux for both x64 and x86 because it seems like the best solution out there for data reliability with the least resources.

Probably the most common solution is to implement RAID.

There are multiple RAID configurations, for a simple/small situation where you want to mirror between two drives, you would use RAID 1.

If you have the means for a small investment, hardware RAID is most reliable and easy to use, in this case the system (likely involving the BIOS) automatically detects and configures everything for you… You just install your OS, apps and data the normal way. If one of your disks goes bad, you “break” the pair, then you can run on the single disk for as long as it takes for you to replace the bad disk. When you install a new disk, you “re-build” the RAID to restore fault tolerance (protection from disk failure).

If you instead don’t have the ability to install hw RAID, you can install software RAID, it’s also one of the options during an openSUSE install (would also be true of any other modern OS). Although similar in function to hw RAID, it’s usually less reliable, requires some configuration and will cause a performance hit.

I’d envirsion ZFS used primarily for very unusual situations where tried and true, reliable RAID might not be an option.

HTH,
TSU

Hello TSU,

Exactly. For me in this instance it is kind of a special case since it’s just one disk I will be using. That’s why I want to make it simply split it in two to have some protection for if a sector or two goes bad. Unfortunately at the moment I’m not able to buy more hardware. I know this won’t protect me from a whole disk failure but it’s better than simply using one ext4 partition; and the data I will be putting on the drive isn’t very important in the first place.

That said I set it up using zfs-fuse just a few hours ago and I must say that I am very impressed with it. It’s a bit of a performance hit but the “copies=2” option seems to be working and it’s doing what it’s supposed to. It was surprisingly easy to set up. :slight_smile:

It’s not a direct replacement. RAID means you still have just one copy of your data. If this copy gets corrupted, data is lost. ZFS actually stores multiple copies so it is able to recover. This is additional feature on top of RAID.

With ZFS you can do “dd if=/dev/zero of=/dev/sdX” where sdX is part of zpool and it will recover.

Yes. From my limited reading on the issue it seems RAIDZ or RAIDZ2 does this.

Non-standard RAID levels - Wikipedia, the free encyclopedia

RAID-Z

RAID-Z is not actually a kind of RAID, but a higher-level software solution that implements an integrated redundancy scheme similar to RAID 5, using ZFS.[15]](Non-standard RAID levels - Wikipedia) RAID-Z avoids the RAID 5 “write hole”[16]](Non-standard RAID levels - Wikipedia) using copy-on-write: rather than overwriting data, it writes to a new location and then automatically overwrites the pointer to the old data. It avoids the need for read-modify-write operations for small writes by only ever performing full-stripe writes. Small blocks are mirrored instead of parity protected, which is possible because the file system is aware of the underlying storage structure and can allocate extra space if necessary. RAID-Z2 doubles the parity structure to achieve results similar to RAID 6: the ability to sustain up to two drive failures without losing data.[17]](Non-standard RAID levels - Wikipedia)[18]](Non-standard RAID levels - Wikipedia)[19]](Non-standard RAID levels - Wikipedia)