Skip to content

域控及文件共享服务器迁移方案

一、概述

鉴于办公网络中的域控制器主机磁盘存储空间已达极限,且无法通过扩容来解决存储问题,我们计划进行硬件升级,以提高存储容量和系统性能。为此,我们将上架一台新的服务器,用以替换现有的域控制器主机。

新服务器将配备更先进的存储解决方案,以满足日益增长的数据存储需求,并确保系统的稳定运行和数据的安全性。此次硬件升级将为我们的办公网络带来以下优势:

1.提升存储容量:新服务器将提供更大的存储空间,以适应未来数据增长的需求。 2.增强系统性能:升级后的硬件将提高域控制器的处理速度和响应能力,优化用户体验。 3.确保数据安全:新服务器将采用最新的安全技术,保护关键数据免受威胁。 4.提高可靠性和稳定性:新硬件的引入将减少系统故障的风险,确保业务连续性。

我们期待通过这次硬件升级,能够为公司带来更高效、更可靠的办公网络环境。本文档旨在概述域服务器及共享文件数据迁移方案,确保迁移过程的顺利进行。

二、前期准备工作

(一)审查目标地域要求

深入了解目标服务器所在地的数据安全标准和网络环境要求,确保迁移后能够完全符合当地的法规和政策。这一步骤是至关重要的,以保障数据迁移的合规性,并维持业务的连续性。

(二)评估源服务器环境

对源服务器的硬件配置、软件环境和网络连接进行全面评估,以确保源服务器能够稳定支持整个迁移过程。这一评估将帮助我们识别潜在的技术障碍,并提前制定解决方案。

(三)确定迁移策略

基于业务需求和风险控制的考量,我们将确定最合适的迁移策略,包括冷迁移、温迁移或热迁移。选择正确的迁移策略对于确保业务中断最小化和数据完整性至关重要。

(四)制定备用方案

在迁移前,我们将制定详尽的风险应急方案,并配置相应的备用方案,以应对迁移过程中可能出现的任何意外情况。这将确保我们能够迅速响应并最小化对业务的影响。

(五)规划具体实施时间及人员安排

详细规划迁移的具体实施时间表,包括迁移的各个阶段和关键里程碑,确保迁移过程按计划顺利进行,并减少对日常业务的干扰。

序号 负责部门 负责人 手机号码 计划实施时间
1 信息运营部 XXX 123456 年月日
2 信息运营部 XXX 123456 年月日

三、迁移方案和步骤

(一)数据备份与验证

  1. 数据备份:在源服务器上进行数据备份,包括文件系统或其他重要数据。备份的数据存储至安全的地方,以防遭到泄漏或丢失。
  2. 数据验证:完成数据迁移后,进行数据验证以确保数据在迁移过程中没有损坏或丢失。可以比对源服务器和目标服务器上对应的数据,或者进行数据完整性校验等操作。

(二)搭建备域控,降级主域控

  1. 搭建备域控:我们需要准备一台服务器作为备域控制器。这台服务器将承担在主域控制器发生故障时接管其职责的重要角色。在此服务器上安装操作系统,并确保其满足所有域控制器的硬件和软件要求。
  2. 降级主域控:在开始降级过程之前,我们需要确保所有的域服务都已经在备域控制器上成功同步,并且备域控制器已经完全准备好接管主域控制器的职责。主域控制器被降级,备域控制器将自动提升为主域控制器。我们需要验证备域控制器是否能够正常处理登录请求、应用组策略和解析DNS查询。

(三)网络配置迁移

  1. IP地址及DNS修改:迁移源服务器上的IP地址与DNS,并将域名指向目标服务器的IP地址。
  2. 配置调整:根据目标地域的网络环境和安全要求,对目标服务器的网络配置进行调整,包括对交换机端口路由设置等。

(四)评估机房服务器上架条件

我们对机房机柜的上架条件进行了全面检查,确认是否具备服务器上架的必要条件及是否缺少配件。如发现缺少配件,将及时反馈至总部;若总部库存不足,则按流程提交采购申请,以确保服务器安装工作顺利进行。

(五)对设备与线路标识

