利用Azure存储同步服务构建垮分支机构的文件服务器资料同步

Posted ZJUNSEN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Azure存储同步服务构建垮分支机构的文件服务器资料同步相关的知识,希望对你有一定的参考价值。

Azure 文件同步是一项服务,可用于在本地 Windows Server 或云 VM 上缓存多个 Azure 文件共享。

文件将存储在云中的 Azure 文件共享中。可以通过两种方式使用 Azure 文件共享:直接装载这些无服务器 Azure 文件共享 (SMB),或使用 Azure 文件同步功能在本地缓存 Azure 文件共享。

  • 直接装载 Azure 文件共享:由于 Azure 文件存储提供 SMB 访问权限,可以使用 Windows、macOS 和 Linux 中提供的标准 SMB 客户端在本地或在云中装载 Azure 文件共享。 由于 Azure 文件共享是无服务器的,因此针对生产方案进行部署不需要管理文件服务器或 NAS 设备。 这意味着无需应用软件修补程序或换出物理磁盘。
  • 使用 Azure 文件同步在本地缓存 Azure 文件共享:借助 Azure 文件同步,可以在 Azure 文件存储中集中管理组织的文件共享,同时又能保留本地文件服务器的灵活性、性能和兼容性。 Azure 文件同步可将本地(或云中的)Windows Server 转换为 Azure 文件共享的快速缓存。

第一种方式直接挂载Azure文件共享介绍得很多了,也给大家在之前的博文中做过相关的演示,在这里我主要介绍演示第二种。

  • 如果您想更详细的规划Azure文件同步,可以参考https://docs.microsoft.com/zh-cn/azure/storage/file-sync/file-sync-planning
  • 如果对性能和文件大小数量有想了解的,可以参考https://docs.microsoft.com/zh-cn/azure/storage/files/storage-files-scale-targets?toc=/azure/storage/file-sync/toc.json
  • 结合使用 DFS 命名空间和 Azure 文件存储,可以参考https://docs.microsoft.com/zh-cn/azure/storage/files/files-manage-namespaces?toc=%2Fazure%2Fstorage%2Ffile-sync%2Ftoc.json&tabs=azure-portal

在本地我创建了一台Windows Server 2016的服务器Win2016FileSrv,使用该功能至少需要Windows Server 2012 R2以上版本;这台服务器除了系统盘以外,还有一个数据盘D盘10个G;

首先登录Azure门户,创建一个存储账户

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算

部署好Azure存储账户以后,创建一个文件共享it-filespace01

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_02

接下来上传一些文件,方便后面演示看到效果

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_03

就上传2个文件

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_04

回到本地Win2016FileSrv服务器上的D盘创建一个文件夹为FileToSync,并在里面新建一个TXT文本mytestfile

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_05

接下来,在Win2016FileSrv服务器上安装 Azure PowerShell 模块,管理员方式打开Powershell执行Install-Module -Name Az

如果下载不下来,那么可以找一台已经安装成功的电脑拷贝如下目录到不能下载的服务器上一样的路径:

  • C:\\Users\\用户名\\Documents\\WindowsPowerShell
  • C:\\Program Files\\PackageManagement

安装.net framework 4.8,执行Import-Module Az.Accounts即可

回到Azure门户,创建存储同步服务

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_06

下一步,直至创建完成

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_07

接下来在Win2016FileSrv安装存储同步服务的代理

Azure 文件同步代理是一个可下载包,可实现 Windows 服务器与 Azure 文件共享的同步。

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_08

选择主机对应系统的安装文件,我这里是Windows Server 2016故选择第一个

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_09

下载完成以后,点击开始安装

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_10

下一步

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_11

下一步

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_12

下一步

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_13

勾选代理自动更新,点击安装

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_14

安装完成

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_15

接下来现在需将Win2016FileSrv注册到存储同步服务:

向存储同步服务注册 Windows Server 可在服务器(或群集)与存储同步服务之间建立信任关系。一个服务器只能注册到一个存储同步服务。它可以与存储同步服务所关联的其他服务器和 Azure 文件共享同步。

服务器注册 UI 会在 Azure 文件同步代理安装后自动打开。如果没有,可以从其文件位置手动将其打开:C:\\Program Files\\Azure\\StorageSyncAgent\\ServerRegistration.exe.

服务器注册 UI 在 Win2016FileSrv中打开后,首先会检查代理是否有更新,点击OK。

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_16

选择区域:国际版Azure、国内版Azure等,点击“Sign in”使用Azure账户密码登录

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_17

登录成功以后选择订阅,资源组和存储同步服务,然后点击“Register”注册

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_18

注册成功

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_19

接下来回到Azure门户的存储同步服务,点击刚才创建的存储同步服务HK-StorageSync01创建同步组,同步组定义一组文件的同步拓扑。同步组中必须包含一个表示 Azure 文件共享的云终结点。 此外,同步组必须包含一个或多个服务器终结点。 服务器终结点表示已注册的服务器上的路径。

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_20

创建一个同步组名称,存储账户选择最初创建的存储账户hkfilesync01,选择Azure文件共享里的it-filespace01目录,点击创建

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_21

接下来添加服务器终结点,服务器终结点表示已注册的服务器上的特定位置。例如,服务器卷上的文件夹;选择新创建的同步组Win2016FileSrv-To-HK-StorageSync01,然后选择“添加服务器终结点”

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_22

选择已注册的服务器Win2016FileSrv和D盘的路径其他保持默认即可创建

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_23

+++++++++++++++++++云分层+++++++++++++++++++++

云分层是 Azure 文件同步的一项可选功能,可减少所需的本地存储量,同时保留本地文件服务器的性能。

启用后,此功能仅存储本地服务器上经常访问的(热)文件。不常访问的(冷)文件会拆分为命名空间(文件和文件夹结构)和文件内容。 命名空间存储在本地,文件内容存储在云中的 Azure 文件共享中(有点类似OneDrive的模式)。

如果用户打开分层文件,Azure 文件同步会从 Azure 的文件共享中无缝召回文件数据。

  • 云分层策略

启用云分层后,可以设置两种策略来通知 Azure 文件同步何时对冷文件进行分层:卷可用空间策略和日期策略 。

  • 卷可用空间策略

卷可用空间策略告诉 Azure 文件同步,当本地磁盘上被占用一定量的空间时,将冷文件分层到云。

例如,如果本地磁盘容量为 200 GiB,并且你希望至少 40 GiB 的本地磁盘容量始终可用,则应将卷可用空间策略设置为 20%。卷可用空间适用于卷级别,不适用于各个目录或服务器终结点的级别。

  • 日期策略

对于日期策略,如果在 x 天内没有访问(即读取或写入)冷文件,则将这些文件分层到云。 例如,如果你注意到超过 15 天没有访问的文件通常是归档文件,则应该把日期策略设置为 15 天。

从 Windows Server 2016 开始,启用了云分层的卷上均支持重复数据删除。

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_24

云分层还有一个分层强大的功能就是主动从 Azure 文件共享召回新文件和更改的文件,什么意思呢?

比如一家公司在四川和北京都有分支机构。早上,四川的信息工作者为一个全新项目创建新文件夹和新文件,并为其工作一整天。 Azure 文件同步会将文件夹和文件同步到 Azure 文件共享(云终结点)。北京的信息工作者将在晚上继续处理该项目。 当北京团队晚上到达时,北京本地启用 Azure 文件同步的服务器需要这些新文件在本地可用,这样他们就能够有效地在本地缓存中工作。 启用此模式可防止由于按需召回而使初始文件访问变慢,并使服务器能够在 Azure 文件共享中更改或创建文件后立即主动召回它们;

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_25

跟踪服务器上的 Azure 文件共享中的更改可能会增加出口流量并产生 Azure 计费。 如果实际上本地不需要召回到服务器的文件,那么到服务器的不必要召回会产生负面影响

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_26

++++++++++++++++++初始同步+++++++++++++++++++++

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_27

+++++++++++++++++++++++++++++++++++++++++++++++++++

现在,文件在 Azure 文件共享和 Windows Server 之间进行同步,可以看到Win2016FileSrv服务器上创建的MyTestFile.txt同步上了Azure文件共享里

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_28

本地Win2016FileSrv的D盘FileToSync也自动同步下来Azure文件共享it-filespace01目录里的文件

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_29

在Azure存储同步服务里也可以看到同步状态

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_30

