Перемістивши досить велику кількість даних (~ 1 ТБ) по мережі з одного сховища в інше, я помітив, що файл на цільовій системі відрізняється від оригіналу.
Налаштування: ПК (Windows 7 64) із спільним доступом до Windows -> мережа 1000BaseT 2х перемикач 1G -> ПК (Windows XP) як клієнт Windows Sharing або NAS із спільним доступом до Windows (можливо, Samba?) -> 1000BaseT мережа 1x 1G комутатор -> ПК ( Windows 7 64) як клієнт спільного доступу до Windows
Порядок дії: Скопіюйте з загального доступу до Total Commander - помилки не повідомляється -> Синхронізувати дріфи в Total Commanded (порівняйте за вмістом) - деякі файли відрізняються -> Total Diff Differ (подвійне клацання у виведенні синхронізувати dirs) - деякі файли, позначені як різні, показують різниця, деякі з них цього разу повідомляються як такі ж. Я спробував PC-PC та PC-NAS, і те саме.
Я вивчив один з файлів (~ 60 ГБ один), і, здається, відмінності завжди є однобайтовими, мають значення 0 на оригіналі та 128 на цільовому. Вони випадковим чином поширюються по всьому файлу, близько 10 з них. Повторне запуску розмінності показує, що деякі з них зберігаються, а деякі з них змінені, але є приблизно стільки ж.
EDIT: Щоб відповісти на підозру Syneticon-dj щодо TC, я маю зазначити, що я написав просту програму C #, яка читає два файли за допомогою .NET API та порівнює їх байт за байтами. Ось як я отримав інформацію про різниці в попередньому абзаці.
Здається, мережева передача провалюється один біт кожні 6 гігабайт або близько того. Як це можливо? Це нормальна поведінка? Як це передає контрольні суми на рівні TCP? Як я можу сказати, що не так і що слід замінити?
EDIT: Якщо передача мережі навряд чи є причиною помилок, що може бути реальною причиною?