Не копируются по сети большие файлы

Обновлено: 04.07.2024

Здравствуйте.
Нужно это все мне для холодного backup базы oracle.
Копирую через mc. С удаленной машиной соединяюсь через shell.
Файл до 1Гб копируются без проблем. При попытке копировать файл 2,2Гб копируется до 1,9Гб затем выдается ошибка (Невозможно закрыть целевой файл Broken pipe (32)). C файлом 7Гб аналогичная ситуация, но копируется до 3ГБ.

Формат файла dbf
Oracle остановлен
Локальная сеть 100Мб
Операционная система Linux Red Hat

PS. Еще подозрительная скорость копирования 1Гб копируется за час.

Заранее всем спасибо за ответы

>scp ? rsync ? nfs ?

К сожалению в протоколах не силен. Могу сказать что копирую через Midnight Commander
Там выбираю F9/Правая панель/Shell соединение. далее пишу ip. Все я на удаленной машине. Затем как обычно F5 и вперед. Ну остальное в теме

Был аналогичный случай. Делали дамп базы Oracle с raw устройств а целевая файловая система для дампа не поодерживала фалй размером больше 2Gb. Выверлулись путём использования конвеера. Т.е. дамп сразу сжимали gzipom.

По вашему случаю
- уточните максимальный размер файла
- используйте стандартные средства системы для копирования cp, scp, tar, rsync.
документации по ним вс сети полно.


>Был аналогичный случай. Делали дамп базы Oracle с raw устройств а целевая
>файловая система для дампа не поодерживала фалй размером больше 2Gb. Выверлулись
>путём использования конвеера. Т.е. дамп сразу сжимали gzipom.
>
>По вашему случаю
>- уточните максимальный размер файла
>- используйте стандартные средства системы для копирования cp, scp, tar, rsync.
>документации по ним вс сети полно.

lukLos, спасибо за варианты, попробую. Хотя хочу сказать, что проблема скорее всего не с максимальным размером файла. Поскольку исходя из этого
>При попытке копировать файл 2,2Гб копируется до 1,9Гб затем выдается ошибка (Невозможно >закрыть целевой файл Broken pipe (32)). C файлом 7Гб аналогичная ситуация, но копируется >до 3ГБ.

нет закономерности. Обрывается именно соединение. О чем свидетельствует и ошибка Broken pipe

Еще хочу добавить. Пробовал копировать через протокол scp программой Winscp. Соединение в этом случае обрывалось намного быстрее и скорость была еще ниже, но компьютеры были в разной сети. Сейчас ввел их в одну сеть.

С вами канал " Techno-Geek " и в этой статье хочу поделится с вами информацией о том, как, скопировать большие файлы в неустойчивой сети. И начать хочется с того, что на днях столкнулся с такой проблемой - нужно передать файл в 6 гигабайт внутри одной сети на устройство доступ к которому есть только через беспроводное сетевое подключение и ни как иначе.

Суть проблемы:

При обычном копировании через CTRL+C - CTRL+V копирование файла доходило до пределов в 38% - 96%, сеть разрывалась и файл полностью не передавался, а стандартные методы Windows не позволяют делать блочное копирование и не поддерживают докачку файла, соответственно файл всегда получался повреждённым и был не пригоден для его открытия на другом устройстве.

Проблема усугублялась тем, что второе устройство находится в физически недоступном месте и к нему нет возможности подключить сетевой кабель напрямую или записать данные на переносной носитель информации и подключить его к устройству. Так нужно было найти способ передать большой объём данных внутри беспроводной сети не имея физического доступа к другому устройству.

Поиск путей решения

Естественно первым делом я пошёл в поисковик и начал искать программы которые поддерживают процесс копирования файлов с докачкой и удивился тому, как часто у пользователей возникает такой вопрос (скриншот приложу ниже), но ответа я так и не нашел, все решения на которые я натыкался это советы программ для копирования по типу "TeraCopy" или "KillCopy", но они мне не помогли, так как по сути эти программы ни чем не отличаются от стандартных средств Windows и при разрыве сети они также выдают ошибку передачи файла.