旧设备下架前,先对新设备进行了线路和设备标识。所有线路及设备均已按照标准进行清晰标识,确保各类硬件设备和连接线路结构明确、布局合理。这不仅提升了设备管理的效率,也为未来的维护和故障排查提供了更高的可操作性和可追溯性。

(六)及时告知办公区负责人

由于域控及文件共享系统变更可能涉及一定的调整工作,为了确保系统的平稳过渡,需及时告知办公区负责人提前做好准备,并确保协调一致,确保升级过程的顺利进行和高效实施。

四、可能出现的问题影响及预防

(一)数据不一致

问题影响: 在数据迁移过程中,如果出现数据不一致,可能导致多个业务系统的数据缺失、错误或冲突,影响用户的正常操作和业务流程。数据不一致还可能使各部门在共享和处理信息时产生混淆,导致决策失误。此外,数据恢复和错误修复将增加工作量,耗费大量时间和资源,甚至可能导致部分数据永久丢失,影响公司的整体业务运转和数据安全性。

预防措施: 提前联系中后台负责人,说明数据迁移的相关事项,并由负责人在群内发布迁移通知。在下班后无人在岗的时间段执行数据备份,并在迁移前完成全面备份,以确保数据可恢复,防止数据不一致问题的发生。

(二)权限缺失

问题影响: 在数据迁移后,如果出现权限缺失问题,将导致用户无法访问所需的文件和系统资源,影响日常工作效率。某些关键部门或应用可能因权限不足而中断,导致业务流程受阻。此外,权限缺失也可能影响文件的共享和协作,增加支持和维护的工作量。若不及时修复,可能会进一步带来信息安全风险,影响数据的完整性和保密性,甚至延误项目进度,影响整体业务运作。

**预防措施:**数据迁移后,逐一检查所有文件及其共享权限,确保设置无误。随后,在实际环境中进行全面测试,验证系统功能是否正常运行。如发现问题或不一致之处,及时调整和修正。同时,确保相关人员能够顺利访问所需资源,避免因权限缺失而影响工作。

(三)域控降级出现异常提示

问题影响: 在域控降级过程中出现异常提示,可能预示降级未按预期完成或存在潜在的配置问题。这种异常会导致旧域控上的用户、权限和组策略等未完全移交至新域控,从而影响用户登录、访问权限和组策略的正常应用。若不及时解决,可能导致网络管理混乱、资源不可用、或安全策略未正确执行,增加系统的不稳定性,影响企业整体网络的安全性和正常运行。

预防措施: 在域控降级过程中出现了异常提示,不属于正常降级流程中的预期内容。对此,及时向总部汇报并延后域控降级的实施时间,同时查阅相关资料,积极寻找解决方案。

(四)上架服务器无法与办公区主机进行通信

问题影响: 如果上架服务器无法与办公区主机通信,将导致服务器无法正常访问网络资源,无法进行必要的数据交换和业务操作。这会影响服务器的功能验证、应用程序部署以及用户访问等关键任务。办公区的工作人员可能无法访问需要该服务器支持的应用或服务,造成工作中断或效率降低。此外,长期无法解决的网络连接问题可能导致更复杂的故障排查,延误项目进度,甚至影响整个系统的稳定性和业务连续性。

预防措施: 服务器接入交换机端口后,由于交换机端口之间划分了不同的VLAN及网段,造成上架设备与端口规划网段不一致,导致上架设备与办公区主机无法正常通信。针对该问题,需对交换机端口或对VLAN配置进行检查和调整。从而确保服务器与办公区主机的正常网络连接,调整后进行网络连通性测试,确认通信恢复正常。

(五)DNS解析出现问题导致入域失败

问题影响: 如果DNS解析出现问题,导致入域失败,将使得服务器无法正确与域控进行通信,进而无法加入到域中。这会直接影响到用户身份验证、资源访问和策略应用等关键功能。无法加入域的设备无法统一管理,无法通过组策略进行配置,也无法访问域内共享资源,造成工作中断。长期存在DNS解析问题还可能导致域内设备的互联互通受阻,影响整个企业网络的稳定性和安全性。此外,若未及时修复DNS问题,可能会加大故障排查和修复的难度,延迟项目进度,影响企业的日常运营。

预防措施: 为防止DNS解析问题影响域加入,需在新共享环境试运行稳定一段时间后,检查并确认迁移过程中未丢失DNS记录。迁移完成后立即进行DNS解析测试,以确保服务和资源能够正常访问。如发现解析异常,及时排查和修复DNS记录,以确保系统稳定运行和域内设备的正常连接。

迁移后确保用户能够正常登录和访问资源,必要时提供支持。同时,记录测试过程和结果,为后续维护提供参考。

(六)缺少测试主机验证迁移域控的有效性

如果在域控迁移过程中缺少测试主机,将无法进行充分的验证,包括脱域和重新加域的测试以及组策略的应用效果。这可能导致迁移后用户在加入新域时出现问题,或组策略未能正确应用,从而影响办公区的日常工作,增加后续故障排查的难度和工作量。

及时联系办公区相关负责人,借用4-5台主机,用于进行脱域和重新加域的测试,确保域控迁移的有效性。同时,验证相关组策略的正确应用,确保策略生效无误。

五、已出现难点与解决

(一)服务器配置RAID硬盘识别问题

存在问题:Dell R430服务器两块硬盘组RAID1,系统识别不到磁盘。且服务器过保戴尔不提供电话在线支持。

解决办法:

查找戴尔服务器供应商联系信息,向供应商说明情况反馈问题,请教解决问题操作步骤。步骤如下:

(1)根据BIOS提供的RAID控制器信息,下载官方驱动: SAS_RAID_DRIVER_WS2019_S130_4.3.0-0006_A00_ZPE.exe
(2)将程序解压到优盘,进入系统启动盘,在安装系统时,点击加载驱动程序。
(3)选择解压驱动程序所在的优盘,接着就会识别驱动配置,点击安装。安装完成后即可识别出硬盘。

(二)主域降级准备工作异常问题

1.无法联系其他域控制器,但其他域控制器对象位于目录中。如果你确定这是该域的最后一个域控制器并希望继续操作,请确认这是域中的最后一个域控制器。

解决办法:原因是备域控Netlogon、DFS Replication相关的服务存在异常。开启NETLOGON和SYSVOL共享。

2.备域控SYSVOL文件夹未与主域控未保持同步,以及此类相关的一系列问题

解决办法:在主域控服务器上执行调整DFS复制服务中设置的最大离线时间的命令。如果复制服务的目标服务器在指定的天数内没有重新连接,DFS复制就会认为目标文件夹是“离线”状态并可能会导致某些警告或健康检查错误。通过设置较长的离线时间(如700天),可以避免DFS复制过早地标记某些文件夹为“不健康”或失败。 综上参考资料:https://blog.pmail.idv.tw/?p=20607

(三)文件迁移工具使用问题

  1. 使用Robocopy 备份迁移工具出现如下问题:
(1)ERROR: You do not have the Manage Auditing user right.You need this to copy auditing information (/COPY:U or /COPYALL).
 解决办法:目标计算机以管理员权限运行命令。
(2)注意: 可能无法复制安全性-来源可能不支持永久 ACL。错误5(0x00000005)正在访问源目录。拒绝访问。
 解决办法:需要将文件夹共享的读写权限授予administrator。
(3)Robocopy可虽然以保留NTFS安全权限,但共享权限需要重新设置。
 解决办法:开启文件夹共享,并通过编写脚本将NTFS 权限转换成对应的共享权限的解决,脚本附件:NTFS权限基础上转换为共享权限.ps1。

(四)组策略脚本连续性问题

主域控组策略登录脚本网络地址为计算机名指向,迁移主控会导致部分脚本失效。

解决办法:通过net share发现所有共享文件夹及本地位置。对主域控的脚本位置指向IP地址或升级成主控的计算名。以及查看相关脚本内容,变更此类网络设定地址。

(五)服务器上架设施匮乏

机柜虽有空余放置空间,但服务器缺少上架设施,如:服务器导轨、机柜托盘等。

解决办法:及时联系总部服务器负责人确定上架设施选型,考虑成本控制采用485*675规格的机柜托盘。

(六)服务器上架前的网络调试

由于主域控制器主机的接入交换机端口与IT办公室之间的VLAN和网段是隔离的,在不更改交换机配置的情况下,做出如下决策: 1. 维持当前现状,继续使用IT办公室网段,分配末端IP给服务器。 2. 提前在备域控服务器配置其他网口配置主域控IP地址及DNS设置,以便上架机房接入能立即恢复响应。

(七)部分主机无法解析域控域名

原因是办公区部分主机自动获取的DNS未指向域控IP,造成域名无法解析。

解决办法:在接入交换机上,进入相关VLANIF配置DNS,使用命令dhcp server dns-list添加域控IP。

(八)附件脚本邮件变成垃圾邮件

由于腾讯企业邮件对批处理脚本设置了安全限制,包含脚本附件的邮件会被自动标记为垃圾邮件。在内部测试中,即使将脚本文件加密压缩后发送,接收方仍无法正常收到邮件。 解决办法:我们建议在共享盘创建一个IT公共共享文件夹,用于存放相关脚本文件,并在邮件中简要说明其用途,引导同事自行下载使用。这种方式既能确保脚本的安全分发,又方便同事们及时获取所需资源。

六、总结

本次项目从X月X日启动,截止X月X日已完成所有迁移工作。在域控及文件共享服务器的迁移过程中,我们依照预定方案逐步完成了以下关键环节,确保了迁移的稳定性和数据的完整性:

(一)数据备份和验证

在迁移前,对源服务器上的数据进行了全面备份,备份数据存储在安全位置。迁移完成后,通过比对和数据校验确保数据未受损失,验证了数据的完整性和一致性。

(二)网络配置迁移

完成IP地址及DNS配置的更新,将网络流量成功指向新的服务器。根据目标地域的网络和安全要求,进行了相应的配置调整,维持了过渡期间的业务连续性,确保网络连接的稳定性。

(三)权限及DNS解析问题检查

在数据迁移后,对所有文件及共享权限进行了检查,并在实际环境中测试。完成了DNS解析测试,确保域加入正常,及时发现并解决了潜在问题,保证系统和资源访问顺畅。

(四)服务器上架安装

新服务器已顺利完成上架,整个过程包括设备的机柜安装托盘,上架托盘存放、网络线路连接、做好设备标签、贴上设备标识等步骤,确保服务器稳固上架,线路及设备清晰标识,为后续的系统配置和调试提供了良好的硬件信息基础。

(五)问题排查与解决

在迁移过程中,遇到了一些技术问题,例如RAID配置、域控降级后的用户登录问题、文件权限设置困难等。我们逐项排查并应用了合适的解决方案,包括调整RAID驱动、修正域控IP配置、通过脚本重置文件权限等,以确保问题得到妥善处理。

(六)总体结论

服务器迁移是一项具有挑战性的任务,但通过详细的规划和准备,可以确保迁移过程的顺利进行,并保证企业的业务连续性。在迁移过程中,严格遵守目标地域的法律法规和网络安全要求,以保护用户数据和企业利益。同时,及时解决可能出现的问题,确保迁移后的服务器能够稳定可靠地运行。

本次迁移过程严格按照计划推进,关键步骤如数据备份、网络配置、权限检查和问题排查等环节均已顺利完成。迁移后,系统稳定性和数据安全性明显提升,满足了日益增长的业务需求,为未来系统的扩展和优化奠定了基础。

(七) 附件

NTFS权限基础上转换为共享权限.ps1

# 接收用户输入的文件夹路径
$folderPath = Read-Host -Prompt "请输入文件夹路径(例如:C:\共享文件夹\质检)"

# 接收用户输入的共享名称
$shareName = Read-Host -Prompt "请输入共享名称(例如:质检)"

try {
    # 获取文件夹的 NTFS 安全权限
    $acl = Get-Acl -Path $folderPath

    # 禁用文件夹的权限继承,并将现有的继承权限转换为显式权限
    $acl.SetAccessRuleProtection($true, $false)
    Set-Acl -Path $folderPath -AclObject $acl
    Write-Output "已禁用权限继承并设置显式权限。"
} catch {
    Write-Output "获取文件夹权限或禁用继承时出错: $_"
    exit
}

# 建立有效的 NTFS 用户权限列表
$ntfsUsers = @{ }

foreach ($access in $acl.Access) {
    $user = $access.IdentityReference.Value
    $permissions = $access.FileSystemRights.ToString()

    if ($permissions.Contains("FullControl")) {
        $ntfsUsers[$user] = "Full"
    }
    elseif ($permissions.Contains("Modify")) {
        $ntfsUsers[$user] = "Change"
    }
    elseif ($permissions.Contains("ReadAndExecute") -or $permissions.Contains("Read")) {
        $ntfsUsers[$user] = "Read"
    }
    else {
        Write-Output "未匹配权限类型:$permissions,跳过用户 $user 的共享权限设置"
    }
}

# 定义例外列表,仅适用于 NTFS 权限(不加入共享权限)
$exceptionList = @(
    "CREATOR OWNER", 
    "SYSTEM", 
    "Users", 
    "Administrators", 
    "BUILTIN\Administrators", 
    "NT AUTHORITY\SYSTEM", 
    "NT AUTHORITY\Authenticated Users"
)

try {
    # 清除现有的共享权限,确保只为 NTFS 权限中非例外用户添加共享权限
    Get-SmbShareAccess -Name $shareName | ForEach-Object {
        Revoke-SmbShareAccess -Name $shareName -AccountName $_.AccountName -Force
    }
    Write-Output "已清除现有共享权限。"

    # 设置共享权限为 NTFS 权限中非例外用户的权限
    foreach ($user in $ntfsUsers.Keys) {
        if (-not $exceptionList.Contains($user)) {
            try {
                # 检查用户是否为SID格式(避免没有账户名的错误)
                if ($user -match "^S-\d-\d+-(\d+-){1,14}\d+$") {
                    Write-Output "跳过SID格式用户 $user 的共享权限设置。"
                } else {
                    Grant-SmbShareAccess -Name $shareName -AccountName $user -AccessRight $ntfsUsers[$user] -Force
                    Write-Output "已为用户 $user 设置共享权限:$ntfsUsers[$user]"
                }
            } catch {
                Write-Output "为用户 $user 设置共享权限时出错(账户名与安全标识无映射): $_"
            }
        }
    }
} catch {
    Write-Output "清除共享权限时出错: $_"
}

try {
    # 移除非 NTFS 列表中的用户,并为例外用户添加自定义 NTFS 权限
    foreach ($access in $acl.Access) {
        $user = $access.IdentityReference.Value
        if (-not $ntfsUsers.ContainsKey($user) -and -not $exceptionList.Contains($user)) {
            $acl.RemoveAccessRule($access)
            Write-Output "已移除用户 $user 的NTFS权限"
        }
    }

    # 删除 Everyone 的共享和 NTFS 权限
    Revoke-SmbShareAccess -Name $shareName -AccountName "Everyone" -Force
    $acl.Access | Where-Object { $_.IdentityReference -eq "Everyone" } | ForEach-Object { $acl.RemoveAccessRule($_) }
    Write-Output "已删除 Everyone 的共享和 NTFS 权限。"

    # 添加例外列表中的系统账户权限
    $usersRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Users", "ReadAndExecute, ListDirectory, Read", "ContainerInherit, ObjectInherit", "None", "Allow")
    $adminsRule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrators", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
    $systemRule = New-Object System.Security.AccessControl.FileSystemAccessRule("NT AUTHORITY\SYSTEM", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
    $creatorOwnerRule = New-Object System.Security.AccessControl.FileSystemAccessRule("CREATOR OWNER", "FullControl", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow")

    # 将新的规则添加到 ACL 中
    $acl.AddAccessRule($usersRule)
    $acl.AddAccessRule($adminsRule)
    $acl.AddAccessRule($systemRule)
    $acl.AddAccessRule($creatorOwnerRule)

    # 将更改后的 ACL 应用到文件夹
    Set-Acl -Path $folderPath -AclObject $acl
    Write-Output "共享和 NTFS 权限设置已完成,保留了系统级用户,并已删除多余的成员。"
} catch {
    Write-Output "设置或更新 NTFS 权限时出错: $_"
}