Копирование файлов между серверами в разных физических местоположениях и доменах.

Копирование файлов между серверами в разных физических местоположениях и доменах.

Первый пост здесь, и он (возможно) бросает вам большой вызов. Я пытаюсь достичь своей цели в течение 2 дней, но безуспешно.

Мне нужно скопировать огромный список файлов («всего» около 900 тыс. файлов, около 3 ТБ данных) с одного сервера на другой. Проблема в том, что эти серверы находятся не в одной сети/домене и не в одном месте. Фактически, они находятся в разных городах, и у каждого свой домен.

Мы можем получить доступ к каждому серверу с помощью терминального соединения (чтобы избавиться от IP, мы используем службы NO-IP), но мы не можем скопировать так много файлов, используя этот метод. Мы знаем, что можем использовать FTP и/или VPN, но из-за огромного размера данных это просто не работает (потеря соединения, тайм-ауты и т. д.).

Итак, начиная сздесь, я нашел Powershell как кандидата для решения проблемы, используя New-PSSessionи/или New-PSDrive. Фактически, powershell даже запрашивает имя пользователя/пароль, но я не смог подключить один сервер к другому. Что еще хуже, я нуб с Powershell.

Ну, первое, что я увидел, это добавить серверы в список доверия и проверить, работает ли WinRM на обоих. Я сделал это с winrm quickconfigи Set-Item WSMan:\localhost\Client\TrustedHosts -Value 'no-ip.servername.here'. Обе команды на обоих серверах возвращают результат.

Затем попытался соединить сервер A с B. На сервере AI использовал $server_b = New-PSSession -computername no-ip.servername.here -credential domain_b\administrador. В этот момент сервер A запрашивает имя пользователя и пароль. Я печатаю, но powershell возвращает множество ошибок об аутентификации, kerberos, неправильном пользователе/пароле и многом другом. Я не могу предоставить скриншот, потому что наши серверы используют бразильские португальские системы.

Читая больше о New-PSSession, я просто перепробовал множество вариантов, таких как аутентификация, транспорт, connectionuri и другие, но безуспешно...

Итак, что вы можете мне предложить?

Спасибо за совет.

решение1

Я это сделал! ВАУ!

Пойдем:

  1. Убедитесь, что служба WinRM запущена и работает на обоих компьютерах: get-service winrmЕсли нет, запустите ее:start-service winrm
  2. Убедитесь, что порт 5985 открыт. Сделайте это самостоятельно с помощью модема/маршрутизатора.
  3. Убедитесь, что ваш клиентский NO-IP-адрес является доверенным на сервере: get-item wsman:\localhost\client\trustedhosts. Если нет, добавьте его:set-item wsman:\localhost\client\trustedhosts -value 'client_no-ip_address' -force
  4. Убедитесь, что ваш клиент доверяет вашему серверу, как указано выше, но используйте свойсерверНЕТ-IP-адреса
  5. На клиенте отключите некоторые проверки безопасности:$option = new-pssessionoption -skipcacheck -skipcncheck
  6. Подключитесь к своему серверу:$my_server = new-pssession -computername server_no-ip_address -credential domain\user -sessionoption $option

Ну вот!

Связанный контент