Скриншот страницы по запросу "Копирование файлов с докачкой" Скриншот страницы по запросу "Копирование файлов с докачкой"

Выход из ситуации

Поскольку я не являюсь сетевым экспертом, и не знаю всех тонкостей работы с консолью и серверами мне нужно было найти максимально простое и удобное решение, которое я как пользователь мог бы применить не вдаваясь в различные SSH протоколы и консольные программы, мне просто нужно было передать файл имея функцию докачки фала при разрыве сети или если произойдёт физическое отключение питания в процессе копирования, чтобы я не повторял копирование всего файла, а просто и без каких либо проблем продолжил копирование с точки разрыва.

И тут ко мне пришла простая, но в то же время рабочая идея - использовать для передачи файла Торрент-клиент. Всё что мне нужно сделать - это создать торрент файл, для этого нужно зайти в меню "Файл" - "Создать новый торрент. ", выбрать файл и создать для него торрент файл.

Таким образом я буду сам для себя отдающим и принимающим. Напомню, что физического доступа к устройству, на которое нужно передать файл нет, соответственно установить на нём торрент клиент я не могу, а значит я должен отдавать файл со своего персонального компьютера и принимать его к себе же в сетевое пространство но на диск к которому у меня открыт доступ.

Для того, чтобы осуществить такую операцию мне нужно было, чтобы мой торрент файл передавался внутри сети без использования торрент-трекера, а только по средствам сети через торрент-клиент. Для этого нужно задействовать технологию DHT (Distributed Hash Table), которая включается в настройках торрент-клиента и обеспечивает передачу файлов внутри сети и в обход торрент-трекеров.

Что дальше?

Итак я создал торрент файл, после чего он автоматически добавился в программу uTorrent, которая является моим торрент-клиентом, и стал на раздачу, но мне это не нужно, так как я не раздаю файл кому-то, а просто хочу копировать его с поддержкой докачки, поэтому мне нужно было удалить файл из торрент-клиента. Для этого нужно нажать по нему правой кнопкой мышки и выбрать "Удалить выборочно" - "Только торрент файл"

Теперь, осталось только пойти туда, где создан торрент-файл, в моём случае я поместил его на рабочий стол, и два раза нажать на него левой кнопкой мыши, для того, чтобы запустить процесс скачивания. После - выбрать путь куда будет скачиваться файл, в моём случае это устройство в сети, и начать загрузку. Так, даже когда сеть будет обрываться, то будет возможность продолжить копирование с того места в котором оно прервалось, а если в процессе копирования вдруг будет скачок напряжения и компьютер перезагрузится, то при открытии торрент-клиента будет произведена проверка файла и копирование продолжится.

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Конфигурация компьютера
Процессор: CPU Intel Core i5-750 2.66 ГГц/1+8Мб/2.5 ГТ
Материнская плата: GigaByte GA-P55-US3L
Память: Kingston DDR-III 4 Gb
HDD: Seagate 750 Gb
Видеокарта: GeForce GTX260
Звук: Realtek
CD/DVD: Pioneer DVR-218L
ОС: Windows 7 Ultimate x64
Прочее: Asus Eee PC 1008 HA
На ноутбуке установлен ESS, но раньше такой проблемы не замечалось когда на обеих машинах стоял ESS.
Конфигурация компьютера
Процессор: Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz
Материнская плата: Gigabyte GA-H67MA-UD2H-B3
Память: Hynix HMT325U6BFR8C-H9 2x2Gb + Hynix HMT351U6BFR8C-H9 2x4Gb
HDD: Hitachi HDS721010CLA332
Звук: Realtek ALC889
Блок питания: Asus 500W
CD/DVD: Optiarc DVD RW AD-7201S ATA Device
Монитор: Acer V243HQAbd
ОС: Windows 7 Ultimate x64 SP1 RTM (6.1.7601)
Индекс производительности Windows: 5,1
На ноутбуке установлен ESS, но раньше такой проблемы не замечалось когда на обеих машинах стоял ESS. »
Может в этом и дело. А то похоже на мою конфигурацию: У меня Kis, а у брата ESS
Маленькие файлы копируются без проблем, а большие все проблематично. Заметил, что при копировании, в начале и в середине бывает приостановка на несколько секунд и потом все продолжает копироваться.

