Копирование данных через нестабильный канал.

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Копирование данных через нестабильный канал.

Сообщение Alex2ndr »

Всем доброго времени суток!

Опишу ситуацию. Есть 2 сетки объединенные по vpn (стандартное pptp с использованием pppd и pptp-linux). В обеих сетках шлюзами в инет стоят машины с Debian Etch. Соответственно туннель прокинут между этими машинами. Но т к в одной из сеток соединение нестабильно (спасибо Корбине), то интернет там переодически пропадает(иногда на 2-3 мин, иногда подольше) и туннель тоже рвется. Я написал скрипт который его регулярно поднимает - но какое-то время связи все равно нету. Скорость соединения с инетом в обеих сетках примерно 2 мбита (скорость по каналу примерно 1 мбит).
Сама задача - Необходимо копировать из одной сетки в другую (читай с одного шлюза на другой, силами/софтом шлюзов) архив бэкапов размером в 20 ГБ(!!!). Время копирования не сильно интересует - если оно будет меньше недели то в приниципе приемлемо (т е 4 бэкапа в месяц устроят). Интересует сама возможность такого копирования - если связь порвется то архив нужно будет копировать заново(это я про стандартные средства) - а если учесть какой он здоровый то возможно и ни разу не скопировать его до конца.
Теперь вопрос:
Чем уважаемые форумчане посоветуют копировать такой объем с возможностью докачки (а лучше просто ожидания восстановления соединения). Пока думаю над поднятием ftp и копированием средствами wget - но может кто-нить предоставит идею получше?

Спасибо за внимание.
Спасибо сказали:
Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

Re: Копирование данных через нестабильный канал.

Сообщение mandreika »

может что-то аля торрента замутить?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Копирование данных через нестабильный канал.

Сообщение rm_ »

Действительно, торрент заодно и целостность переданного проверит, и при повреждении докачает только повреждённые куски.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Копирование данных через нестабильный канал.

Сообщение Alex2ndr »

Спасибо за ответы!
Действительно - я уже сам задумался над созданием чего-то типа p2p. Но вот насчет торрента не уверен. Мне казалось что для торрент трекера нужно что-то типа сайта(т е он так или иначе завязан на LAMP). Соответственно мне все эти навороты не нужны - мне нужен только транспорт. Может быть DC++ подойдет? кто-нить знает обеспечит он нужную функциональность?
Спасибо сказали:
Аватара пользователя
INF[SZ]
Сообщения: 395
ОС: Centos

Re: Копирование данных через нестабильный канал.

Сообщение INF[SZ] »

Может быть синхронизировать данные чем-то типа rsync
Я не понял Вашего вопроса, но я Вам на него отвечу.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Копирование данных через нестабильный канал.

Сообщение KiWi »

Для торрента нужен только трекер. Это может быть opentracker, либо идущий в комплекте с официальным клиентом трекер. Никакого LAMP.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Копирование данных через нестабильный канал.

Сообщение rm_ »

либо идущий в комплекте с официальным клиентом трекер.

Чего ж только с официальным? К примеру, Azureus (Vuze) тоже умеет работать трекером.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Копирование данных через нестабильный канал.

Сообщение Alex2ndr »

Нашел вот такое - XBTT
Вроде ему никакой web морды не нужно. Только как тогда в него файл то помещать - напрямую в mysql что-ли? Сижу разбираюсь.
Спасибо сказали:
Rommel.ua
Сообщения: 65

Re: Копирование данных через нестабильный канал.

Сообщение Rommel.ua »

Alex2ndr писал(а):
23.12.2009 14:42
Нашел вот такое - XBTT
Вроде ему никакой web морды не нужно. Только как тогда в него файл то помещать - напрямую в mysql что-ли? Сижу разбираюсь.

Торрент в режиме без треккера :)
Создаете торрент-файл на сервере с данными (с помощью любого торрент-клиента), передаете его на комп-клиент, открываете там тем же ktorrent'ом и вперед..
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Копирование данных через нестабильный канал.

Сообщение Alex2ndr »

Rommel.ua писал(а):
23.12.2009 16:36
Alex2ndr писал(а):
23.12.2009 14:42
Нашел вот такое - XBTT
Вроде ему никакой web морды не нужно. Только как тогда в него файл то помещать - напрямую в mysql что-ли? Сижу разбираюсь.

