FreeFileSync vs RAID 0 Mirroring

Get help for specific problems
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

Hi, thanks for having me in this forum. I'm afraid my question may be already answered, so apologies if I'm repeating somone else's issue.
I have a Windows Server which I use as a media server for my pictures, movies and music sharing across the LAN. This server has a system drive plus 2 x 4TB drives which are currently setup as a Mirror.
Problem is, whenever the server dies (power failures, bugs, etc.) the RAID volume goes through a lengthy resync process.
Because of the nature of the data being stored there's not a lot of addition or deletion of files, so the storage is fairly static.
My question is, would Freefilesync eliminate this full drive resyncing process? If so what are the setup parameters? If not, any other suggestions how I might eliminate this Windows Disk Management resync issue?
Thanks in advance for your thoughts.
User avatar
Posts: 2271
Joined: 22 Aug 2012

Plerry

First of all: in your tile you mention a RAID 0 configuration, later you mention "currently setup as a Mirror".
This is contradicting itself.
Although RAID stand for Redundant Array of Independent disks, two disks in a RAID 0 configuration are not redundant and are not a mirror. The data is equally divided between the two disk. In RAID 0, if a single disk fails, you loose all your data.
Two disk in RAID 1 is a "true" Mirror. If one of those disks fails, all the data is still available from the other disk. Once properly configured, maintaining the mirror (sync, if you like) between the two disks is fully automatic, consumes very little overhead and requires no user intervention whatsoever.
But obviously, if the system that comprises those two disks fatally fails, the data from both those disk may no longer be accessible.

There is no clear or direct link between using RAID (1) and the using FFS for synchronization purposes.
You can use FFS to create a mirror of a first location to a second location. Those locations may be on the same disk, on different disks, on different physical devices or even different locations (buildings, towns, countries).
Depending on your reasons for creating and maintaining your mirror, you would select one of the above.

Running a mirror sync in FFS requires defining and saving a proper sync configuration, and then performing that sync frequently or incidentally manually or automatically, e.g. as a Scheduled Task.

Note that a mirror is just that. If you (accidentally) modify or delete a file in your source, (after running a mirror sync) your mirror will comprise those same changes.
FFS offers the opportunity to go further than that, e.g. by using Versioning.
This allows you to revert to one or more of the earlier versions of any given file that is within the scope of your sync.
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

I probably got my 0s and 1s mixed up. In any case, the config is RAID, and thanks for reminding me what that acronym means.
Whatever the number, my server is running 2 identical disks as a RAID Mirror (so I guess that means it's #1).
So, putting the jargon aside for a moment, I understand your response means I could convert the current 2 Mirror disks to have separate drive letters and sync the data across those drives with FFS.
What's missing in my understanding is whether FFS would demand a resync in the event of an unscheduled reboot.
Thanks for your assistance.
User avatar
Posts: 2271
Joined: 22 Aug 2012

Plerry

Note that FFS syncs files (in their existing folder structure).
It does not create entire disk clones.
Two disks in RAID 1 can be considered an automatic, constant and instant full clone.

If you do not see the need for Versioning, or for Mirroring or Backup to an another machine or other location, there does not seem to be a benefit to switch from RAID 1 to two non-RAID disks en using FFS to mirror sync between those two.
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

Note that FFS syncs files (in their existing folder structure).
It does not create entire disk clones.
I'm guessing that's effectively what RAID 1 does, albeit under a different approach.
Two disks in RAID 1 can be considered an automatic, constant and instant full clone.
Understood, however I'm of the impression that FFS is just not automatic (unless controlled by a system level command)
If you do not see the need for Versioning, or for Mirroring or Backup to an another machine or other location, there does not seem to be a benefit to switch from RAID 1 to two non-RAID disks en using FFS to mirror sync between those two.
I'm not clear on your meaning here Plerry, 08 Sep 2022, 14:46
The question remains about the performance of FFS when an unplanned system halt occurs, as opposed to the RAID approach which imposes a lengthy resync after the system restarts.
User avatar
Posts: 3582
Joined: 11 Jun 2019

xCSxXenon

FFS will of course recover faster, but that's like putting a band aid on a knife wound. RAID 1 provides a mirror to avoid downtime when a drive fails whereas using FFS wouldn't necessarily avoid downtime since it won't be an exact disk clone. It depends what the volume is used for, OS vs data. A battery backup on a server is usually the best idea. It can also plug into the server via USB to shut the computer down if there is a power outage, rather than it losing power
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

FFS wouldn't necessarily avoid downtime since it won't be an exact disk clone
My plan would be for the 2nd 4TB HDD to act as a 'carbon copy' of 4TB HDD #1. So the volume would be used exclusively for data (photos, music, video) files, with an additional, external backup snapshot taken periodically (probably weekly or monthly) - is that feasible and secure enough?
What am I losing by using this approach instead of RAID 0 (which has the inconvenient feature of requiring Resync after system failure)? Note that the system shutdown/failure problems are mostly deeply buried Windows Server issues that I'm working to resolve.
Suspected chief culprit is overheating (hopefully now eliminated) and some driver or services foibles (not so easy to track down and fix). So, until those issues can be successfully addressed, the RAID 1 Resync is an unwelcome feature. Battery backup in this instance is a sledge hammer to crack a walnut.
Thanks for your insights, I look forward to resolving these issues, potentially with FFS.
User avatar
Posts: 3582
Joined: 11 Jun 2019

xCSxXenon

FFS would work fine in your scenario
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

Thanks all for your helpful guidance and input. I've now broken the Mirror (as they say) on my Windows Server and configured FFS to the best of my current comprehension ability. I've fiddled with the options between Compare and Synchronize and feel that I've got the gist of that part - probably more to learn there but at least I've got a 'mirror' between my 2 HDDs.
I'm bamboozled by what seems to be a shipload of alternative methods to have FFS automatically sync changes to the right hand side drive. What I'm hoping for is if a file is added, changed or deleted on the Left Side, that change is automatically transferred to the Right side.
I can't see anywhere that describes in Dummy's lingo what needs to be done to establish that function.
Please point me in the right direction - I've searched to online documentation without result.
CORRECTION: I've just noticed the video tutorial on RealTimeSync. I'll have a look at that later and hope it answers my question. (says he, hoping that it lays out simpleton step by step instructions).
Last edited by GeoffWhere on 23 Sep 2022, 02:08, edited 1 time in total.
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

UPDATE: I located RealTimeSync and opened the program. It has a link to "Show Examples" to ffs_batch files. I click on that link and find no sample batch files. I'm guessing there's rules around what the batch file should contain. Any tips?
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

Is this what's supposed to go in the Command Line field of the RealTimeSync App?
"c:\program files\freefilesync\freefilesync.exe" "C:\program files\freefilesync\realtimesync.ffs_batch"
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

I get an error: Error parsing file c:\program files\freefilesync\realtimsync.ffs_batch", row 1 column 17
The batch file contains the command: FreeFileSync.exe
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

Thanks for your response. I've tried those 'guides' and seen the YouTube video (several times), but these don't appear to answer my question "Is this what's supposed to go in the Command Line field of the RealTimeSync App?" -
"c:\program files\freefilesync\freefilesync.exe" "C:\program files\freefilesync\realtimesync.ffs_batch"

And, to add to my confusion, the video refers to a file: c:\Users\Zenju\Desktop\Backup Work.fffs-batch
I'm not understanding the relationships between the various instructions and the content/context of each instruction. Once more for Dummies?
User avatar
Posts: 3582
Joined: 11 Jun 2019

xCSxXenon

That looks correct, but the best way to make sure is to drag-and-drop the ffs_batch config from File Explorer onto the RTS window
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

I'm sorry, but I'm lost.
I don't understand what the command in the batch file is supposed to be and what the batch file is supposed to be called.
I've tried:
c:\program files\freefilesync\freefilesync.exe" "c:\program files\freefilesync\realtimesync.ffs_real
and
c:\program files\freefilesync\freefilesync.exe" "c:\program files\freefilesync\realtimesync.ffs_batch

Where realtimesync.ffs_batch contains the instruction: FreeFileSync.exe
Both with error responses. I'm missing something probably obvious that's not obvious to me and neither the instructions nor the video explain this.
User avatar
Posts: 2271
Joined: 22 Aug 2012

Plerry

Obviously, your first command line will not work, because you tell FFS to open an RTS monitoring configuration (which it does not know what to do with or how to handle) instead of an FFS sync configuration.
The second one should work OK, assuming c:\program files\freefilesync\realtimesync.ffs_batch is an existing, properly working FFS sync configuration, present in that specified location (which is a strange location to store FFS sync configurations and RTS monitoring configurations, because it is the program files location)

Instead of your apparent struggle with the command line, simply use the option of dragging/dropping
a properly working FFS *.ffs_batch configuration into the RTS GUI window.
viewtopic.php?t=9632#p35366
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

Obviously, your first command line will not work, because you tell FFS to open an RTS monitoring configuration (which it does not know what to do with or how to handle) instead of an FFS sync configuration.
This basically encapsulates my dilemma, as I have no idea how an FFS sync configuration is supposed to be constructed. Sorry, but the instructions provided haven't improved on my lack of understanding.

The second one should work OK, assuming c:\program files\freefilesync\realtimesync.ffs_batch is an existing, properly working FFS sync configuration, present in that specified location (which is a strange location to store FFS sync configurations and RTS monitoring configurations, because it is the program files location)

Instead of your apparent struggle with the command line, simply use the option of dragging/dropping
a properly working FFS *.ffs_batch configuration into the RTS GUI window.
viewtopic.php?t=9632#p35366 Plerry, 29 Sep 2022, 09:48

"The second one should work OK", but it gives the error message:
Command "c:\program files\freefilesync\freefilesync.exe" "c:\program files\freefilesync\realtime.ffs_real" failed.
Exit code 1: 'c:\program' is not recognized as an internal or external command,
operable program or batch file.

Again I apologize for my lack of understanding, but I'm left wondering what constitutes a "properly working FFS sync configuration", where do I find or create one that contains commands that match my circumstances; and what would be a more appropriate "location to store FFS sync configurations"?
My apparent struggle with the command line may stem from my long-since unused DOS & C/PM experience with batch files, where batch files contained logical (to me) system commands. The FFS approach appears to use very different (to me) concepts and, from what I've observed (however uninformed that may be), they don't seem to contain commands that seem to logically follow a clearly defined path.
Or am I looking at this from the wrong perspective?
User avatar
Posts: 2271
Joined: 22 Aug 2012

Plerry

> "The second one should work OK", but it gives the error message:
> Command "c:\program files\freefilesync\freefilesync.exe" "c:\program files\freefilesync\realtime.ffs_real" failed.

The command you quote is your first one (ending in *.ffs_real), not your second one (ending in *.ffs_batch).
And as replied earlier, that first one can/will not work, "The second one should work OK".

For creating and saving FreeFileSync (FFS) sync configurations, see the FFS manual and/or view the tutorials, particularly the one on creating FFS-batch files.
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

OK, my mistake in mixing up the 2 formats and I'll correct that.
But I don't get that you're leading me to an FFS video to set up an RTS routine.
Also, the YouTube video screen layouts differ from the current FFS version on my PC. I'll try to stumble through that with my best guesswork.
As I've previously said, I could be overthinking this, but that could be because there are many 'between the lines' gaps in the instructions that cause me to apply flawed thinking, which ends up me going down blind alleys.
I'd really appreciate a simple, step-by-step, foolproof set of instructions that I can easily and reliably execute. That would save all of us a lot of time and pain.
User avatar
Posts: 2271
Joined: 22 Aug 2012

Plerry

You still seem to be missing the difference between FreeFileSync (FFS) and RealTimeSync (RTS).
I'll give it one last try:

As described in the RTS manual page, RTS monitors one or more specified directories for changes.
Upon detecting any changes in the monitored directory/directories (or any of their subdirectories), RTS will launch the command specified in the RTS command-line field.
This can be any command, invoking just any program specified in the RTS command-line field, but is most commonly used to launch FFS (the "...\freefilesync.exe" part of the RTS command-line) to execute a specified FFS sync configuration (specified by the "....ffs_batch" argument part of the RTS command-line).

You normally create the *.ffs_batch FFS sync configuration in the FFS GUI, where you specify the left and right base location(s) that need to be involved in the FFS sync, the Compare method to be applied, the Sync variant that must be applied, any Include and/or Exclude Filter settings, the Delete Files method etc.
After you have verified (from the FFS GUI) that your sync configuration works as intended, you can then save it as a *.ffs_gui or *.ffs_batch file under a self selected name in a self selected location (from that same FFS GUI).
If the FFS sync is intended to be launched by RTS, saving as a *.ffs_batch file is normally preferred.

Once you have created and saved such correctly working *.ffs_batch FFS sync configuration, the simplest way to create a corresponding RTS task is to open the RTS GUI, and drag/drop the intended *.ffs_batch file into the RTS GUI window. This should create the (list of) RTS monitored directories and the proper corresponding RTS command-line.
You can then save that RTS configuration for later (re)use by saving it from the RTS GUI as a *.ffs_real file under a self selected name in a self selected location.
Posts: 17
Joined: 8 Sep 2022

GeoffWhere

You still seem to be missing the difference between FreeFileSync (FFS) and RealTimeSync (RTS).
I'll give it one last try:
Once you have created and saved such correctly working *.ffs_batch FFS sync configuration, the simplest way to create a corresponding RTS task is to open the RTS GUI, and drag/drop the intended *.ffs_batch file into the RTS GUI window. This should create the (list of) RTS monitored directories and the proper corresponding RTS command-line.
You can then save that RTS configuration for later (re)use by saving it from the RTS GUI as a *.ffs_real file under a self selected name in a self selected location. Plerry, 04 Oct 2022, 11:37
Thanks for your continued interest in helping me sort out what should be straight forward (and probably is to those already familiar with the tool).
Your earlier comment about file location remains a mystery to me - but, as it turns out, doesn't matter.
After a lot of poking around in the dark and looking at the video you directed me to, guesswork trial and error led me to the concept that the FFS configuration menu 'save as' is where one creates what was previously black magic witchcraft to define and save the batch file. Then drop it into the RTS module and, hey presto, after that, my real-time sync worked.
But that would probably have needed a lot more time and frustration while trying to work out the unclear setup instructions. As a novice in these matters, I'm mostly dependent on step-by-step, graphically illustrated user instructions.
Perhaps that can become available in the future for other Luddites like me. Anyway, it works now and your assistance is appreciated.
More to the point, I've been able to achieve what I set out to do: avoid my Windows system going into a lengthy RAID 1 Resynch whenever there's an unscheduled system stoppage. Now I just have to take a periodic snapshot of my live data as an external backup in case of catastrophic hardware failure.
Thanks again be well.