tl;dr: Solution in order to minimize the probability of a data loss
Next to good hardware and backups, use advanced file systems, like ZFS. They were developed in order to work
with large arrays (multiple terabyte up to petabytes) safely. Unlike arrays with ext4 or NTFS which do not
implement CopyOnWrite and checksums, they are crash resistent, do not require a long running offline fschk
and offer checksums to repair bitrot on access or scrubs without the write hole problem of hardware raid.
As for hardware
- Stay safe, use server class hardware and ECC RAM
As for file systems
- CopyOnWrite: Data changes are written as complete new data to the disk together with their meta
data in one (atomic) operation. This leads to a file system which can never be corrupt
- Online Scrubbings in order to repair silent errors and bit rust with the help of checksums. The old data
block will be freed in order to be overwritten (unless it is protected by a snapshot)
- Checksums: They are needed on order to detect and repair errors. When using redundant data (like in a
RAID), all data will be repaired during file access and data scrubs.
As for the RAID
- Use ZFS software RAID. ZFS is not only a file system, but also offers softwareraid and raid, volume
and share management. Especially in combination with CopyOnWrite it offers superior reliability
and performance compared to a hardware RAID controller with BBU.
- When using SSDs, prefer those with Powerloss Protection.
Prefer enterprise class SSDs (Intel S3x or Samsung PM/SM) where you can trust the powerloss feature
As for files
- Use versioning and snapshots. They will be generated in any number without time consumption.
The space requirement is the number of changed data blocks compared to the previous version.
- Backup through replication, based on snapshots. This is very fast as it only transfers changed data
blocks after the initial backup. Open files will also be synced together with the version on the disk.
Summary of Contents for ZFS Storage
Page 8: ...3 1 ZFS Configurations...