服务器 频道

Win2008 R2文件迁移实战之迁移文件服务

  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 下,因此如该路径位于默认位置,则不需要执行该步骤。

  使用为源服务器收集的清单信息,检测源服务器所属的所有复制组。将目标服务器作为成员服务器添加到所有这些复制组中。
 

0
相关文章