Торрент в режиме без треккера :)
Создаете торрент-файл на сервере с данными (с помощью любого торрент-клиента), передаете его на комп-клиент, открываете там тем же ktorrent'ом и вперед..

Я слабовато разбираюсь в протоколе торрента (в tcp/ip гораздо лучше :) ). Не могли бы вы подсказать как это будет работать? кто будет раздавать мой файл для клиента на 2-м сервере? торрент-клиент на 1-м сервере? Может есть какая-то документация? (пока читаю спеки протокола - но это надолго)

Небольшая заметка - на серверах нету Х. Так что будет что-то типа Transmission или иное консольное.
Спасибо сказали:
antares0
Сообщения: 92

Re: Копирование данных через нестабильный канал.

Сообщение antares0 »

Alex2ndr писал(а):
23.12.2009 16:45
Rommel.ua писал(а):
23.12.2009 16:36
Alex2ndr писал(а):
23.12.2009 14:42
Нашел вот такое - XBTT
Вроде ему никакой web морды не нужно. Только как тогда в него файл то помещать - напрямую в mysql что-ли? Сижу разбираюсь.

Торрент в режиме без треккера :)
Создаете торрент-файл на сервере с данными (с помощью любого торрент-клиента), передаете его на комп-клиент, открываете там тем же ktorrent'ом и вперед..

Я слабовато разбираюсь в протоколе торрента (в tcp/ip гораздо лучше :) ). Не могли бы вы подсказать как это будет работать? кто будет раздавать мой файл для клиента на 2-м сервере? торрент-клиент на 1-м сервере? Может есть какая-то документация? (пока читаю спеки протокола - но это надолго)

Небольшая заметка - на серверах нету Х. Так что будет что-то типа Transmission или иное консольное.

А помоему все-таки rsync. Я такое делал на связке vps - очень хреновый gprs. Хотя конечно маштабы в 100 Мб. Торрент помоему эффективен только если отдающих сильно больше одного.
Спасибо сказали:
ivze
Сообщения: 39
ОС: Ubuntu

Re: Копирование данных через нестабильный канал.

Сообщение ivze »

А чем вас не устраивает веб-сервер в пункте отправления + "wget --tries=0 --continue http://....../bigfile.tar.gz" для скачивания?
При таких параметрах оно будет пытаться докачать неограниченное число раз.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Копирование данных через нестабильный канал.

Сообщение rm_ »

ivze писал(а):
23.12.2009 17:30
А чем вас не устраивает веб-сервер в пункте отправления + "wget --tries=0 --continue http://....../bigfile.tar.gz" для скачивания?
При таких параметрах оно будет пытаться докачать неограниченное число раз.

Тем, что можно получить битые данные где-то в середине 20-ти гигабайт, и потом не знать где именно.
Есть спец.средства для "лечения" битых файлов, но торрент гораздо удобнее, т.к. два в одном - и передача, и покусочная проверка целостности.

Alex2ndr
Жаль что вы проигнорировали моё сообщение про Azureus/Vuze, а я так старался, печатал его, кнопки нажимал на клавиатуре...
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Копирование данных через нестабильный канал.

Сообщение Frank »

Для XBTT можно разрешить анонимные файлы, и создать торрент с URL сервер/announce в качестве трекера. Дальше запускаем по торрент клиенту - на сервере и на получателе, и ждём телемаркета. Если хотите, я вам предоставлю свой анонимный XBTT :)
Изображение
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Копирование данных через нестабильный канал.

Сообщение rm_ »

Если хотите, я вам предоставлю свой анонимный XBTT

Если уж есть Интернет, то можно пользоваться публичными трекерами http://www.openbittorrent.com , http://www.publicbt.com .
Но лучше не надо, гораздо прямее выглядит уже описанное решение с трекером в клиенте на одной из сторон.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Копирование данных через нестабильный канал.

Сообщение Ленивая Бестолочь »

ммм. а нужен трекер то вообще?
многие клиенты поддерживают ручное указание сидов.
создаем торрент, в другом клиенте его открываем, указываем руками сид.
мне кажется так должно работать.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Копирование данных через нестабильный канал.

Сообщение Alex2ndr »

antares0 писал(а):
23.12.2009 17:14
А помоему все-таки rsync. Я такое делал на связке vps - очень хреновый gprs. Хотя конечно маштабы в 100 Мб. Торрент помоему эффективен только если отдающих сильно больше одного.

Мне казалось что rsync будет нормально работать с большим количеством мелких файлов, нежели с одним но здоровенным. Я почитал про него - но никаких способов докачки/перезакачки убитого файла не нашел. Также не нашел ничего про обрывы связи. Конечно бэкап состоит из архива, в котором большое количество мелких файлов - но подготовка этих архивов не моя зона ответственности( т е в той сетке свой админ). Я беру готовые бэкапы документов с сервера. Можно конечно распаковывать, передавать и паковать обратно - но не уверен что это лучше. Есть у вас какие-то наброски и тд, что можно почитать, ознакомиться с идеей и механизмом реализации (может вы по этому поводу статью писали)?

rm_ писал(а):
23.12.2009 18:15
Alex2ndr
Жаль что вы проигнорировали моё сообщение про Azureus/Vuze, а я так старался, печатал его, кнопки нажимал на клавиатуре...

Извиняюсь, если задел вас. Просто я считаю что Azureus/Vuze не умеет работать консольным клиентом - а как я уже говорил на моих серверах нету Х. Я ошибаюсь(т е его возможно запустить в голой консоли)?
Управлять я этим хозяйством тоже хочу не ручками а посредством скриптов - пока не знаю как с этим в rtorrent или Transmission.

Frank писал(а):
23.12.2009 20:44
Для XBTT можно разрешить анонимные файлы, и создать торрент с URL сервер/announce в качестве трекера. Дальше запускаем по торрент клиенту - на сервере и на получателе, и ждём телемаркета. Если хотите, я вам предоставлю свой анонимный XBTT :)

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

Ленивая Бестолочь писал(а):
24.12.2009 00:05
ммм. а нужен трекер то вообще?
многие клиенты поддерживают ручное указание сидов.
создаем торрент, в другом клиенте его открываем, указываем руками сид.
мне кажется так должно работать.

Вот я тоже надеюсь что не нужен. Сейчас изучаю спецификацию торрент файла и разбираюсь с rtorrent (мне лень пересобирать Transmission - какой-то обормот собрал для etch в общий пакет консольный и gtk варианты)
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Копирование данных через нестабильный канал.

Сообщение Alex2ndr »

Ленивая Бестолочь писал(а):
24.12.2009 00:05
ммм. а нужен трекер то вообще?
многие клиенты поддерживают ручное указание сидов.
создаем торрент, в другом клиенте его открываем, указываем руками сид.
мне кажется так должно работать.

так действительно работает - вот инструкция для utorrent - http://ilya-314.livejournal.com/107167.html
теперь бы то же самое, но для консольного клиента. Ищу дальше...
Спасибо сказали:
Rommel.ua
Сообщения: 65

Re: Копирование данных через нестабильный канал.

Сообщение Rommel.ua »

Я пробовал в ktorrente и в utorrent (виндовый, но отлично пашет под вайном).
На одном компе (сервер) запустил торрент-клиент и создал торрент-файл для моих данных, в настройках которого указал режим только DHT, и указал АЙ-ПИ адрес и входящий порт торрента моего компа-сервера. Перекинул по аське торрент-файл на комп-клиент, и открыл его там тем же ktorrent'ом. Если нет косяков с файрволлами на обоих компах, то тянет за милую душу :)
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Копирование данных через нестабильный канал.

Сообщение minder »

Alex2ndr писал(а):
23.12.2009 11:49
Всем доброго времени суток!

Опишу ситуацию. Есть 2 сетки объединенные по vpn (стандартное pptp с использованием pppd и pptp-linux). В обеих сетках шлюзами в инет стоят машины с Debian Etch. Соответственно туннель прокинут между этими машинами. Но т к в одной из сеток соединение нестабильно (спасибо Корбине), то интернет там переодически пропадает(иногда на 2-3 мин, иногда подольше) и туннель тоже рвется. Я написал скрипт который его регулярно поднимает - но какое-то время связи все равно нету. Скорость соединения с инетом в обеих сетках примерно 2 мбита (скорость по каналу примерно 1 мбит).
Сама задача - Необходимо копировать из одной сетки в другую (читай с одного шлюза на другой, силами/софтом шлюзов) архив бэкапов размером в 20 ГБ(!!!). Время копирования не сильно интересует - если оно будет меньше недели то в приниципе приемлемо (т е 4 бэкапа в месяц устроят). Интересует сама возможность такого копирования - если связь порвется то архив нужно будет копировать заново(это я про стандартные средства) - а если учесть какой он здоровый то возможно и ни разу не скопировать его до конца.
Теперь вопрос:
Чем уважаемые форумчане посоветуют копировать такой объем с возможностью докачки (а лучше просто ожидания восстановления соединения). Пока думаю над поднятием ftp и копированием средствами wget - но может кто-нить предоставит идею получше?

Спасибо за внимание.


Обычный ftp-сервер и клиент с докачкой. Для контроля целостности можно воспользоваться файлом metalink (http://ru.wikipedia.org/wiki/Metalink).
в качестве клиента подойдет aria2. На ftp выкладываются 2 файла: сам архив и файл .metalink на него, для контроля целостности и докачки нужных кусков.
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Копирование данных через нестабильный канал.

Сообщение skor »

minder писал(а):
24.12.2009 16:31
для контроля целостности и докачки нужных кусков.
В тексте на вики не нашел про то что будут докачиваться именно куски. По спецификации там вроде как контрольная сумма на весь файл. А качаться файл может кусками из разных мест. Но проверка вроде все равно будет только на полном файле.
Но т.к. создание файла под контролем, то для передачи ничто не мешает один крупный файл (архив) разбивать на несколько файлов поменьше (стандартным split) и уже отдельный мелкий файл будет перекачан, если что-то не так.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Копирование данных через нестабильный канал.

Сообщение Alex2ndr »

minder писал(а):
24.12.2009 16:31
Обычный ftp-сервер и клиент с докачкой. Для контроля целостности можно воспользоваться файлом metalink (http://ru.wikipedia.org/wiki/Metalink).
в качестве клиента подойдет aria2. На ftp выкладываются 2 файла: сам архив и файл .metalink на него, для контроля целостности и докачки нужных кусков.

Думал над этим. Про metalink не знал - Спасибо! Хотел использовать wget а для проверки целостности md5. Это самый подходящий вариант, после варианта с торрентом(торрент предпочтительнее как-раз кусочной скачкой/докачкой, можно без split обойтись).
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Копирование данных через нестабильный канал.

Сообщение minder »

skor писал(а):
25.12.2009 03:06
minder писал(а):
24.12.2009 16:31
для контроля целостности и докачки нужных кусков.
В тексте на вики не нашел про то что будут докачиваться именно куски. По спецификации там вроде как контрольная сумма на весь файл. А качаться файл может кусками из разных мест. Но проверка вроде все равно будет только на полном файле.
Но т.к. создание файла под контролем, то для передачи ничто не мешает один крупный файл (архив) разбивать на несколько файлов поменьше (стандартным split) и уже отдельный мелкий файл будет перекачан, если что-то не так.

Это уже предусмотрено в metalink - при его создании, можно указать на сколько частей разделить файл и, соответственно, какой объем у каждой части будет. Можно указать, что один кусок, а можно много... Хэши создаются на каждый из кусочков.
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Копирование данных через нестабильный канал.

Сообщение skor »

minder писал(а):
25.12.2009 14:47
Это уже предусмотрено в metalink - при его создании, можно указать на сколько частей разделить файл и, соответственно, какой объем у каждой части будет. Можно указать, что один кусок, а можно много... Хэши создаются на каждый из кусочков.
Да, действительно есть. Невнимательно читал.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Копирование данных через нестабильный канал.

Сообщение drBatty »

Alex2ndr писал(а):
23.12.2009 11:49
Соответственно туннель прокинут между этими машинами. Но т к в одной из сеток соединение нестабильно (спасибо Корбине), то интернет там переодически пропадает(иногда на 2-3 мин, иногда подольше) и туннель тоже рвется. Я написал скрипт который его регулярно поднимает - но какое-то время связи все равно нету. Скорость соединения с инетом в обеих сетках примерно 2 мбита (скорость по каналу примерно 1 мбит).
Сама задача - Необходимо копировать из одной сетки в другую (читай с одного шлюза на другой, силами/софтом шлюзов) архив бэкапов размером в 20 ГБ(!!!).

tar|bzip2|gpg|split|par2
на принимающей стороне
par2|cat|gpg|bzip2|tar

Это я так делаю, в вашем случае я-бы так и хранил бекап - как пришёл.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: