URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 88179
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Использование zsync для минимизации..."

Отправлено auto_tips , 10-Янв-13 22:46 
Для пользователей, желающих минимизировать сетевой трафик и ускорить загрузку ежедневных тестовых снапшотов Ubuntu, предоставлена возможность загрузки только изменившихся с момента прошлой загрузки частей iso-образа. Для загрузки только изменений вместо полной копии следует использовать утилиту [[http://zsync.moria.org.uk/ zsync]].

По сути zsync является вариантом rsync, нацеленным на эффективную синхронизацию единичных больших файлов и реализующим логику синхронизации на стороне клиента. Для работы zsync не требуется установка особого сервернего ПО, достаточно создать небольшой индексный файл в котором будут сохранены контрольные суммы блоков данных и использовать обычный http-сервер, допускающий загрузку отдельных частей файла.

Устанавливаем zsync:

   sudo apt-get -y install zsync

Загружаем iso-образ:

   zsync http://cdimage.ubuntu.com/daily-live/current/raring-desktop-...

Если загрузка осуществляется первый раз, то zsync автоматически загрузит весь файл. Если файл загружается повторно, zsync загрузит индекс (для iso-образа ubuntu примерно полтора мегабайта), оценит изменений между локальным и удалённым файлом и загрузит только изменившиеся блоки данных.

Для создания zsync-индекса, при желании организовать распространение своих файлов через zsync, следует использовать утилиту zsyncmake:

   zsyncmake file.iso

после чего будет создан файл file.iso.zsync.

Для корректной отдачи .zsync-индексов в конфигурацию Apache в файл mime.types следует добавить:

   application/x-zsync             zsync


URL: http://www.omgubuntu.co.uk/2013/01/how-to-update-an-ubuntu-d...
Обсуждается: http://www.opennet.me/tips/info/2733.shtml


Содержание

Сообщения в этом обсуждении
"Использование zsync для минимизации трафика при синхронизации больших файлов, например, ежедневных сборок Ubuntu"
Отправлено Dmitry , 10-Янв-13 22:46 
А где хранится адрес откуда скачивать блоки образа? Ведь при создании индекса zsyncmake создается только индекс.

"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Аноним , 10-Янв-13 23:10 
> А где хранится адрес откуда скачивать блоки образа? Ведь при создании индекса
> zsyncmake создается только индекс.

В файлике с расширением .zsync вначале идёт блок мета-данных, где указано имя файла, размер блока и другая информация.


"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Аноним , 10-Янв-13 23:13 
> А где хранится адрес откуда скачивать блоки образа? Ведь при создании индекса
> zsyncmake создается только индекс.

Блоки грузятся из основного файла, который выложили для загрузки. Этот файл логически разбивается на сегменты, для которых в индексе хранятся контрольные суммы. Когда zsync загружает индекс, он сверяет контрольные суммы того что уже есть на стороне пользователя и то что различается грузить с удалённого сервера используя HTTP/1.1 заголовок Range.


"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Sw00p aka Jerom , 20-Фев-13 20:05 
хммм а разве не одно и тоже получает? он же вроде должен весь файл сверить поблочно и это равносильно скачиванию с сервера или я чтото недопонял

как реализован механизм контрольных сумм и чего ?


"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено XoRe , 14-Янв-13 01:05 
> А где хранится адрес откуда скачивать блоки образа?

Обычно индекс лежит там же, где и файл.
Как-то так:
http://server/файл.iso
http://server/файл.iso.zsync


"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Sw00p aka Jerom , 20-Фев-13 20:08 
>> А где хранится адрес откуда скачивать блоки образа?
> Обычно индекс лежит там же, где и файл.
> Как-то так:
> http://server/файл.iso
> http://server/файл.iso.zsync

а на чьей стороне происходит сверка контрольных сумм ?


"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Аноним , 07-Мрт-13 05:07 
Клиентской ясен фиг. Клиент качает .zsync и смотрит что у него есть и насколько оно совпадает с вот этим вот описанием. Что не совпадает - качается с сервака.

"Использование zsync для минимизации трафика при синхронизации больших файлов, например, ежедневных сборок Ubuntu"
Отправлено pavlinux , 12-Янв-13 16:47 
А чё, торрент уже не феншуйно?

"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Пользователь Debian , 13-Янв-13 02:37 
Торрент не умеет эффективно выкачивать изменения в уже имеющимся файле. Основное применение rsync это *инкрементная* передача данных.

"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено XoRe , 14-Янв-13 01:16 
> Торрент не умеет эффективно выкачивать изменения в уже имеющимся файле.

o'rly?
Сегмент (англ. part — часть) — все файлы для передачи делятся на небольшие куски — сегменты, которые, затем, передаются по сети в произвольном порядке для оптимизации обмена.

1. Выкладываете новый torrent файл
2. Пользователи его тыкают
3. bittorent клиент анализирует имеющийся у клиента iso, сравнивает crc каждого сегмента
4. Клиент закачивает только изменившиеся сегменты
5. PROFIT!

В остальном, программа имеет право быть. Хотя это отдельная программа.
Её профит скорее для сервера - можно использовать http сервер, со всеми его плюшками (бекенды, балансировка, и т.д.), не нужно поднимать *sync сервер.
Клиент все равно должен использовать специальную программу для скачивания
Было бы классно, если бы был плагин к FF с такой функциональностью.


"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Пользователь Debian , 14-Янв-13 01:29 
Спасибо, не знал про такую особенность протокола.

"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено pavlinux , 14-Янв-13 02:44 
> Спасибо, не знал про такую особенность протокола.

Через Magnet по-моему (или что-то ещё нужно) можно вообще обновлять
без уведомления клиентов. Просто в папку кидаешь новый файл с тем же
именем, а оно само по клиентам расползается.
  
А ещё есть PerFS, P2PFS, и другая распределённая хрень.


"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено Pilat66 , 14-Янв-13 12:00 
Насчёт торрента - если в начало файла добавится один байт, сработает ли ?

"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено pavlinux , 15-Янв-13 02:06 
> Насчёт торрента - если в начало файла добавится один байт, сработает ли ?

Не, там всё сдвинется на один байт.


"Использование zsync для минимизации трафика при синхронизации больших файлов, например, ежедневных сборок Ubuntu"
Отправлено Аноним , 14-Янв-13 13:55 
чем jigdo не угодила?
постоянно недельные деб исошки обновляю ею

"Использование zsync для минимизации трафика при синхронизаци..."
Отправлено qux , 27-Янв-13 22:59 
Поправьте если не так, но это может профильный кейс для jigdo (сборка iso из кучи rpm-файлов и одного со служебной информацией). В случае если большой файл "атомарный", это не прокатит.

А вообще как выше сказали, тут скорее торрент альтернатива. Плюс, если данные нужны многим, еще и распределенное хранение вместо одного сервера, и скорость скачивания.