部署好Azure存储账户以后,创建一个文件共享it-filespace01
接下来上传一些文件,方便后面演示看到效果
就上传2个文件
回到本地Win2016FileSrv服务器上的D盘创建一个文件夹为FileToSync,并在里面新建一个TXT文本mytestfile
接下来,在Win2016FileSrv服务器上安装 Azure PowerShell 模块,管理员方式打开Powershell执行Install-Module -Name Az 如果下载不下来,那么可以找一台已经安装成功的电脑拷贝如下目录到不能下载的服务器上一样的路径:
下一步,直至创建完成
接下来在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 的文件共享中无缝召回文件数据。
云分层还有一个分层强大的功能就是主动从 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 文件共享中直接创建了一个文件,该文件同步到同步组中的服务器需要多长时间?
在开启云分层的情况下可以看到同步下来的文件图标会出现x符号或者是“影子样式”,点击打开后需要一个下载的过程,完成后x符号消失或“影子变实物”,类似OneDrive的概念; 如果没有开启云分层的情况下2台Windows Server文件服务器都会自动把变化的文件同步到对端,同步时间取决于网络,我这以txt文本为例,大约1分钟(Azure存储同步服务在香港节点),并且不会出现文件带x符号或“影子样式”;整个过程不需要使用Invoke-AzStorageSyncChangeDetection就可以完成自动对端同步
下图是“影子样式”文件
当然我也测试了一个极端情况,同时打开2边的同一个txt文本进行编辑,前后脚保存关闭,等待1分钟后观察发现哪边最后点击保存,那么最后同步的就以哪个为最新。 就介绍到这了,感兴趣的小伙伴可以点赞收藏。 我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看rubyzip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d
我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时
我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta