В данной статье мы рассмотрим как мигрировать файловый сервер Windows Server 2003 на Windows Server 2012 R2.nnИнструмент File Server Migration Toolkit был заменен в Windows Server 2012 на Windows Server Migration Tools, так что если вы планируете перенести Windows Server 2003 файловый сервер на Windows Server 2012 или более поздней версии, все необходимые инструменты, встроенные в целевом сервере.nnWindows Server Migration Tools можно использовать для переноса небольших наборов данных, до 100 ГБ. Если необходимо перенести большие объемы данных, Microsoft рекомендует использовать встроенную версию средства командной строки Robocopy. Средство миграции использует протокол HTTPS для безопасной передачи файлов между серверами, что не всегда подходит для очень больших наборов данных. Эта статья в первую очередь предназначен для тех, кто мигрирует с Windows Server 2003, но подходит и для файл-сервера запущенного на Windows Server 2003 SP2 или любую версию до Windows Server 2012.n
Подготовка целевого и исходного файлов серверов
Прежде чем начать миграцию, вы должны будете установить Средства миграции Windows Server на целевом сервере (contososrv3). В Windows Server 2012 R2, войдите как локальный администратор, откройте PowerShell и выполните команду ниже, чтобы установить утилиту:n
Install-WindowsFeature Migration
После того, как инструмент для миграции установлен, вам нужно создать пакет миграции, который может быть развернут и зарегистрирован на исходном сервере 2003 Windows Server, (contososrv4). Прежде чем вы сможете использовать инструменты миграции на Windows Server 2003, установите .NET Framework 3.5, а затем Windows Management Framework Core 2.0, который включает в себя PowerShell 2.0. Для получения более подробной информации о том, как это сделать, см. Миграция в Active Directory с Windows Server 2003 до 2012 R2 Миграция DHCP, Remove Server 2003, а также Raise Functional Levels Petri IT Knowledgebase.nnЕсли вы запустили SmigDeploy из командной строки, для регистрации инструментов, PowerShell автоматически откроется, когда оснастка миграции будет зарегистрирована. Если вы хотите,запустить PowerShell в любое другое время, вам необходимо зарегистрироваться оснастку миграции вручную. Это относится как к исходному и так и целевому серверу:n
Add-PSSnapin Microsoft . Windows . ServerManager . Migration
Экспорт локальных пользователей и групп
Первая задача заключается в миграции локальных пользователей и групп с исходного файлового сервера (contososrv4).Параметр -Users также может быть установлен в Enable, чтобы экспортировать всех активных пользователей или Disable для экспорта всех отключенных пользователей.nnn
Export-SmigServerSetting -User All -Group -Path ‘ c : \ migrate \ usersgroups ’ – Verbose
Вам будет предложено ввести пароль, который используется для защиты экспортированных данных. Теперь вернитесь на целевой сервер (contososrv3) и импортируйте локальных пользователей и групп, заменив contososrv4 в -Path UNC с именем исходного сервера. При появлении запроса введите пароль для файла миграции:n
Import-SmigServerSetting -User All -Group -Path ‘ \ \ contososrv4 \ c $ \ migrate \ usersgroups ’ -Verbose
Перенос данных
Теперь мы готовы перенести данные c источника на целевой сервер. Прежде чем мы сможем запустить Receive-SmigServerData и Send-SmigServerData команды, мы должны открыть подключение к консоли PowerShell в Windows Firewall. Запустите New-NetFirewallRule команды на целевом сервере, чтобы временно открыть входящий TCP и UDP порты:n
New-NetFirewallRule -DisplayName ‘Windows PowerShell Console’ -Direction Inbound -Program ‘C:\windows\system32\windowspowershell\v1.0\powershell.exe’ -RemoteAddress LocalSubnet -Action Allow -Protocol TCP –Profile domain –Enabled truenNew-NetFirewallRule -DisplayName ‘Windows PowerShell Console’ -Direction Inbound -Program ‘C:\windows\system32\windowspowershell\v1.0\powershell.exe’ -RemoteAddress LocalSubnet -Action Allow -Protocol UDP –Profile domain –Enabled true
Если исходный сервер имеет PowerShell 3.0 или более позднюю версию, вы можете использовать две New-NetFirewallRule команды выше, чтобы открыть нужные порты. В противном случае и в случае Windows Server 2003 используйте две Netsh команды ниже:n
netsh advfirewall firewall add rule name="Windows PowerShell Console" dir=in action=allow program="C:\windows\system32\windowspowershell\v1.0\powershell.exe" protocol=tcp remoteip=localsubnet profile=domainnnetsh advfirewall firewall add rule name="Windows PowerShell Console" dir=in action=allow program="C:\windows\system32\windowspowershell\v1.0\powershell.exe" protocol=udp remoteip=localsubnet profile=domain
nnНа целевом сервере в строке PowerShell введите Receive-SmigServerData, нажмите ENTER и введите пароль. Так настраивает сервер на прослушивание входящего соединения от вашего исходного сервера, а пароль будет требоваться при запуске Send-SmigServerData на исходном сервере.nnНа исходном сервере, выполните следующую команду в строке PowerShell, заменив contososrv3 в -computername параметре на имя вашего целевого сервера, а UNCs параметры -sourcepath и -DestinationPath в зависимости от обстоятельств:n
Send-SmigServerData -ComputerName contososrv3 -SourcePath c:\shares -DestinationPath c:\shares -Recurse -Include All –Force
Если вы посмотрите на новые папки на целевом сервере, которые были сохранены c источника, вы убедитесь, что разрешения безопасности точно соответствовать тем, что на источнике файловом сервере.nnnn nnMicrosoft рекомендует, что как только начальная миграция данных и пока она не будет завершена, пользователи должны быть принудительно отключены от источника файлового сервера и все изменения данных на источнике заморожены. Чтобы отключить пользователей от подключения, выполните команду ниже на исходном файл сервере:n
Stop-Service LanmanServer -force
Теперь запустите Receive-SmigServerData снова на целевом сервере, и команду Send-SmigServerData выше на исходном сервере для переноса любых изменений, которые могли иметь место на исходном сервере.nnПосле того, как миграция завершена, удалите правила брандмауэра для консоли PowerShell, запустив команды ниже. Используйте Remove-NetFirewallRule команду для серверов с PowerShell 3.0 (или более поздней версии), а также используйте Netsh для Windows Server 2003.n
nRemove-NetFirewallRule -DisplayName ‘ Windows PowerShell Console ’
nnetsh advfirewall firewall delete rule name = "Windows PowerShell Console"