死亡、离婚和搬家是任何人一生中压力最大的三种情况。
“美国恐怖故事”。
- Andryukh,我要离开家,帮我搬家,一切都不适合我:(
- 好吧,有多少人?
— 吨* 7-8...
*Ton (jarg) - 太字节。
最近,我在上网时注意到,尽管在 Habré 和类似资源上有很多关于迁移各种类型数据的方法和模型的材料,但有关此主题的问题仍然出现在互联网上。 由于某种原因,并不总是能收到详细的答案。 这一事实促使我有一天收集有关类似解决方案实施的笔记,并将它们以单独帖子的形式安排。
一般来说,我必须以一些烦人的频率将数据从一个设备、系统和服务传输到另一个设备、系统和服务。 通过反复试验,我不仅熟悉了很多有趣的产品,而且还找到了我要谈论的解决方案的功能和成本之间的平衡点
设计
设计和调查工作的结果表明,迁移过程的质量和效率不仅取决于数据所在或将要位于的“站点”的技术特征,还取决于它们的物理位置。
迁移管理器是一个计算节点,流程的“逻辑”(用于管理迁移的软件)在该节点上运行。
即放置“迁移管理器”有两种模型
- 型号A。 如果至少其中一个站点只能从本地网络内部访问,那么值得在同一网络上放置一个“迁移管理器”。 因为性能和迁移时间仍然受到连接站点的通道的速度和正常运行时间的限制。
- B型。 如果数据源和接收方都可以访问本地网络之外的数据,那么“迁移管理器”应该位于它们之间的通道的速度和正常运行时间明显更好的地方。
为了以某种方式分解上述内容,我建议从文章的主要问题回到任务,并将它们形式化为技术规范。
首先,我需要确定我使用的软件是否支持云: Mail.ru、Yandex、Google Drive、Mega、Nextloud?
简短的回答是:“是的!”
我用
Rclone - 用于云存储的 rsync。 开源软件旨在将文件和文件夹与超过 45 种类型和类型的存储同步。
以下是其中一些:
— 阿里云(Aliyun)对象存储系统(OSS)
- 亚马逊S3
— 头孢
—数字海洋空间
—Dropbox
- 谷歌云存储
- 谷歌云端硬盘
- 谷歌照片
- HTTP
-IBM COS S3
— Mail.ru 云
-兆
- 微软Azure Blob存储
- 微软OneDrive
— 米尼奥
— 下一个云
- Openstack 斯威夫特
— Oracle 云存储
— 自己的云
— Rackspace 云文件
- rsync.net
- SFTP
- 网络DAV
— Yandex 磁盘
主要功能:
— 使用 MD5/SHA1 哈希值检查文件的完整性。
— 保存创建/更改文件的时间戳。
- 支持部分同步。
— 仅复制新文件。
— 同步(单向)。
— 检查文件(通过哈希值)。
— 能够从一个云帐户同步到另一个云帐户。
- 加密支持。
- 支持本地文件缓存。
— 能够通过 FUSE 安装云服务。
我自己补充一下,Rclone 还帮助我解决了与自动化数据备份相关的大部分问题
下一个任务是选择“迁移管理器”放置模型。
所有数据源都是各种公共云服务,都可以通过互联网访问。 包括通过 API。 三分之二的接收者也这样做。 目前还不清楚 Nextcloud 本身部署在哪里以及它有哪些访问权限?
我算了五个可能的选择:
- 在您的家庭/公司网络中您自己的服务器上。
- 在服务提供商数据中心租用的机架中您自己的服务器上。
- 在从服务提供商租用的服务器上。
- 在具有服务/托管提供商的虚拟服务器 (VDS/VPS) 上
- 来自服务提供商
根据SaaS模式
考虑到 Nextcloud 仍然是用于创建和使用云存储的软件,我们可以有把握地说,所有五个选项都可以通过互联网访问它。 在这种情况下,放置“迁移经理”的最佳模型将是 - B型.
根据选择作为“迁移管理器”平台的模型,从我的角度来看,我将选择最佳选项之一 - 虚拟服务器
需要做出的第三个决定是决定虚拟服务器配置。
选择 VDS 配置参数时,您需要以所需的性能为指导,这取决于站点之间通道的宽度、要移动的文件的数量和大小、迁移流的数量和设置。 至于操作系统,Rclone是跨平台软件,可以运行在各种操作系统上,包括Windows和Linux。
如果您计划启动多个迁移过程,甚至以一定的频率启动,那么值得考虑选择租用 VDS 并支付资源费用。
创建
基于上述,在创建本文的原型时,我选择了以下配置的VDS。
费用为560卢布/月。 包括使用优惠券可享受 15% 折扣 无压力.
这种选择是因为,为了符合我们技术规范的条件,Windows 操作系统下的节点比可订购的其他操作系统更容易配置。
题外话:顺便说一句,为了更高的安全性,这个虚拟服务器被分配给其中一个节点
创建VDS并通过RDP访问桌面后,您需要做的第一件事是准备Rclone和Web-GUI的环境。 那些。 安装新的默认浏览器,例如 Chrome,因为最初安装的 IE 11 不幸的是并不总是能与所使用的软件一起正常工作。
环境准备好后,下载附带软件包的压缩包
接下来,在 Windows 命令行模式下,执行命令以转到包含解压文件的文件夹。 对我来说,它位于管理员的主文件夹中:
C:UsersAdministrator>cd rclone
转换后,我们执行命令从 Web-GUI 启动 Rclone:
C:UsersAdministratorrclone>rclone rcd --rc-web-gui --rc-user=”login” --rc-pass=”password” -L
其中“login”和“password”是您指定的登录名和密码,当然不带引号。
执行命令后,终端显示
2020/05/17 22:34:10 NOTICE: Web GUI exists. Update skipped.
2020/05/17 22:34:10 NOTICE: Serving Web GUI
2020/05/17 22:34:10 NOTICE: Serving remote control on http://127.0.0.1:5572/
Rclone 图形 Web 界面会自动在浏览器中打开。
尽管Web-GUI仍处于测试版本阶段,尚未具备命令行界面所具有的所有Rclone管理功能,但其功能对于数据迁移来说已经足够了。 甚至更多。
调整
下一步是建立与数据所在或将要位于的站点的连接。 第一个队列将是主要数据接收器 - Nextcloud。
1. 为此,请转至以下部分 设定档 网络图形用户界面。
2. 开始创建新配置 - 按钮 新配置.
3. 设置站点名称 - 字段 该驱动器的名称(供您参考): 下一个云。
4. 选择存储类型或类型 选择:对于Nextcloud和Owncloud来说,主要的数据交换接口是WebDAV。
5. 接下来,单击 第 2 步:设置 驱动器,打开连接参数列表并填写。
- 5.1。 用于连接 URL 的 http 主机的 URL — WebDAV 界面的超文本链接。 在 Nextcloud 中,它们位于设置 - 界面的左下角。
- 5.2。 您正在使用的 Webdav 站点/服务/软件的名称 — WebDAV 接口名称。 该字段是可选的,您自己可以选择,以免在有很多此类连接时感到困惑。
- 5.3 用户名 — 授权用户名
- 5.4。 密码 — 授权密码
- 5.5。 不记名令牌而不是用户/通行证(例如杏仁饼)和运行命令以获取不记名令牌 高级选项中有附加参数和授权命令。 我的 Nextcloud 中没有使用它们。
6. 下一步点击 创建配置 并确保已创建配置,请转至 部分 配置 Web界面...通过同一页面,可以删除或编辑新创建的配置。
要检查站点连接的功能,请转至以下部分 浏览器... 在现场 遥控器 输入配置站点的名称,然后单击 可选。 如果您看到文件和目录列表,则表明与站点的连接正常。
为了更有说服力,您可以通过 Web 界面创建/删除文件夹或下载/删除文件。
要连接的第二个平台将是 Yandex 磁盘。
- 前四个步骤与 Nextcloud 连接过程类似。
- 接下来,我们将所有内容保留原样,即中的字段 第 2 步:设置驱动器 我们将它们留空,并且不更改高级选项中的任何内容。
- 我们按 创建配置.
- Yandex 授权页面在浏览器中打开,之后您会收到一条有关成功连接的消息以及返回 Rclone 的提议。
- 我们要做的就是检查该部分 配置.
迁移
当我们连接两个站点时,我们就可以在它们之间迁移数据。 该过程本身类似于我们之前执行的检查 Nextcloud 连接的功能。
- 去吧 浏览器.
- 选择模板 2-并排.
- 在每个 遥控器 表明您的站点的名称。
- 我们按 可选.
- 我们看到每个文件和文件夹的目录。
要开始迁移过程,剩下的就是在数据源目录中选择包含文件的所需文件夹,然后用鼠标将其拖动到目标目录。
添加剩余站点并在它们之间迁移数据的机制与上面执行的操作类似。 如果您在工作中遇到错误,您可以在运行带有 Web-GUI 的 Rclone 的终端中研究有关错误的详细信息。
一般来说,文档
PS 如果您不同意最后的陈述,请在评论中写下:“未涵盖的主题”以及以何种方式值得继续。
来源: habr.com