【IT168 专稿】本文阐述将文件服务从 Windows 2003 Server 或更高版本的文件服务器迁移到 Windows Server 2008 R2 操作系统过程之迁移文件服务。 迁移中包含的文件服务为数据和共享、本地用户和组、分布式文件系统 (DFS) 命名空间、分布式文件系统 (DFS) 复制、文件服务器资源管理器 (FSRM)、特定于服务器消息块 (SMB) 和客户端缓存 (CSC) 的组策略、共享文件夹的卷影副本以及服务器标识。
三、迁移文件服务
3.1. 冻结管理配置
开始迁移之前,管理员必须停止对源服务器上文件服务器组件的所有配置更改。开始迁移之后,除了迁移所需的配置更改之外,管理员不得对源服务器进行任何配置更改(例如,开始迁移之后,不能向 DFS 命名空间添加任何链接,直到验证迁移成功为止)。
3.2. 导出设置
将以下设置从源服务器导出到目标服务器。设置包括服务器消息块 (SMB)、客户端缓存 (CSC)、DFS 命名空间、DFS 复制、FSRM 以及共享文件夹的卷影副本。
1. 特定于服务器消息块和客户端缓存的组策略
服务器消息块 (SMB)
大多数 SMB 设置是作为共享文件夹迁移的一部分迁移的。其余影响整个服务器的设置通过组策略或本地策略进行设置。本部分将介绍如何列出通过策略设置的 SMB 设置清单。
确定影响 SMB 服务器的策略设置。SMB 设置是通过组策略或本地策略进行控制的。如果应用组策略,则这些策略将替代本地设置。因此,第一步是确定设置是否通过组策略进行控制,第二步是确定本地设置中是否存在不通过组策略控制的内容。
确定是否对源服务器应用组策略的步骤:
从命令行运行以下命令:
rsop.msc在 Microsoft 管理控制台 (MMC) 管理单元中,依次单击"计算机配置"、"Windows 设置"、"安全设置"、"本地策略",然后单击"安全选项"。
记下影响"Microsoft 网络服务器"系列设置的任何组策略。
Microsoft 网络服务器: 暂停会话前所需的空闲时间数量。
Microsoft 网络服务器: 对通信进行数字签名(始终)。
Microsoft 网络服务器: 对通信进行数字签名(如果客户端允许)。
Microsoft 网络服务器: 登录时间过期后断开与客户端的连接。
对于组策略涉及的任何设置,将需要向目标服务器应用相同的组策略,或者选择设置目标服务器的本地策略,以获得相同的行为。
对于不由组策略控制的任何设置,请使用以下说明确定本地策略设置。
从命令行运行以下命令:
gpedit.msc在 Microsoft 管理控制台 (MMC) 管理单元中,依次单击"计算机配置"、"Windows 设置"、"安全设置"、"本地策略",然后单击"安全选项"。
记下"Microsoft 网络服务器"系列设置的设置。
Microsoft 网络服务器: 暂停会话前所需的空闲时间数量。
Microsoft 网络服务器: 对通信进行数字签名(始终)。
Microsoft 网络服务器: 对通信进行数字签名(如果客户端允许)。
Microsoft 网络服务器: 登录时间过期后断开与客户端的连接。
客户端缓存 (CSC)
注意:本部分仅适用于运行 Windows Server 2008 R2 的源服务器。以前的操作系统版本没有影响整个服务器的任何 CSC 设置。
大多数 CSC 设置是作为共享文件夹迁移的一部分迁移的。其余影响整个服务器的设置通过组策略或本地策略进行设置。本部分将介绍如何列出通过策略设置的 CSC 设置清单。
确定影响 CSC 服务器的策略设置。CSC 设置是通过组策略或本地策略控制的。如果应用组策略,则这些策略将替代本地设置。因此,第一步是确定设置是否通过组策略进行控制,第二步是确定本地设置中是否存在不通过组策略控制的内容。
确定是否对源服务器应用组策略的步骤:
从命令行运行以下命令:
rsop.msc在 Microsoft 管理控制台 (MMC) 管理单元中,依次单击"计算机配置"、"管理模板"、"网络",然后单击"Lanman 服务器"。
记下与"WindowsBranchCache 的哈希发布"有关的任何组策略设置。
注意:如果设置了组策略,则记下该值。但是,如果没有设置任何策略,则继续进行下一步。
记下与以下内容有关的任何组策略:
WindowsBranchCache 的哈希发布
对于组策略涉及的任何设置,将需要向目标服务器应用相同的组策略,或者选择设置目标服务器的本地策略,以获得相同的行为。
对于不由组策略控制的任何设置,请使用以下说明确定本地策略设置:
从命令行运行以下命令:
gpedit.msc在 Microsoft 管理控制台 (MMC) 管理单元中,依次单击"计算机配置"、"管理模板"、"网络",然后单击"Lanman 服务器"。
记下以下内容的设置:
WindowsBranchCache 的哈希发布。
2. DFS 命名空间配置
以下步骤将 DFS 命名空间从源服务器迁移到目标服务器。
源服务器上承载的所有 DFS 命名空间的清单
开始进行命名空间迁移之前,可以列出源服务器上承载的命名空间清单以便跟踪。可以使用 DFS 管理控制台或 DFSUtil.exe 完成该操作。
清单选项 1:使用目标服务器的 DFS 管理控制台
在左窗格的"DFS 管理"下,右键单击"命名空间"。
选择"添加要显示的命名空间…"
在显示的对话框中,从"作用域"选项中选择"服务器"。
键入源服务器的名称,然后单击"显示命名空间"。
选择列表框中列出的所有命名空间,然后单击"确定"。
右键单击左窗格中列出的第一个命名空间。
选择"属性"。
在"常规"选项卡中,选中类型字段。此处介绍了服务器上承载的命名空间类型。可能的值有独立、域(Windows Server 2000 模式)和域(Windows Server 2008 模式)。
如果是基于域的命名空间,则单击"命名空间服务器"选项卡以确定承载命名空间的服务器数量。
对左窗格中列出的其余命名空间,重复步骤 7 到 10。
清单选项 2:使用目标服务器的 DFSUtil.exe:
打开命令提示符窗口并键入以下命令以列出源服务器承载的命名空间:
DFSUtil.exe server确定为源服务器列出的命名空间(DFS 根)。
使用以下命令,列出在步骤 2 中标识的第一个命名空间的命名空间属性:
DFSUtil.exe root <\\SourceServer\Namespace>确定命名空间类型;可能的值为独立根、域根(Windows 2000 Server 模式中基于域的命名空间)、domainV2 根(Windows 2008 模式中基于域的命名空间)。
标识所显示的每个"链接名称"项目的命名空间中的 DFS 文件夹。
如果是基于域的命名空间,则使用以下命令确定所有命名空间服务器:
DFSUtil.exe root <\\Domain\Namespace>标识承载显示在"根名称"项目下每个"目标"项目中的命名空间的命名空间服务器。
对源服务器承载的其余命名空间,重复步骤 3 到 7。
对于每个命名空间,请确定:
命名空间是独立命名空间还是基于域的命名空间?
如果是基于域的命名空间,则确定命名空间的命名空间服务器数量。
对于独立命名空间
将命名空间配置导出到一个导出文件
从目标服务器中,打开命令提示符并键入以下命令以将独立命名空间导出到文件,其中"filename"是导出的文件:
DFSUtil.exe root export <\\SourceServer\Namespace> <Filename>具有多个命名空间服务器的基于域的命名空间
从命名空间中删除命名空间服务器
从目标服务器中打开命令提示符并键入以下命令:
DFSUtil.exe target remove <\\SourceServer\Namespace>注意
该操作必须使用 DFSUtil.exe 来执行。
具有一个命名空间服务器的基于域的命名空间
在此方案的第一个步骤中,有两个选项可以使用:导出命名空间设置或向命名空间添加临时服务器。
导出命名空间设置
从目标服务器打开命令提示符,并对源服务器是命名空间服务器的每个命名空间重复以下命令。注意,每个命名空间必须有一个不同的用于导出设置的文件名:
DFSUtil.exe root export <\\Domain\Namespace> <Filename>向命名空间添加临时服务器
当可以向命名空间中添加临时服务器时,可以使用该选项,当进行迁移时该选项能够保持命名空间联机。如果不能使用该选项,则跳过该步并按照"从命名空间中删除命名服务器"执行操作。
使用 DFS 管理控制台:
选择左窗格中正在迁移的命名空间。
单击"命名空间服务器"选项卡。
选择"添加命名空间服务器"。
在 <fieldname> 字段中,键入临时服务器的名称并单击"确定"。
此临时服务器将被添加到命名空间中。
使用 DFSUtil.exe:
在具有与源服务器相同权限的临时服务器中创建命名空间共享。
从目标服务器中打开命令提示符并键入以下命令:
DFSUtil.exe target add <\\TemporaryServer\Namespace>已经导出命名空间设置或已经将临时服务器添加到命名空间之后,可以按照项目 1.a"从命名空间中删除命名空间服务器"中所述从命名空间中删除 SourceServer 命名空间服务器。
高级注册表项清单
此部分介绍确定是否存在已应用于源服务器上 DFS 命名空间组件的任何设置的过程。这些设置存储在注册表中并通过 dfsutil.exe 工具设置或查看。若要列出这些设置的清单,请从目标服务器运行以下命令:
DFSUtil.exe server registry DfsDnsConfig <SourceServer>
DFSUtil.exe server registry LdapTimeoutValue <SourceServer>
DFSUtil.exe server registry SyncInterval <SourceServer>
DFSUtil.exe server registry SiteCostedReferrals <SourceServer>
DFSUtil.exe server registry InsiteReferrals <SourceServer>
DFSUtil.exe server registry PreferLogonDC <SourceServer>记下该设置的任何注册表修改。尚未修改的注册表项将返回的值为:
<KeyName> does not exist in the Registry.
3. DFS 复制配置
列出源服务器上已复制文件夹的清单,并获取有关下列内容的信息:
源服务器所属的复制组。
在源服务器上复制的文件夹和这些已复制文件夹的本地文件路径。
源服务器和其他复制成员服务器之间的连接。重要的是要了解已配置的复制拓扑,并了解到正在迁移的服务器的连接。
为分段目录以及冲突和已删除的文件夹配置的配额。还应列出暂存、冲突和已删除文件夹的当前空间使用情况清单。
通过使用命令 dfsrdiag backlog 检查复制积压工作,以确认源服务器已与其复制伙伴同步。
4. 源服务器上的 FSRM 配置
停止 FSRM 服务
以管理员身份在 Windows PowerShell 中运行以下命令:
Stop-Service -name "srmsvc","srmreports"通过以管理员身份在 Windows PowerShell 中运行以下命令导出 FSRM 配置:
若要在 Windows PowerShell 中运行导出命令,将需要加载"Windows Server 迁移工具"管理单元。
注意:如果是使用「开始」菜单上的"Windows Server 迁移工具"快捷方式打开了当前 Windows PowerShell 会话,则跳过此步。仅将"Windows Server 迁移工具"管理单元加载到已使用其他一些方法打开且尚未加载该管理单元的某个 Windows PowerShell 会话。
将"Windows Server 迁移工具"加载到 Windows PowerShell 会话。若要加载"Windows Server 迁移工具",请键入以下内容,然后按 Enter。
Add-pssnapin Microsoft.Windows.ServerManager.migration
Export-SmigServerSetting -FeatureID FS-Resource-Manager -User all -Group -Path "<valid existing path>"获取每个卷的配置文件:
以管理员身份在 Windows PowerShell 中运行以下命令:
停止文件屏蔽驱动程序:
fltmc detach datascrn <VolumeLetter>:停止配额驱动程序:
fltmc detach quota <VolumeLetter>:向"<VolumeLetter>:\System Volume information\SRM"目录及其子目录添加管理员读取权限。
takeown /F "<VolumeLetter>:\System Volume Information" /A /R /D Y
cacls "<VolumeLetter>:\System Volume Information" /T /E /G Administrators:F
attrib -S -H "<VolumeLetter>:\System Volume Information\*" /S /D
将以下文件从 SRM 目录复制到外部存储设备:
Quota.xml
Quota.md
Datascrn.md
DataScreenDatabase.xml
启动文件屏蔽驱动程序:
fltmc attach datascrn <VolumeLetter>:启动配额驱动程序:
fltmc attach quota <VolumeLetter>:重新启动 FSRM 服务
以管理员身份在 Windows PowerShell 中运行以下命令:
Start-Service -name "srmsvc","srmreports"配置计划报告
若要配置计划报告,请按照步骤 a 执行操作。但如果是从 Windows Server 2003 迁移,则按照步骤 b 执行操作。
若要在除 Windows Server 2003 之外的所有服务器上配置计划报告,请以管理员身份从源服务器上的 Windows PowerShell 中运行。
获取与存储报告关联的所有任务名称列表
storrept r l对于列出的每个任务名称,在源服务器上运行以下命令
schtasks /query /tn:"TASKNAME" /xml > "TASKNAME.xml"在从 Windows Server 2003 迁移时配置计划报告的步骤:
在源服务器上:
打开文件服务器资源管理器。
在存储报告管理中,针对每个报告任务,记下报告任务、目标和计划。
在目标服务器上,导入文件服务器资源管理器配置之后:
打开文件服务器资源管理器。
在存储报告管理中,针对每个报告任务:
编辑报告任务属性。
在"计划"选项卡上,手动为报告添加适当的计划。
5. 共享文件夹的卷影副本
迁移卷影副本设置
若要迁移卷影副本设置,请在源服务器上使用 Windows 资源管理器记下卷影副本存储位置以及创建计划。如果使用的是 Windows Server 核心,则跳过第一步并继续到"Windows Server 核心中的卷影副本"。
Windows Server 2003 或 Windows Server 2008 R2 中的卷影副本
对于源服务器上的每个卷,右键单击卷,选择"配置卷影副本",单击"设置"并记下卷影副本存储的位置和大小。单击"计划"并记下快照创建任务的详细信息。
Windows Server 核心中的卷影副本
将需要远程登录到 Windows Server 核心。
若要远程连接到 Windows Server 核心,请依次单击"开始"、"管理工具",右键单击"计算机管理",然后指向"连接到另一台计算机"。输入计算机名称并单击"确定"。展开"系统工具"节点,右键单击"共享文件夹",单击"所有任务"选项卡,然后单击"配置卷影副本"。
对于源服务器上的每个卷,右键单击卷,选择"配置卷影副本",单击"设置"并记下卷影副本存储的位置和大小。单击"计划"并记下快照创建任务的详细信息。
3.3. 将本地用户和组迁移到目标服务器
迁移数据和共享之前,必须迁移本地用户和组。需要将本地用户和组从源服务器迁移到目标服务器才能进行文件、文件夹和共享权限的正确迁移。首先从源服务器导出本地用户和组,然后将本地用户和组导入目标服务器。
从源服务器导出本地用户和组
在源服务器上,将本地用户和组导出到迁移存储,如以下示例所述。请使用 Windows PowerShell 提示符(以管理员身份运行)。
add-pssnapin microsoft.windows.servermanager.migration
Export-SmigServerSetting -User All -Group -Path \\myshare\temp\store -Verbose注意
通过使用 -verbose 参数,该命令还显示有关迁移操作的详细信息。
可以将以下值之一与 -user 参数一起使用:
已启用:指定仅导出启用的本地用户。
已禁用:指定仅导出禁用的本地用户。
全部:指定导出启用和禁用的本地用户。
系统将提示您输入密码以加密迁移存储。请记住该密码,因为从迁移存储中导入时必须提供该密码。
如果路径不是目标服务器可以访问的共享位置,则必须手动将迁移存储文件夹的内容复制到目标服务器或目标服务器可以访问的某个位置。
将本地用户和组导入到目标服务器
在目标服务器上,从在步骤 1 中生成的迁移存储导入本地用户和组,如以下示例所述。请使用 Windows PowerShell 提示符(以管理员身份运行)。
add-pssnapin microsoft.windows.servermanager.migration
Import-SmigServerSetting -User All -Group -Path \\myshare\temp\store -Verbose注意
可以将以下值之一与 -user 参数一起使用:
已启用:指定仅导入启用的本地用户。
已禁用:指定仅导入禁用的本地用户。
全部:指定导入启用和禁用的本地用户。
系统将提示您提供在导出过程中提供的密码以解密迁移存储。
3.4. 迁移数据
迁移数据可以通过两种方式之一完成。可以复制数据,也可以物理移动数据。如果复制数据,则按照复制数据迁移步骤执行操作。如果物理移动数据,则按照物理数据迁移步骤执行操作。
复制数据迁移
数据复制迁移发生两次。第一次复制在未断开用户连接的情况下发生,这样可以在不停机的情况下进行数据复制。第二次复制发生在已经冻结所有数据更改之后。在最后的复制步骤中,仅对迁移数据更改的文件运行文件比较。
在计划两阶段的数据迁移时,需要考虑以下事项:
当文件既在源服务器上,也在目标服务器上时,迁移期间对这些文件进行比较,以使用时间戳和大小来检测源服务器是否具有较新的版本。如果某个文件的时间戳和大小未改变,则将不会检测其他属性的更改(如文件访问权限的更改),并且将不会再传输该文件。如果必须要保留此类更改,请考虑执行一阶段数据迁移,在整个数据迁移过程中将断开用户连接,从而在数据迁移完成之前,不会进行任何更改。
或者,如果没有对迁移的文件和文件夹使用任何本地安全权限,则可以将 robocopy.exe 与"/SECFIX"标志一起使用,以同步所有文件的安全设置。请注意,如果对已迁移文件和文件夹使用了本地安全权限,则不要使 robocopy.exe,因为它是专门为仅处理域权限而设计的,将无法正确传输本地权限。
如果在下面推荐的两个阶段的迁移策略中,在阶段 1 开始和阶段 2 开始之间在源服务器上删除了任何文件,则可能已将这些文件的副本传输到目标服务器,并且将保留在那里。因此,如果用户在此类迁移期间删除某个文件,则可能会发现完成迁移之后,该文件位于目标服务器上。如果无法接受这种情况,则应该执行一个阶段的数据和共享迁移,并且在开始迁移之前必须断开所有用户的连接。
1. 数据和共享的第一次复制
在不断开用户连接的情况下迁移所有数据
确保已经完成本地用户和组的迁移。
注意:必须各自在五分钟之内,在源服务器和目标服务器上启动 Send-SmigServerData 和 Receive-SmigServerData cmdlet。默认情况下,如果无法在 300 秒(或 5 分钟)内建立连接,则 Send-SmigServerData 和 Receive-SmigServerData 操作会终止。会将 Send-SmigServerData 和 Receive-SmigServerData cmdlet 的此最大连接超时存储在以下注册表项中:
注册表项:HKEY_LOCAL_MACHINE\Software\Microsoft\ServerMigration
值:MaxConnectionTime (REG_DWORD)
数据:在 1 和 3600 之间(表示连接超时,以秒为单位)
如果已指定一个大于 3600 的值,则会使用 3600 秒(1 小时)作为最大连接超时。
在以管理员身份运行的 Windows PowerShell 窗口中,使用以下命令在目标服务器上运行 Receive-SmigServerData cmdlet:
Receive-SmigServerData注意
发送和接收操作的所有输出仅发生在源服务器上。在完成该操作之前,目标服务器似乎已经完成。
在源服务器上使用 Send-SmigServerData 迁移数据和共享,如下面的示例所述。请使用 Windows PowerShell 提示符(以管理员身份运行)。
Send-SmigServerData -ComputerName <DestinationServer> -SourcePath d:\users -DestinationPath d:\shares\users -Recurse -Include All -Force目标数据位置不必与源位置相同,并且需要的话,可以进行更改。
注意:将在目标服务器上自动重新启动 LanMan 服务,以使迁移的共享生效。
将自动对传输的数据进行加密。将提示您在源计算机上输入加密已传输数据的密码,将使用该密码在目标计算机上对接收到的数据进行解密。
2. 冻结源服务器 - 冻结数据更改
完成第一次数据复制之后,您将需要冻结源服务器并冻结所有数据更改。
3. 数据和共享的最后一次复制
断开用户连接并迁移新的或更新的文件
请确保通知用户此时应该停止使用源服务器,以防止任何可能的数据丢失。可以运行下面的命令列出当前所有打开的文件句柄,以确定执行此步骤的潜在影响。
net file通过停止 Lanman 服务器服务断开所有用户与源服务器的连接。
Stop-Service LanmanServer停止 LanMan 服务器服务将强制指向源服务器上共享的所有打开的远程句柄失效,这可能会导致数据丢失。当管理员希望让最少数量的用户访问该服务器上的文件时,最好执行该步骤。
在以管理员身份运行的 Windows PowerShell 窗口中,使用以下命令在目标服务器上运行 Receive-SmigServerData cmdlet:
Receive-SmigServerData使用 SmigServerData 迁移数据和共享,如下面示例所述。请使用 Windows PowerShell 提示符(以管理员身份运行)。
Send-SmigServerData -ComputerName <DestinationServer> -SourcePath d:\users -DestinationPath d:\shares\users -Recurse -Include All -Force如果您的方案需要迁移重分析点、硬链接以及装入点,则使用 mklink 命令(针对重分析点和硬链接)以及使用 mountvol 命令(针对装入卷)在目标服务器上重新创建它们。
保持该目标路径与数据和共享的第一次复制过程的目标路径相同,这一点非常重要。仅当目标服务器上不存在文件、文件夹和共享或源服务器具有较新版本时,cmdlet 才会传输它们。
物理数据迁移
通过将物理磁盘/LUN 从源计算机移动到目标计算机来进行数据迁移
如果您的数据位于外部 LUN/磁盘上,则可以选择通过对源计算机中的 LUN 进行屏蔽,然后在目标计算机上对其解除屏蔽来移动文件服务器数据。
为了获得理想的迁移,您可能希望确保保持相同的卷号(例如,D:)映射和卷 ID(下面将加以说明),以便在移动期间尽可能使任何相关数据和应用程序信息保持一致。
警告:如果物理磁盘/LUN 既包含数据,也包含操作系统,则不应该移动该磁盘/LUN。
物理迁移的优点:
对于大量数据来说,这是一个比较快速的操作
您将保留磁盘上的所有数据 - 这包括硬链接、装入点等等…
如果卷影副本位于已迁移的磁盘上,则将保留卷影副本
可能需要注意的问题:
不是默认计算机帐户(如管理员…)的本地用户将失去权限,即使在目标计算机上创建用户帐户时,使用了相同的用户名称也是如此
无法迁移加密文件 (EFS)
无法迁移加密卷 (Bitlocker)
将不迁移远程存储设备 (RSS)
通过物理移动数据磁盘或通过使用 LUN 屏蔽/解除屏蔽移动数据磁盘来进行物理数据迁移的步骤
收集有关源计算机的信息
记下要移动到目标计算机的每个数据卷的卷驱动器号和卷标
在源计算机上,通过将以下注册表项导出到某个文件来导出卷 GUID 路径:HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices。通过打开注册表编辑器 (regedit.exe),浏览到注册表项,右键单击注册表项并选择导出选项来完成该操作。
打开记事本并加载从步骤 b 中导出的 .reg 文件,删除采用以下格式的所有条目:\DosDevices\D:,然后保存 .reg 文件(其余条目应该采用以下格式:\??\Volume{ef93fe94-5dd7-11dd-961a-001e4cdb4059})
准备目标服务器
使用磁盘管理 (diskmgmt.msc) 确保用于数据卷的卷号可用(如果某个卷号当前已分配给目标计算机上某个现有卷,则更改该卷的卷号)
若要将卷 GUID 路径导入目标计算机,请复制在步骤 1.c 中创建的 .reg 文件并双击该文件以更新目标服务器。
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices key
将物理磁盘或 LUN 从源计算机移动到目标服务器
在源计算机上,使用 SAN 存储管理器删除物理磁盘或取消分配 LUN。
若要打开 SAN 存储管理器,请依次单击「开始」、"管理工具",然后单击"SAN 存储管理器"。
对于每个 LUN:
在目标服务器上,使用 SAN 存储管理器挂接物理磁盘或分配 LUN。
若要打开 SAN 存储管理器,请依次单击「开始」、"管理工具",然后单击"SAN 存储管理器"。
分配 LUN 的步骤
在控制台树中,单击"LUN 管理"。
在结果窗格中,选择要分配的 LUN。
在操作窗格中,单击"分配 LUN"。
请按"分配 LUN 向导"页面中的步骤操作。
在目标计算机上,使用磁盘管理 (diskmgmt.msc) 将相应的卷驱动器号和卷标映射到 LUN 上的卷
如果使用 Windows Server 核心,则远程连接到 Windows Server 核心,然后执行上述命令。
若要远程连接到 Windows Server 核心,请依次单击"开始"、"管理工具",右键单击"计算机管理",然后指向"连接到另一台计算机"。输入计算机名称并单击"确定"。
如果已迁移驱动器上的任何文件或文件夹使用本地用户或本地组权限(默认用户和组除外),则此时需要重新创建这些权限。请注意,所有域用户和组权限都将保持不变(假设源服务器和目标服务器是同一域的成员)。
注意:可以使用 icacls 命令修改文件和文件夹权限。应该在 PowerShell 或命令提示符中使用该命令并且以管理员身份运行。
以下链接提供了默认用户和组的列表:http://technet.microsoft.com/en-us/library/bb726980.aspx
迁移共享
如果已迁移驱动器上的任何文件夹已在源服务器上共享并且需要继续在目标服务器上共享,请按照以下步骤迁移共享。
如果任何已迁移共享使用本地用户和组权限,请确保已经完成本地用户和组的迁移。
注意:必须各自在 5 分钟之内,在源服务器和目标服务器上启动 Send-SmigServerData 和 Receive-SmigServerData cmdlet。默认情况下,如果无法在 300 秒(或 5 分钟)内建立连接,则 Send-SmigServerData 和 Receive-SmigServerData 操作会终止。会将 Send-SmigServerData 和 Receive-SmigServerData cmdlet 的此最大连接超时存储在以下注册表项中:
注册表项:HKLM\Software\Microsoft\ServerMigration,值:MaxConnectionTime (REG_DWORD)
数据:介于 1 到 3600 之间(表示连接超时,以秒为单位)。如果已指定一个大于 3600 的值,则会使用 3600 秒(1 小时)作为最大连接超时。
如果在源服务器和目标服务器上没有打开端口 7000,请打开该端口。
在目标服务器上:
在 Windows Server 2008 R2 中打开使用管理员权限运行的 Windows PowerShell 窗口。
输入下列命令:
Receive-SmigServerData在源服务器上:
在 Windows Server 2003、Windows Server 2008 或 Windows Server 2008 R2 中打开使用管理员权限运行的 Windows PowerShell 窗口。
输入下列命令:
Send-SmigServerData -ComputerName <DestinationServerName> -SourcePath <SourcePath> -DestinationPath <DestinationPath> -Recurse -Include Share -Force注意
<SourcePath> 值指定源服务器上在迁移驱动器之前包含共享文件夹的本地路径。共享信息未存储在数据驱动器中,因此您不必担心驱动器不再位于源服务器上。
<DestinationPath> 值指定目标服务器上包含之前已在源服务器上共享的文件夹的本地路径。除非已迁移驱动器上的根驱动器号或文件夹结构已经更改,否则正常情况下 <SourcePath> 和 <DestinationPath> 值应该相同。
在共享迁移期间,会迁移本地用户和组以及域用户和组的权限,不需要手动进行重新映射。
将在目标服务器上自动重新启动 LanMan 服务,以使迁移的共享生效。
DFSR 迁移
如果使用物理数据迁移,请对 DFSR 配置状态(存储在迁移的卷上)执行清理:
卷清理(对于每个物理迁移的卷)
导航到路径 <volume>\System Volume Information
注意:这是一个隐藏的系统目录。将需要选中"显示隐藏的文件",并取消选中"隐藏受保护的操作系统文件"才能在 Windows 资源管理器中查看该目录。此外,可能还需要修改该目录的安全权限以授予本地管理员对该目录的"完全控制"访问权限。
删除目录"DFSR"以及该目录中的所有内容
还原已进行的任何安全权限修改以完成该过程
针对所有物理迁移的卷重复该过程
已复制文件夹清理(针对物理迁移的卷上的已复制文件夹)
导航到已复制文件夹的根目录
删除目录"DfsrPrivate"以及所有子目录
如果已复制文件夹的"暂存路径"位于非默认位置,则删除该暂存目录以及该暂存目录中的所有内容。
注意:"暂存路径"的默认位置位于目录 DfsrPrivate 下,因此如果该路径位于默认位置,则不需要执行该步骤。
如果已复制文件夹的"冲突和已删除路径"位于非默认位置,则删除该冲突和已删除目录以及该冲突和已删除目录中的所有内容。
注意:"冲突和已删除路径"的默认位置位于目录 DfsrPrivate 下,因此如该路径位于默认位置,则不需要执行该步骤。
使用为源服务器收集的清单信息,检测源服务器所属的所有复制组。将目标服务器作为成员服务器添加到所有这些复制组中。
3.5. 迁移服务器标识
将需要重命名源服务器并将其以前的标识迁移到目标服务器。可能还需要将源服务器 IP 地址迁移到目标服务器。
本指南为您提供了有关将运行文件服务的现有服务器迁移到运行 Windows Server 2008 R2 的服务器的说明。本指南不包含源服务器正在运行多个角色时迁移的说明。如果服务器正在运行多个角色,则建议根据其他角色迁移指南中提供的信息,设计一个特定于服务器环境的自定义迁移过程。其他角色的迁移指南可以在 Windows Server 2008 R2 技术中心(可能为英文网页)中获得。
警告:如果源服务器正在运行多个角色,则此指南中的某些迁移步骤(如针对计算机名和 IP 配置的那些迁移步骤)可能会导致正在源服务器上运行的其他角色失败。
警告:如果源服务器正在运行多个角色,则重命名源服务器或更改其 IP 地址可能会导致正在源服务器上运行的其他角色失败。
本指南没有提供迁移多个文件服务器角色的说明。
重命名源服务器
将源服务器重命名为临时名称。
迁移 IP 地址
当在源服务器上使用静态 IP 地址时,建议将此 IP 地址从源服务器迁移到目标服务器。这是由于缓存 IP 地址的客户端计算机在本地与某个服务器名称相关联。客户端计算机将仍然尝试访问源服务器,即使源服务器已重命名也是如此。
不迁移服务器 IP 地址时,必须在源服务器上停止 LanmanServer 服务。这样做是为了防止在完成到目标服务器的迁移之后,用户访问源服务器上的共享。在源服务器上,使用以管理员身份运行的 Windows PowerShell 提示符,运行以下命令:
Stop-Service LanmanServer -Force
重命名目标服务器
将目标服务器重命名为源服务器使用的原始名称。
3.6. 在目标服务器上配置 DFS 复制
将基于是通过复制还是通过物理移动来迁移数据,在目标服务器上配置 DFS 复制。如果是基于复制迁移数据,请按照基于复制的迁移步骤进行操作。如果是物理移动磁盘,请转到基于物理的迁移步骤。
如果数据迁移是基于复制的迁移
为源服务器上的每个复制组添加一个源服务器和目标服务器之间的复制连接。为了创建连接,可以按以下顺序执行操作:
单击「开始」,指向"管理工具",然后单击"DFS 管理"。
在控制台树中的"复制"节点下,选择"添加要显示的复制组",输入源的名称,然后单击"显示复制组"。选择显示的所有复制组,然后单击"确定"。
对于每个复制组:
单击复制组,然后单击"新建成员"。按照"新建成员向导"中的说明向复制组中添加目标服务器。
在控制台树中的"复制"节点下,右键单击目标服务器刚刚添加到的复制组,然后单击"新建连接"。
指定源服务器和目标服务器作为发送和接收成员,指定用于使连接始终启用的计划。此时,复制是单向的。
选择"在相反方向创建另一个连接"为发送成员和接收成员之间的双向复制创建另一个连接。
如果数据迁移是基于物理的迁移
在目标服务器和离目标服务器最近的服务器(源服务器除外)之间添加一个复制连接。为了创建连接,可以按以下顺序执行操作:
单击「开始」,指向"管理工具",然后单击"DFS 管理"。
在控制台树中的"复制"节点下,选择"添加要显示的复制组",输入源的名称,然后单击"显示复制组"。选择显示的所有复制组,然后单击"确定"。
对于每个复制组:
单击复制组,然后单击"新建成员"。按照"新建成员向导"中的说明向复制组中添加目标服务器。
在控制台树中的"复制"节点下,右键单击目标服务器刚刚添加到的复制组,然后单击"新建连接"。
指定目标服务器作为发送成员,指定除源服务器之外的任何其他服务器作为接收成员,指定用于连接的计划。此时,复制是单向的。建议选择与目标服务器具有良好网络连接的服务器作为接收成员。
选择"在相反方向创建另一个连接"为发送成员和接收成员之间的双向复制创建另一个连接。
注意:新的已复制文件夹中的复制不会立即开始。新的 DFS 复制设置必须复制到所有域控制器上,并且复制组中的每个成员必须轮询最接近的域控制器,以获取这些设置。该操作所花费的时间取决于 AD DS 复制延迟以及每个成员的轮询间隔(60 分钟)。
可以使用命令"dfsrdiag /pollad"在源服务器和目标服务器上强制 DFSR 轮询 Active Directory,并检索最新的配置信息,而不是等待下一个标准轮询间隔(最长可达 60 分钟)。
目标服务器上的 DFSR 轮询 Active Directory 之后,便开始设置已配置为复制和执行初始同步的已复制文件夹。将在目标服务器的事件日志中为每个已复制文件夹注册一个事件 ID 4102 (MSG_EVENT_DFSR_CS_INITIAL_SYNC_NEEDED)。
在初始同步期间,DFSR 从源服务器下载已复制文件夹中的所有文件并为每个卷构建一个数据库的本地副本。这个过程可能非常耗时。可以通过在开始迁移之前,从获取的备份中预先设定从源服务器到目标服务器的数据种子来加快初始同步。
初始同步完成后,为目标服务器上的每个已复制文件夹注册一个事件 ID 4104 (MSG_EVENT_DFSR_CS_INITIAL_SYNC_COMPLETED)。监视目标服务器上的每个已复制文件夹并进行检查以确保它们都已完成初始同步。
3.7. 将设置导入目标服务器
下面是将设置导入目标服务器的步骤。
1. 特定于服务器消息块和客户端缓存的组策略
服务器消息块 (SMB)
在目标服务器上使用组策略或本地策略将设置更改为与源服务器相同的值。
从命令行运行以下命令:
gpedit.msc在 Microsoft 管理控制台 (MMC) 管理单元中,依次单击"计算机配置"、"Windows 设置"、"安全设置"、"本地策略",然后单击"安全选项"。
使用组策略或本地策略将以下设置设置为 3.2 节"导出设置"中记录的值。将目标服务器设置设置为源服务器上针对这些项目记录的值:
Microsoft 网络服务器: 暂停会话前所需的空闲时间数量
Microsoft 网络服务器: 对通信进行数字签名(始终)
Microsoft 网络服务器: 对通信进行数字签名(如果客户端允许)
Microsoft 网络服务器: 登录时间过期后断开与客户端的连接
客户端缓存 (CSC)
注意:本部分仅适用于源服务器为 Windows Server 2008 R2 的情况。
使用组策略或本地策略将以下设置设置为 3.2 节"导出设置"中记录的值。
从命令行运行以下命令:
gpedit.msc在 Microsoft 管理控制台 (MMC) 管理单元中,依次单击"计算机配置"、"管理模板"、"网络",然后单击"Lanman 服务器"。
将目标服务器策略设置设置为与"WindowsBranchCache 的哈希发布"的源服务器相同的值。
2. DFS 命名空间配置
对于独立命名空间
在目标服务器上创建命名空间
在目标服务器的 DFS 管理控制台中,重新创建具有相同名称的命名空间,或使用以下命令
Dfsutil.exe root addstd <\\DestinationServer\Namespace>从在步骤 a 中创建的文件导入命名空间配置
若要从导出文件导入命名空间,请在目标服务器上使用以下命令,其中 filename 是之前导出的文件:
Dfsutil.exe root import set <Filename> <\\DestinationServer\Namespace>对于具有多个命名空间服务器的基于域的命名空间
向命名空间中添加目标服务器
使用 DFS 管理控制台:
选择左窗格中正在迁移的命名空间。
在右窗格中,单击选项卡"命名空间服务器"。
选择操作"添加命名空间服务器"。
在显示的对话框中,键入目标服务器的名称并单击"确定"。
成功执行该操作之后,目标服务器便添加到命名空间中。
使用 DFSUtil.exe:
从目标服务器打开命令提示符窗口并键入以下命令:
DFSUtil.exe target add <\\DestinationServer\Namespace>对于具有 1 个命名空间服务器的基于域的命名空间
该过程仅适用于未将临时服务器添加到命名空间的情况;否则请按照过程 2.a"具有多个命名空间服务器的基于域的命名空间"执行操作。
在目标服务器上创建命名空间
在目标服务器的 DFS 管理控制台中,重新创建具有相同名称的命名空间,或者在命令提示符下键入以下命令。
Dfsutil.exe root adddom <\\DestinationServer\Namespace>从在步骤 a 中创建的文件导入命名空间配置
从目标服务器打开命令提示符窗口,并针对源服务器是命名空间服务器的每个命名空间键入以下命令。请注意,对于每个命名空间,必须有一个将从中导入设置的文件名。
DFSUtil.exe root import set <Filename> <\\DestinationServer\Namespace>手动重置命名空间的委派权限
使用 DFS 管理控制台,设置之前列出的权限。
高级注册表项
如果在 SourceServer 上配置了任何高级注册表项,则使用 DFSUtil.exe 将 DestinationServer 配置为具有相同的注册表项设置。在目标服务器上使用以下命令设置高级注册表项:
DFSUtil.exe server registry DfsDnsConfig set <DestinationServer>
DFSUtil.exe server registry LdapTimeoutValue set <Value> <DestinationServer>
DFSUtil.exe server registry SyncInterval set <Value> <DestinationServer>
DFSUtil.exe server registry SiteCostedReferrals set <DestinationServer>
DFSUtil.exe server registry InsiteReferrals set <DestinationServer>
DFSUtil.exe server registry PreferLogonDC set <DestinationServer>3. 目标服务器上的 FSRM 配置
停止 FSRM 服务
以管理员身份在 Windows PowerShell 中运行以下命令:
Stop-Service -name "srmsvc","srmreports"以管理员身份在 Windows PowerShell 中运行以下命令:
add-PSSnapin microsoft.windows.servermanager.migration注意
如果目标服务器上尚未安装您正在迁移的 Windows 功能,则 Import-SmigServerSetting cmdlet 作为导入过程的一部分安装它们以及它们所依赖的任何 Windows 功能。某些 Windows 功能可能需要重新启动目标计算机才能完成安装。重新启动计算机之后,必须再次将此 cmdlet 与 -Force 参数一起运行才能完成导入操作。
Import-SmigServerSetting -FeatureID FS-Resource-Manager -Path <path used in export> -Force对于每个卷 - 设置配置文件
以管理员身份在 Windows PowerShell 中运行以下命令:
注意
在全新计算机上运行以下命令将返回一个错误消息。可以安全地忽略该错误消息。
停止文件屏蔽驱动程序:
fltmc detach datascrn <VolumeLetter>:停止配额驱动程序:
fltmc detach quota <VolumeLetter>:向"<VolumeLetter>:\System Volume information\SRM"目录及其子目录添加管理员写入权限。
takeown /F "<VolumeLetter>:\System Volume Information" /A /R /D Y
cacls "<VolumeLetter>:\System Volume Information" /T /E /G Administrators:F
attrib -S -H "<VolumeLetter>:\System Volume Information\*" /S /D
将以下文件从外部存储复制到 SRM 目录:
Quota.xml
Quota.md
Datascrn.md
DataScreenDatabase.xml
启动文件屏蔽驱动程序:
fltmc attach datascrn <VolumeLetter>:启动配额驱动程序:
fltmc attach quota <VolumeLetter>:再次重新启动 FSRM 服务
以管理员身份在 Windows PowerShell 中运行以下命令:
Start-Service -name "srmsvc","srmreports"配置计划报告
对于每个计划报告,需要在目标服务器上创建一个计划任务。
每个任务拥有一个 XML 文件之后,将其复制到目标服务器并在目标服务器上针对每个任务从 Windows PowerShell 运行以下命令:
schtasks /create /xml:"TASKNAME.xml" /tn:"TASKNAME"4. 共享文件夹的卷影副本
迁移卷影副本设置
将源服务器中的相同设置应用到目标服务器上的相应卷。
Windows 2003 - 2008 R2 中的卷影副本
若要配置卷影副本,请依次单击「开始」、"计算机",对于目标服务器上已在源服务器上配置卷影副本的每个卷,右键单击卷,选择"配置卷影副本"。单击"设置"并确保卷影副本存储的位置和大小与源服务器中的设置相匹配。单击"计划"并确保快照创建任务的详细信息与源服务器中的设置相匹配。
Windows Server 核心中的卷影副本
将需要远程登录到 Windows Server 核心。
若要远程连接到 Windows Server 核心,请依次单击「开始」、"管理工具"、"计算机管理"、文件菜单上的"操作",然后选择"连接到另一台计算机"。输入计算机名称并单击"确定"。展开"系统工具"节点,右键单击"共享文件夹",单击"所有任务"选项卡,然后单击"配置卷影副本"。
对于目标服务器上已在源服务器上配置卷影副本的每个卷,右键单击卷,选择"配置卷影副本",单击"设置"并确保卷影副本存储的位置和大小与源服务器中的设置相匹配。单击"计划"并确保快照创建任务的详细信息与源服务器中的设置相匹配。