须知少年凌云志,曾许人间第一流。这篇文章主要讲述利用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文件同步,可以参考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
首先登录Azure门户,创建一个存储账户
文章图片
部署好Azure存储账户以后,创建一个文件共享it-filespace01
文章图片
接下来上传一些文件,方便后面演示看到效果
文章图片
就上传2个文件
文章图片
回到本地Win2016FileSrv服务器上的D盘创建一个文件夹为FileToSync,并在里面新建一个TXT文本mytestfile
文章图片
接下来,在Win2016FileSrv服务器上安装 Azure PowerShell 模块,管理员方式打开Powershell执行Install-Module -Name Az
如果下载不下来,那么可以找一台已经安装成功的电脑拷贝如下目录到不能下载的服务器上一样的路径:
- C:\\Users\\用户名\\Documents\\WindowsPowerShell
- C:\\Program Files\\PackageManagement
回到Azure门户,创建存储同步服务
文章图片
下一步,直至创建完成
文章图片
接下来在Win2016FileSrv安装存储同步服务的代理
Azure 文件同步代理是一个可下载包,可实现 Windows 服务器与 Azure 文件共享的同步。
文章图片
选择主机对应系统的安装文件,我这里是Windows Server 2016故选择第一个
文章图片
下载完成以后,点击开始安装
文章图片
下一步
文章图片
下一步
文章图片
下一步
文章图片
勾选代理自动更新,点击安装
文章图片
安装完成
文章图片
接下来现在需将Win2016FileSrv注册到存储同步服务:
向存储同步服务注册 Windows Server 可在服务器(或群集)与存储同步服务之间建立信任关系。一个服务器只能注册到一个存储同步服务。它可以与存储同步服务所关联的其他服务器和 Azure 文件共享同步。
服务器注册 UI 会在 Azure 文件同步代理安装后自动打开。如果没有,可以从其文件位置手动将其打开:C:\\Program Files\\Azure\\StorageSyncAgent\\ServerRegistration.exe.
服务器注册 UI 在 Win2016FileSrv中打开后,首先会检查代理是否有更新,点击OK。
文章图片
选择区域:国际版Azure、国内版Azure等,点击“Sign in”使用Azure账户密码登录
文章图片
登录成功以后选择订阅,资源组和存储同步服务,然后点击“Register”注册
文章图片
注册成功
文章图片
接下来回到Azure门户的存储同步服务,点击刚才创建的存储同步服务HK-StorageSync01创建同步组,同步组定义一组文件的同步拓扑。同步组中必须包含一个表示 Azure 文件共享的云终结点。 此外,同步组必须包含一个或多个服务器终结点。 服务器终结点表示已注册的服务器上的路径。
文章图片
创建一个同步组名称,存储账户选择最初创建的存储账户hkfilesync01,选择Azure文件共享里的it-filespace01目录,点击创建
文章图片
接下来添加服务器终结点,服务器终结点表示已注册的服务器上的特定位置。例如,服务器卷上的文件夹;选择新创建的同步组Win2016FileSrv-To-HK-StorageSync01,然后选择“添加服务器终结点”
文章图片
选择已注册的服务器Win2016FileSrv和D盘的路径其他保持默认即可创建
文章图片
+++++++++++++++++++云分层+++++++++++++++++++++
云分层是 Azure 文件同步的一项可选功能,可减少所需的本地存储量,同时保留本地文件服务器的性能。
启用后,此功能仅存储本地服务器上经常访问的(热)文件。不常访问的(冷)文件会拆分为命名空间(文件和文件夹结构)和文件内容。 命名空间存储在本地,文件内容存储在云中的 Azure 文件共享中(有点类似OneDrive的模式)。
如果用户打开分层文件,Azure 文件同步会从 Azure 的文件共享中无缝召回文件数据。
- 云分层策略
- 卷可用空间策略
例如,如果本地磁盘容量为 200 GiB,并且你希望至少 40 GiB 的本地磁盘容量始终可用,则应将卷可用空间策略设置为 20%。卷可用空间适用于卷级别,不适用于各个目录或服务器终结点的级别。
- 日期策略
从 Windows Server 2016 开始,启用了云分层的卷上均支持重复数据删除。
文章图片
云分层还有一个分层强大的功能就是主动从 Azure 文件共享召回新文件和更改的文件,什么意思呢?
比如一家公司在四川和北京都有分支机构。早上,四川的信息工作者为一个全新项目创建新文件夹和新文件,并为其工作一整天。 Azure 文件同步会将文件夹和文件同步到 Azure 文件共享(云终结点)。北京的信息工作者将在晚上继续处理该项目。 当北京团队晚上到达时,北京本地启用 Azure 文件同步的服务器需要这些新文件在本地可用,这样他们就能够有效地在本地缓存中工作。 启用此模式可防止由于按需召回而使初始文件访问变慢,并使服务器能够在 Azure 文件共享中更改或创建文件后立即主动召回它们;
文章图片
跟踪服务器上的 Azure 文件共享中的更改可能会增加出口流量并产生 Azure 计费。 如果实际上本地不需要召回到服务器的文件,那么到服务器的不必要召回会产生负面影响
文章图片
++++++++++++++++++初始同步+++++++++++++++++++++
文章图片
+++++++++++++++++++++++++++++++++++++++++++++++++++
现在,文件在 Azure 文件共享和 Windows Server 之间进行同步,可以看到Win2016FileSrv服务器上创建的MyTestFile.txt同步上了Azure文件共享里
文章图片
本地Win2016FileSrv的D盘FileToSync也自动同步下来Azure文件共享it-filespace01目录里的文件
文章图片
在Azure存储同步服务里也可以看到同步状态
文章图片
利用Azure存储同步服务可以实现公司跨地域的分支机构文件分发同步问题,不需要有公网IP和专线也可以实现安全传输
其次利用Azure文件共享开启软删除保护文件资料的误删除找回
文章图片
如果还想更好的对同步的文件进行保护,还可以结合Recovery Services 保管库对文件共享进行备份保护
文章图片
自己设定备份的频率
文章图片
或者还可以对Azure文件共享做快照
文章图片
接下来再说下同步时间的问题,我通过 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"
文章图片
- 在Win2016FileSrv上,Azure文件同步使用 Windows USN 日记可在文件更改时自动启动同步会话,很快将Win2016FileSrv上的文件同步复制到Azure文件共享里;
- 还是按照上面的方法,我新加了一台Win2019FileSrv文件服务器注册到Win2016FileSrv-To-HK-Storagesync01同步组里,Win2019FileSrv的本地同步目录为D:\\Sync
文章图片
在开启云分层的情况下可以看到同步下来的文件图标会出现x符号或者是“影子样式”,点击打开后需要一个下载的过程,完成后x符号消失或“影子变实物”,类似OneDrive的概念;
如果没有开启云分层的情况下2台Windows Server文件服务器都会自动把变化的文件同步到对端,同步时间取决于网络,我这以txt文本为例,大约1分钟(Azure存储同步服务在香港节点),并且不会出现文件带x符号或“影子样式”;整个过程不需要使用Invoke-AzStorageSyncChangeDetection就可以完成自动对端同步
文章图片
下图是“影子样式”文件
文章图片
当然我也测试了一个极端情况,同时打开2边的同一个txt文本进行编辑,前后脚保存关闭,等待1分钟后观察发现哪边最后点击保存,那么最后同步的就以哪个为最新。
【利用Azure存储同步服务构建垮分支机构的文件服务器资料同步】就介绍到这了,感兴趣的小伙伴可以点赞收藏。
推荐阅读
- LeetCode(不同路径(动态规划))
- LeetCode(K个一组翻转链表(链表问题))
- 远程登陆与远程密钥登陆
- #yyds干货盘点#liunx命令学习笔记
- #yyds干货盘点#nginx代理配置
- [RHCSA学习笔记]Autofs实现自动挂载NFS共享
- #私藏项目实操分享#Linux开发环境搭建CentOs7之四Web服务器Nginx安装部署
- M1 和 Docker 谈了个恋爱 #yyds干货盘点#
- jvm调优