I'm setting up a NAS box for the first time. At the moment, I have most of my data backed up to a few local hard drives, and I intend to transfer all the data to my NAS over ethernet once the RAID array is setup. Since this is all happening over the network, I'm a bit worried about my data getting corrupted silently during transfer. From what I understand, data generally doesn't get corrupted without notice on local transfers because a checksum is performed at some point by the drive or the OS. (This could be totally wrong.) Does the same thing happen with SMB, or is it up to the transferrer to check the integrity of their data? And if it doesn't happen with SMB, is there a protocol that does ensure data integrity? I know that rsync can checksum a transfer, but I'm on Windows and I already have a robocopy configuration that I like. Will my data be safe or do I have to use an external checksum tool to make sure?
Read your docs - everyone has a verify option these days.
I strongly suggest rsync with verify. You can get rsync on any OS these days, and all you need is the client. Further, It's unlikely that your data will be corrupted during copy by the network layer. Maybe your drives are junk, or your motherboard is dying, but the network is pretty robust.
Also, if you mount the drives up, fire up a cmd window (aka dos window) and try xcopy /V to get a verified copy (use xcopy /? to see all the options) - and make sure your data lives on multiple drives, or you have copies spread out. Don't ever trust a single point of failure!