Проверьте сетевой параметр
netsh int tcp show global

ECN Capability : disabled - пробки на "дороге", снижаем передачу

netsh int tcp set global ecncapability=enabled (enabled, disabled, default)

Конфигурация компьютера
Процессор: CPU Intel Core i5-750 2.66 ГГц/1+8Мб/2.5 ГТ
Материнская плата: GigaByte GA-P55-US3L
Память: Kingston DDR-III 4 Gb
HDD: Seagate 750 Gb
Видеокарта: GeForce GTX260
Звук: Realtek
CD/DVD: Pioneer DVR-218L
ОС: Windows 7 Ultimate x64
Прочее: Asus Eee PC 1008 HA

Valeant,
По дефолту было у меня так(ноутбук)


Я так понял "Мощность ECN" вы советуете выключить?
И эту процедуру нужно сделать на обеих машинах или надо сделать как вы советуете здесь (27 пост)?

Последний раз редактировалось MaxSL, 17-03-2010 в 00:41 .

Если включена то да выключить disable, но по вашему скрину она выключена, но не определен параметр
"Поставщик надстройки контроля перегрузки".

CTCP увеличивает темп передачи с одновременным контролем размера окна и пропускной способности. Сервер быстрее достигает максимального темпа передачи и также быстрее восстанавливается при потере пакетов.

none: использование встроенного стандартного алгоритма контроля перегрузки.
ctcp: использование дополнительного алгоритма контроля перегрузки CTCP.
default: восстановление выбранного поставщика по умолчанию.

установить CTCP
netsh int tcp set global congestionprovider=ctcp (none, ctcp, default)

Низкая скорость копирования файлов по сети в Windows

При копировании файлов по сети в различных версиях ОС Windows, можно столкнуться с проблемой, которая заключается в очень медленной скорости копировании информации с одного компьютера на другой. В данной статье буду рассмотрены основные причины таких "тормозов".

Включена опция "Удаленное разностное сжатие"

Одной из наиболее часто встречающихся причин медленной скорости копирования между двумя компьютерами является активная работа компонента "Удаленное разностное сжатие".

Удаленное разностное сжатие – это функция Windows, впервые появившаяся в Windows Server 2003 и теперь доступная во всех последних версиях Windows. В Windows 7 эта функция включена по умолчанию.

Удаленное разностное сжатие (RDC) позволяет синхронизировать информацию с удаленным источником, используя технологии сжатия для минимизации объема посылаемой по сети информации. RDC отличается от исправляющихся разностных механизмов, таких как Binary Delta Compression (BDC), которые разработаны только для операций с известными версиями отдельного файла. BDC требует, чтобы на сервере были копии всех версий файла, а разности между каждой парой версий предвычисляется для эффективной передачи с сервера множеству клиентов. В Windows 7 с этим существуют определенные проблемы, поэтому отключение этой функции может помочь решить проблему медленного копирования файлов.

Отключаем удаленное разностное сжатие в Windows 7

Чтобы отключить Удаленное разностное сжатие:

  1. Нажмите Пуск – Панель управления – Программы – Включение или отключение компонентов Windows.
  2. Снимите отметку с «Удаленное разностное сжатие» и нажмите Ок.



Жмем "ОК" и обязательно перезагружаем компьютер, чтобы данный компонент был отключен.

Отключаем удаленное разностное сжатие в Windows 10

В Windows 10, процедура отключения Удаленного разностного сжатия выглядит следующим образом:


  1. Нажмите правой кнопкой на кнопку меню Пуск, и в появившемся меню выберите пункт "Выполнить". В появившемся окне введите команду и нажмите ОК:
  2. Откроется окно "Программы и компоненты", в его левой панели нужно выбрать пункт "Включение или отключение компонентов Windows".
  3. В списке компонентов Windows нужно снять галочку с пункта "Поддержка API удаленного разностного сжатие" и нажать "ОК".
  4. Для применения изменений потребуется перезагрузка.

Читайте также: