备份云,朋友


今天,我想再次进行云备份。 我不会讨论它的好坏,但我想分享这种基于云的备份解决方案的实现示例-从完成软件到自行车拐杖。


不备份到云还是想阅读有关解决方案的信息? 我要猫。


3-2-1,走吧


人们相信3-2-1备份规则的故事始于Peter Krogh,他在他的《摄影师数字资产管理》一书中对此进行了概述。 我简要回顾一下这个原则:


  • 数据必须至少有3个副本。
  • 至少2个副本必须位于不同类型的物理介质上。 例如,一个副本是磁盘阵列上的工作数据,第二个副本是磁带上的数据。
  • 至少一个备份必须存储在办公室外。

就个人而言,我在创建备份时经常使用略有不同的规则。



经典的3-2-1电路。


首先,我将备份作为初始数据,其次,将备份存储在各种类型的介质上(特别是对于中小型企业)并不总是很方便,也没有预算。 我通常的备份存储策略是这样的:


  • 在线备份。 他们的主要目标是在发生小故障时确保最快的恢复。 根据基础架构的不同,这些备份甚至可以存储在要备份的服务器上-仅存储在单独的磁盘上。
  • 存档备份。 它们始终至少存储在另一台服务器上并具有历史记录(大多数情况下-每天备份6次,每周备份4次,每季度备份4次)。
  • 远程备份。 备份必须存储在另一个位置-远程数据中心或云中的服务器上。 一个好的选择是,如果可能的话,将归档备份目录与远程存储进行同步。

对于操作备份和归档备份,通常所有操作都非常简单,只是您应遵循某些建议。 这种建议的选择之一是在扰流板之下。


建议:
  • 如果突然启动了加密器,则应该以友好的方式将备份服务器与生产网络隔离开。
  • 如果服务器进行备份但不接收备份,这是一个很好的选择,以防存档服务器受到威胁。
  • 档案的历史-必须具备。 我经常遇到一些仅存储重要数据备份副本的基础架构,并且在前一天发生加密攻击或数据丢失的情况下,备份中的数据已经损坏或不是我们需要的。
  • 不要忘记不仅要复制数据,还要复制操作系统。
  • 卷影副本和其他快照非常好,但是不是备份。 您可以使用它们来代替操作备份,但是最好将它们组合在一起。
  • 扩展名为.exe或.dll的存档是欺骗一般勒索软件的好选择。
  • RAID根本与备份无关。 绝对是

但是对于远程备份,有很多问题。 特别是,必须选择存储这些副本的位置以及如何将它们放置在此处。 首先,我将举例说明“ where”。


选择舒适的云


一种选择是简单租用专用服务器或将服务器安装在并置的数据中心中。


实际上,他自己构建的“云”可以更好地控制正在发生的事情,而存储和直接备份解决方案的选择则取决于系统管理员。 您甚至可以将服务器包含在“地面”域中,如我在文章“ 我如何在德国隐藏1C基地 ”中所述。


另一方面,控制也意味着责任-在硬件和软件问题的情况下,有必要监视服务器的状态,而互联网依赖形式的云的缺乏和对外部人的信任问题并没有消除。



但这是您从廉价主机租用的服务器吗?


另一种选择是使用专门用于存储备份的专用服务。 最著名的例子是Amazon Glacier服务。 它们笼罩着关于所用技术的传说-从盒式磁带到蓝光光盘和机械臂。 但是从官方角度来说,这是一个便宜的硬盘。


与租用的服务器不同,该解决方案已经开始闻起来像血腥的企业,在小数点后有许多“可靠性”。 的确,就像亚马逊上的许多Web服务一样,它具有复杂的成本计算公式。 为了直言不讳地简化它,免费将数据下载到服务中,存储相当便宜(每月每1 TB 1美元),但是您必须为接收数据付费。 就像在旧博览会上一样-“入场免费,出口是15戈比”。



当然,像Amazon S3Yandex Object Storage这样的经典存储服务也可以用于备份,但是这种情况下的价格标签将不那么人道-Yandex的1 TB每月约10美元。 同样,不能不提及备份系统制造商提供的全包解决方案,因为只有懒惰的人才能从他们的云中受益。 例如, Acronis Cloud Storage作为Acronis产品的补充,每年的价格为299美元,将在其服务器上提供250 GB。


第三种选择是使用云存储,它并不是专门用来存储公司备份的,而是更侧重于普通用户。 以下是其中一些人听到的信息:



现在,我将不比较云平台,而将其置于网络上大量资料的摆布之下。 例如,文章“ 个人的云存储:选择什么以及为什么” 。 就我个人而言,我选择了Yandex.Disk来满足我的需求,因为他是少数可以在免费计划中使用WebDAV,API和磁盘上文件快照(历史记录)的人之一。 好吧,当然,我已经积累了一定数量的免费千兆字节。


当然,在选择时,您不仅应注意GB的可用数量和成本,而且还应注意许可协议,因为备份条件1C数据库可能会违反它。 另外,值得注意的一点是,云提供商不承担任何责任,可以随时删除所有文件,因此毫无用处。 但是几乎所有这些服务都具有允许您将文件上传到该服务的软件,这使我们进入了今天的故事的下一个重点。


如何运送到舒适的云


就我个人而言,我真的不喜欢使用服务提供的软件(当然,除非我们谈论的是像Acronis这样的专门服务):并非总是可以设置同步时间表,并且当Yandex.Disk在更新时为Barmin的补丁程序安排时, 故事仍然存在。操作系统。 幸运的是,有支持各种提供商的特殊软件。 像往常一样,我将举一些几乎免费的解决方案的例子。


方便的备份 。 它在Google的第一页上发布,用于查询“备份到云”。 有各种功能的付费版本,单独的插件(例如,用于Exchange和1C)。 甚至还有一个云-HBDrive 。 但最重要的是,仍然有一个只能备份到云的免费版本-Handy Backup Free for Cloud 。 不幸的是,作为测试的一部分,我无法使其与Yandex.Disk稳定运行-定期计划的任务无法正常工作。 很难从免费解决方案中获得一些东西,但是我拒绝使用该软件。


CloudBerry备份产品对每个人都有好处,甚至还有用于恢复单个Exchange对象的解决方案,并且为许多不同的提供程序提供支持。 由于缺乏免费版本和对常规Yandex.Disk的支持而停止了使用,仅支持S3的Yandex Object Storage。



CloudBerry Lab支持的解决方案提供商列表。


复制2 。 已经完全免费的产品 ,甚至用于商业用途。 从Windows到GNU \ Linux,都有所有流行的平台,您既可以通过Web界面也可以通过命令行工作,并且还可以对备份进行加密。



Duplicati接口,支持的提供程序。


不幸的是,“开箱即用”不支持Yandex.Disk-仅在WebDAV模式下。 在这种模式下,Yandex的解决方案无法完美运行-大文件存在问题。 但是有效目的地列表上有一个可以解决此问题。 他在那


克隆 也许这是我在其他软件中无可争议的领导者。 在官方网站上 ,适用于许多平台的命令行实用程序也可下载用于罕见的操作系统(如Plan9和Solaris)。 受支持的云提供商的名单也令人印象深刻-它甚至支持CephsOwnCloud 。 是的,列出了Yandex.Disk。 直到最近,仅通过交互式控制台菜单执行配置,但是相对较新的一天,可以启动Web界面并通过它进行配置。



Rclone Web界面。


缺点包括缺少任何内置调度程序。 该实用程序专门用作往返于云的传输,但不需要安装。 包括因为这个原因,我将其与Yandex.Disk结合使用,将信息从一台远程服务器传输到另一台远程服务器-事实证明,与组织直接文件共享相比,大文件上传到云和从云下载更快。 是的,上传备份很高兴。 例如,要将仅新文件复制到云,可以使用以下命令:


rclone copy --max-age 24h --no-traverse D:\backups yandex:backups 

其中yandex是预先创建的配置的名称,backups是包含备份的文件夹。


有关rclone如何工作的更多详细信息,请参见官方文档和文章“ Rclone:rsync for cloud ”。


原则上,作为完整的备份解决方案,rclone可以与Duplicati一起使用,选择rclone作为存储类型。 然后,Duplicati将根据计划程序使用vss(快照)创建备份,第一个将负责将备份下载到我们需要的云中。 当然,您可以使用Cobian等任何其他解决方案,甚至可以通过diskshadow命令使用vss快照,使用rclone存档并上传到云中。 的确,如果您真的重新发明了轮子,那么就不需要rclone了。


创建您的自行车脚本


当然,如果云提供商提供WebDAV访问,则下载数据将很简单。 cmd和Yandex.Disk的示例:


 net use Z: "https://webdav.yandex.ru/backup/" /User:login@yandex.ru password rem     net use Z: /delete 

但是,并非所有提供者都擅长WebDAV,并且在速度和稳定性方面存在疑问。 因此,如果提供商当然提供了此类访问权限,则可以使用该API。 让我们分析一个使用相同Yandex的示例。


Yandex使用OAuth进行授权,因此对于我们的脚本,我们需要获取一个特殊的令牌。 首先,您需要在站点的“ 创建应用程序 ”部分中创建一个应用程序


您一定不要忘记授予对Yandex.Disk上应用程序的访问权限:



脚本访问Yandex.Disk API。


并将开发URL替换为Callback URI(在可用平台上设置“ Web Services”复选框后将可用):



回调URI设置。


收到应用程序ID后,请点击链接:


 https://oauth.yandex.ru/authorize?response_type=token&client_id=12345678&display=popup 

其中12345678是收到的ID。 授予应用程序访问权限后,我们将收到令人垂涎的OAuth令牌,该令牌已可以在脚本中使用。 例如,在此处使用PowerShell将文件上传到Yandex.Disk:


 #   $filepath = "D:\backup.zip" $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Authorization" ,'OAuth Oauth') $headers.Add("Content-Type","application/json") #   URL    $UploadUrl= (Invoke-RestMethod -method GET -URI ("https://cloud-api.yandex.net:443/v1/disk/resources/upload?path=backup.zip") -Headers $headers).href #   Invoke-WebRequest -uri $UploadUrl -Method Put -Infile $filepath -ContentType 'application/zip' 

建议组织文件轮换,下载控制和其他“工具包”,Yandex API的好处已得到充分证明 。 但就我个人而言,我不想重塑轮子,而是使用rclone。


好吧,当备份到云时,我强烈建议对档案进行加密,以免出现某些著名诗人艾克劳德·冯·浏览器(Aiklaud Von Browser)在某些圈子里成为诗歌英雄的情况,本文以此命名。


在评论中,我建议不要在云备份的合理性上养成一堆,而是要分享我最喜欢的备份工具。

Source: https://habr.com/ru/post/zh-CN468559/


All Articles