Если у меня есть два сервера, один из которых работает под управлением Windows Server 2003, а другой - под управлением Ubuntu 10, каков будет наилучший способ «привязать» один диск к другому? В любом случае это хорошо. Все они находятся в разных состояниях, и у каждого есть внешний IP. Мне просто нужно выполнить некоторую обработку на сервере Ubuntu, затем записать файл либо на его собственный диск, и веб-сервер (Windows) прочитает его, либо записать на жесткий диск Windows, и Windows прочитает его.
2 ответа
Лучшее, что вы можете сделать, так как ссылка между двумя серверами не является «надежной» (т. Е. Выделенным соединением, но подвержено сбоям сторонних производителей), - это создать файл локально в Ubuntu, а затем скопировать его в машина Windows, когда она будет завершена.
Монтирование файловых систем или общих папок по ненадежной ссылке может вызвать много проблем с зависанием систем, когда они пытаются получить доступ к файловой системе, которой нет, и т.д.
Программа, которую я бы порекомендовал для копирования данных, зависит от того, насколько конфиденциальны данные.
Если вы не беспокоитесь о шифровании данных или если у вас уже есть шифрование (например, VPN), тогда программа smbclient
, которая работает очень похоже на FTP, но на общих ресурсах Windows, вероятно, будет самой простой:
$ smbclient '\\server\share' -I <ip address> -A /path/to/authentication/file -c "put myfile.dat"
Или что-то подобное. Страница руководства smbclient может быть найдена здесь
Если вас больше беспокоит безопасность, я бы порекомендовал установить SSH-сервер на Windows-машине и использовать scp
для копирования файла.
Вы можете настроить Samba + OpenVPN и отобразить диск Ubuntu в Windows. Или вы можете настроить канал SSH между ними и использовать rsync в режиме демона для отслеживания изменений данных. Я бы выбрал первый вариант - его проще настроить.