Сбор файлов со многих машин? - PullRequest
1 голос
/ 21 февраля 2011

У меня есть много машин (20+), подключенных к сети. каждая машина обращается к центральной базе данных, запрашивает ее, обрабатывает запрашиваемую информацию и затем записывает результаты в файлы на своем локальном жестком диске.

После обработки я хотел бы иметь возможность «захватить» все эти файлы (со всех удаленных компьютеров) обратно на основной компьютер для хранения.

Я подумал о трех возможных способах сделать это:

(1) rsync для каждого удаленного компьютера с основного компьютера и «запросить» файлы

(2) rsync с каждого удаленного компьютера на основной компьютер и «отправить» файлы

(3) создать общий ресурс NFS на каждом удаленном компьютере, к которому основной компьютер может обращаться и читать файлы (в этом случае не требуется rsync)

Один из способов лучше других? Есть ли лучшие способы, о которых я не знаю?

Все машины используют Ubuntu 10.04LTS. Заранее спасибо за любые предложения.

Ответы [ 3 ]

1 голос
/ 22 февраля 2011

Производительность практически одинакова.Вы по-прежнему отправляете файлы по (относительно) медленному сетевому соединению.

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

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

1 голос
/ 22 февраля 2011

Я бы предпочел вариант (2), поскольку вы знаете, когда обработка завершится на клиентском компьютере.Вы можете использовать один и тот же ключ SSH на всех клиентских компьютерах или собрать разные ключи в файле авторизованные_ключи на основном компьютере.Это также более надежно, если основной компьютер по какой-то причине недоступен, вы можете синхронизировать результаты позже, пока в настройке NFS клиенты заблокированы.

1 голос
/ 22 февраля 2011

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

...