Миграция 2003 файловых серверов c помощью cредства миграции Windows Server
В данной статье мы рассмотрим как мигрировать файловый сервер Windows Server 2003 на Windows Server 2012 R2.
Инструмент File Server Migration Toolkit был заменен в Windows Server 2012 на Windows Server Migration Tools, так что если вы планируете перенести Windows Server 2003 файловый сервер на Windows Server 2012 или более поздней версии, все необходимые инструменты, встроенные в целевом сервере.
Windows Server Migration Tools можно использовать для переноса небольших наборов данных, до 100 ГБ. Если необходимо перенести большие объемы данных, Microsoft рекомендует использовать встроенную версию средства командной строки Robocopy. Средство миграции использует протокол HTTPS для безопасной передачи файлов между серверами, что не всегда подходит для очень больших наборов данных. Эта статья в первую очередь предназначен для тех, кто мигрирует с Windows Server 2003, но подходит и для файл-сервера запущенного на Windows Server 2003 SP2 или любую версию до Windows Server 2012.
Подготовка целевого и исходного файлов серверов
Прежде чем начать миграцию, вы должны будете установить Средства миграции Windows Server на целевом сервере (contososrv3). В Windows Server 2012 R2, войдите как локальный администратор, откройте PowerShell и выполните команду ниже, чтобы установить утилиту:
1 |
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.
Если вы запустили SmigDeploy из командной строки, для регистрации инструментов, PowerShell автоматически откроется, когда оснастка миграции будет зарегистрирована. Если вы хотите,запустить PowerShell в любое другое время, вам необходимо зарегистрироваться оснастку миграции вручную. Это относится как к исходному и так и целевому серверу:
1 |
Add-PSSnapin Microsoft . Windows . ServerManager . Migration |
Экспорт локальных пользователей и групп
Первая задача заключается в миграции локальных пользователей и групп с исходного файлового сервера (contososrv4).Параметр -Users также может быть установлен в Enable, чтобы экспортировать всех активных пользователей или Disable для экспорта всех отключенных пользователей.
1 |
Export-SmigServerSetting -User All -Group -Path ‘ c : \ migrate \ usersgroups ’ – Verbose |
Вам будет предложено ввести пароль, который используется для защиты экспортированных данных. Теперь вернитесь на целевой сервер (contososrv3) и импортируйте локальных пользователей и групп, заменив contososrv4 в -Path UNC с именем исходного сервера. При появлении запроса введите пароль для файла миграции:
1 |
Import-SmigServerSetting -User All -Group -Path ‘ \ \ contososrv4 \ c $ \ migrate \ usersgroups ’ -Verbose |
Перенос данных
Теперь мы готовы перенести данные c источника на целевой сервер. Прежде чем мы сможем запустить Receive-SmigServerData и Send-SmigServerData команды, мы должны открыть подключение к консоли PowerShell в Windows Firewall. Запустите New-NetFirewallRule команды на целевом сервере, чтобы временно открыть входящий TCP и UDP порты:
1 2 |
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 true New-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 команды ниже:
1 2 |
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=domain netsh 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 |
На целевом сервере в строке PowerShell введите Receive-SmigServerData, нажмите ENTER и введите пароль. Так настраивает сервер на прослушивание входящего соединения от вашего исходного сервера, а пароль будет требоваться при запуске Send-SmigServerData на исходном сервере.
На исходном сервере, выполните следующую команду в строке PowerShell, заменив contososrv3 в -computername параметре на имя вашего целевого сервера, а UNCs параметры -sourcepath и -DestinationPath в зависимости от обстоятельств:
1 |
Send-SmigServerData -ComputerName contososrv3 -SourcePath c:\shares -DestinationPath c:\shares -Recurse -Include All –Force |
Если вы посмотрите на новые папки на целевом сервере, которые были сохранены c источника, вы убедитесь, что разрешения безопасности точно соответствовать тем, что на источнике файловом сервере.
Microsoft рекомендует, что как только начальная миграция данных и пока она не будет завершена, пользователи должны быть принудительно отключены от источника файлового сервера и все изменения данных на источнике заморожены. Чтобы отключить пользователей от подключения, выполните команду ниже на исходном файл сервере:
1 |
Stop-Service LanmanServer -force |
Теперь запустите Receive-SmigServerData снова на целевом сервере, и команду Send-SmigServerData выше на исходном сервере для переноса любых изменений, которые могли иметь место на исходном сервере.
После того, как миграция завершена, удалите правила брандмауэра для консоли PowerShell, запустив команды ниже. Используйте Remove-NetFirewallRule команду для серверов с PowerShell 3.0 (или более поздней версии), а также используйте Netsh для Windows Server 2003.
1 |
Remove-NetFirewallRule -DisplayName ‘ Windows PowerShell Console ’ |
1 |
netsh advfirewall firewall delete rule name = "Windows PowerShell Console" |