利用Azure存储同步服务可以实现公司跨地域的分支机构文件分发同步问题,不需要有公网IP和专线也可以实现安全传输

其次利用Azure文件共享开启软删除保护文件资料的误删除找回

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_31

如果还想更好的对同步的文件进行保护,还可以结合Recovery Services 保管库对文件共享进行备份保护

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_32

自己设定备份的频率

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_33

或者还可以对Azure文件共享做快照

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_34

接下来再说下同步时间的问题,我通过 SMB 或门户在 Azure 文件共享中直接创建了一个文件,该文件同步到同步组中的服务器需要多长时间?

  • 使用 Azure门户对 Azure文件共享所做的更改不会立即检测并复制到Win2016FileSrv,原因在于Azure文件共享没有更改通知或日记,因此无法在文件更改时自动启动同步会话;
    • 为了检测对 Azure 文件共享所做的更改,Azure 文件同步有一个称为“更改检测作业”的计划作业。 更改检测作业枚举文件共享中的每个文件,然后将它与该文件的同步版本进行比较。 当更改检测作业确定文件已更改时,Azure 文件同步会启动同步会话。 更改检测作业每 24 小时启动一次。 由于更改检测作业的工作原理是枚举 Azure 文件共享中的每个文件,因此大命名空间用时会长于较小的命名空间。 对于大命名空间,用时可能超过每 24 小时一次,才能确定哪些文件已更改。
    • 若要立即同步 Azure 文件共享中已更改的文件,可手动执行 Invoke-AzStorageSyncChangeDetection完成Azure 文件共享中的更改检测:先Connect-AzAccount用Azure账号登录连接,然后再使用Invoke-AzStorageSyncChangeDetection -ResourceGroupName "myResourceGroup" -StorageSyncServiceName "myStorageSyncServiceName" -SyncGroupName "mySyncGroupName" -CloudEndpointName "b38fc242-8100-4807-89d0-399cef5863bf"将整个Azure文件共享上调用更改检测,比如:Invoke-AzStorageSyncChangeDetection -ResourceGroupName "HK-RG" -StorageSyncServiceName "HK-StorageSync01" -SyncGroupName "Win2016FileSrv-To-HK-Storagesync01" -CloudEndpointName "1e53848f-65ac-4a1c-a8c7-b8bd88ee15d7"

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_35

  • 在Win2016FileSrv上,Azure文件同步使用 Windows USN 日记可在文件更改时自动启动同步会话,很快将Win2016FileSrv上的文件同步复制到Azure文件共享里;
  • 还是按照上面的方法,我新加了一台Win2019FileSrv文件服务器注册到Win2016FileSrv-To-HK-Storagesync01同步组里,Win2019FileSrv的本地同步目录为D:\\Sync

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云平台_36

在开启云分层的情况下可以看到同步下来的文件图标会出现x符号或者是“影子样式”,点击打开后需要一个下载的过程,完成后x符号消失或“影子变实物”,类似OneDrive的概念;

如果没有开启云分层的情况下2台Windows Server文件服务器都会自动把变化的文件同步到对端,同步时间取决于网络,我这以txt文本为例,大约1分钟(Azure存储同步服务在香港节点),并且不会出现文件带x符号或“影子样式”;整个过程不需要使用Invoke-AzStorageSyncChangeDetection就可以完成自动对端同步

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_37

下图是“影子样式”文件

利用Azure存储同步服务构建垮分支机构的文件服务器资料同步_云计算_38

当然我也测试了一个极端情况,同时打开2边的同一个txt文本进行编辑,前后脚保存关闭,等待1分钟后观察发现哪边最后点击保存,那么最后同步的就以哪个为最新。

就介绍到这了,感兴趣的小伙伴可以点赞收藏。

以上是关于利用Azure存储同步服务构建垮分支机构的文件服务器资料同步的主要内容,如果未能解决你的问题,请参考以下文章

利用Azure高级存储搭建高性能Linux服务器

将更改从 azure 文件共享备份同步到本地文件服务器

适合企业分支机构的文件同步软件有哪些?

TFS在构建和发布期间合并

传统文件同步方式存在哪些问题?该如何寻找替代同步软件?

深入解析Microsoft Azure File 服务