синхронизация

warning: Creating default object from empty value in /usr/data/www/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

Глюки ZFS с мелкими последствиями.

Жил был мой сервер, в основном, с моими фотками (ну и еще по мелочи). ZFS с двумя 2-х ТБ дисками в зеркале, все дела.

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

При попытке засинхронизироваться сервер рассказал, что не может прочитать часть файлов и у них не сростаются cheksum. Запустил scrubbing, он рассказал, что на обоих винтах одинаковые ошибки, и как оказалось в дальнейшем, часть файлов еще и частично посыпалось без каких-либо комментариев. Т.е. читаются нормально, но картинки открываются с артефактами.

Хоть и верю я в рейд и ZFS, но изредка делаю бекап на отдельный диск - мало ли что.

Те файлики, про которые ZFS смогла что-то плохое рассказать перезалил ручками. Про остальные кривые файлы рассказал Syncthing, т.к. он считает  checksum файлов, а на сервере и внешнем носители они оказались разными, то он их перелил, создав отдельную копию старых файлов.

Из неудобств: индексация 250Gb фоток и видео занимала несколько часов и синхронизация не очень шустрая. Если задача залить на пустой ресурс большой объем из "облака", то проще сначала все засинкать через rsync, а потом уже запускать Syncthing.

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

0
Your rating: Нет

Синхронизация данных мастер-мастер

Сейчас, потихоньку учусь играть в отказоустойчивые штуки.

Пока, научился под FreeBSD использовать CARP - эт когда за один IP отвечает несколько железок и в случае падения мастера, включается в работу другой компьютер и подхватывает этот IP адрес.

Соответственно возник вопрос - как держать данные на всех железках в актуальном состоянии.

Что пробовал:

  • rsync - запускается каждую минуту, смотрит на состояние компьютера, если слейв, то синхронизирует данные с мастера.
  • zfs send | zfs recieve - идея та же самая, но надежнее работает с базами данных, т.к. за время работы данные измениться уже не могут.

Сейчас нашел еще две клевые программы BTSync и Syncthing. Обе программы служат для синхоризации данных между своими компьютерами на прямую. Т.е. некоторый аналог Dropbox, Google Drive и Яндекс.диск, только без их стандартных ограничений на место и без опаски, что данные где-то всплывут.

Обе программы могут забирать данные со всех компьютеров имеющих эти данные, т.е. работают по принципу торрента и имеют клиентов под самые разные платформы.

Существенные отличия:

BTSync:

0
Your rating: Нет

Rsync: мелкий скриптик, для заливки данных на сервер

Возникла задача, заливать фотки из разных мест на сервер, так, чтобы они таки лежали в одном месте, а не на разных винтах и флешках, с мыслью, что как-нить разберу.

В итоге на сервере поднят rsync с шарой доступной без авторизации и только для записи:

[photo_rsync]
        path = /usr/photo/rsync
        read only = false
        charset = koi8-r
        write only = true

Для заливки использую скрипт:

if [ $1 ]; then
    echo $1
else
    echo "error path to local dir
    syntax: source_path dest_dir
    - source_path - required, path to your backup data
    - dest_dir - optional, if you need it, name directory to backup"
    exit
fi
rsync -v -c --chmod=ugo=rwX --iconv=utf-8 -a "$1" "my_server::photo_rsync/$2"

В случае, если нужно сразу снести исходник, добавляем ключик --remove-source-files.

Ща найду клиента под винду и подцеплю ссылку с камментом.

0
Your rating: Нет

Синхронизация контактов, календаря и прочее КПК с google

Т.к. 2-е недели баловался с Андроидом и он все контакты и прочее синхронизировал с гуглом, а теперь откатился обратно к Windows Mobile, встала задача - как все контакты скинуть с гугла на мобилку.

Под это дело потребовалось две статьи:

0
Your rating: Нет
Ленты новостей