Saturday, November 25, 2017

Phpar2 64-bit - Intro

So a friend of mine thinks I may be the first person to par data with large amounts of memory, and suggested that I blog about my experiences. Well, my worldwide audience, what say you? 😃

I guess I'll post an introduction and background.

I will not go in detail about parity data files ("pars"). Pars are like RAID 5 for data files. Using extra parity data, you can regenerate your original data files. That's the key idea.

The main developer of PAR2 was Peter B Clements. There are some limitations, like directory support is missing. Some newer versions, like Par 3, can overcome those limitations, but they are way too experimental to trust our real data to.

The best implementation of PAR2 is Paul Houle's phpar2. Paul is both a gentleman and a scholar. He kindly generated a 64-bit version of phpar2. He has made a number of performance improvements over the years, and the latest, the 64-bit version is his best ever. He also added a "-t" parameter to control the number of threads.

I have a testing rig. I recently moved my main server to a newer Dell T410 server. The old server has become my testing rig. It is a simple desktop workstation mobo, with 32 G DRAM. I can stuff 10 HDD's in it, and although I am having a few problems with the disk / controller, it's very handy to have a rig where you can simply test your backups. I've placed the disks in a RAID 0 single volume configuration, and it's perfect for testing. It's extremely fast for reads and writes. SSD's would be faster, but this is very good with conventional disks.

My backups are 17 T in size. My backup strategy is:

1. Shutdown all VM's
2. Par up all VHDX's (1%)
3. Calculate the SHA256 hashes of all VHDX's
4. Copy the files (VHDX, pars, etc.) to USB drives (backup #1)
5. Restore the backup to a Destination Server using another SS DP / ReFS volume (backup #2)
6. Execute a repair operation using phpar2. Repair implies verification, and repair if necessary.
7. Calculate the Sha256 hashes of the VHDX's.on the Dest.
8. Compare

In this post I haven't gone into too much detail, but only provided a background and introduction to my experiments with phpar2.

The idea of the following posts is to determine, using repeatable experiments, if phpar2 64-bit is dependable.

No comments:

Post a Comment