【易客吧】_全网激活码总代_激活码商城

您现在的位置是:首页 > 热门资讯 > 正文

热门资讯

自动化数据迁移的明智之选:使用ccmove,轻松实现大规模数据移动 (自动化数据迁移方法)

用户投稿2024-04-16热门资讯25

引言

在大数据时代,数据已成为企业最宝贵的资产。随着数据量的不断增长,数据的移动已成为一项复杂且耗时的任务。为了应对这一挑战,自动化数据迁移工具变得至关重要。

ccmove 的概述

ccmove 是一款功能强大的自动化数据迁移工具,专为大规模数据移动而设计。它提供了一系列高级功能,可以简化和加速数据迁移过程。

ccmove 的主要特性

  • 并行迁移:ccmove 可同时传输多个文件流,从而最大限度地提高数据传输速度。
  • 增量传输:ccmove 仅传输已更改的数据,从而节省带宽和时间。
  • 数据验证:ccmove 验证数据完整性,确保数据在迁移后保持准确无误。
  • 可扩展性:ccmove 可以处理大规模数据集,满足大型组织的需求。

ccmove 的适用场景

ccmove 适用于广泛的数据迁移场景,包括:

  • 云数据中心的迁移
  • 数据仓库的迁移
  • 应用程序的迁移
  • 灾难恢复

ccmove 的优势

ccmove 为数据迁移提供了以下优势:

  • 节省时间和成本:ccmove 自动化了数据迁移过程,减少了人工操作,从而节省时间和成本。
  • 提高数据准确性:ccmove 的数据验证功能可确保数据在迁移后保持准确无误,减少数据丢失或损坏的风险。
  • 简化复杂迁移:ccmove 提供了一个用户友好的界面和强大的功能集,即使是复杂的数据迁移任务也能轻松完成。

使用 ccmove 的步骤

使用 ccmove 进行数据迁移可以分以下几个步骤进行:

  1. 安装 ccmove:下载并安装 ccmove 到源和目标系统。
  2. 配置迁移任务:指定源和目标位置、传输模式和数据验证设置。
  3. 安排迁移:计划迁移任务的时间和频率。
  4. 监控迁移:使用 ccmove 的仪表板功能监控迁移进度和数据完整性。

案例研究

一家大型零售公司使用 ccmove 将其数据仓库从本地系统迁移到云平台。ccmove 的并行传输功能和增量传输功能显著提高了迁移速度,同时确保了数据的准确性。迁移过程顺利完成,公司能够在最短的时间内恢复其业务运营。

结论

ccmove 是自动化数据迁移的明智之选。通过其强大的功能和简便易用的界面,它可以轻松实现大规模数据移动,节省时间和成本,提高数据准确性,并简化复杂迁移。


华为手机怎么备份 华为手机4种备份方法简单介绍

华为手机当前提供手机克隆、Huawei Share(华为分享)、云备份、华为手机助手、外部存储等多种备份方式。 请根据您的具体条件,选取最适合您的备份方式。 一、使用手机克隆,只需较短时间,便可将旧手机上的基础数据(如联系人、日历、图片、视频等)迁移到新手机,实现新旧手机无缝衔接。 操作方法如下:1.从华为或其他安卓设备迁移数据(1)在新手机上,进入手机克隆应用,或进入设置 > 系统和更新 > 手机克隆,点击这是新设备,选择华为或其他安卓。 (2)根据界面提示,在旧设备下载安装手机克隆。 (3)在旧设备上,进入手机克隆应用,点击这是旧设备,根据界面提示,通过扫码或手动连接的方式,将旧设备与新手机建立连接。 (4)在旧设备上,选择要克隆的数据,点击下一步 > 开始迁移完成数据克隆。 温馨提醒:手机克隆支持的安卓版本可在应用市场搜索手机克隆,并进入应用详情页面查看。 2.从 iPhone迁移数据(1)在新手机上,进入手机克隆应用,或进入设置 > 系统和更新 > 手机克隆,点击这是新设备,选择 iPhone/iPad。 (2)根据屏幕提示,在旧设备下载安装手机克隆。 (3)在旧设备上,进入手机克隆应用,点击这是旧设备,根据界面提示,通过扫码或手动连接的方式,将旧设备与新手机建立连接。 (4)在旧设备上,选择要克隆的数据,并根据界面提示完成数据克隆。 温馨提醒:手机克隆支持的 iOS 版本可在 App Store 中搜索手机克隆,并进入应用详情页面查看。 3.支持克隆的数据联系人、信息(普通短信、增强短信、彩信)、通话记录、日历(日程)、图片、音频(包括音乐、录音机录音、通话录音)、视频、文档、应用程序。 二、Huawei Share(华为分享)华为分享是一种设备间无线快速共享图片、视频、文档、应用的技术。 它通过蓝牙发现周边其他支持华为分享的设备,然后通过 WLAN 直连传输文件,传输过程不需要流量。 Huawei Share 让华为手机、平板、电脑之间,通过无线网络快速分享应用、传输文件。 1.华为分享操作方法如下:(1)开启华为分享执行以下任一操作开启或关闭华为分享:①从屏幕顶部状态栏下滑出通知面板,继续向下滑出整个菜单。 点击华为分享图标开启华为分享。 长按进入华为分享设置界面。 ②进入设置 > 更多连接 > 华为分享 ,开启 Huawei Share 开关。 开启华为分享后, WLAN 和蓝牙开关会自动打开。 (2)通过华为分享在手机间极速共享文件通过华为分享可在华为手机间快速共享文件,接收端在接收前可预览,接收后直接呈现接收到的内容。 例如:图片/视频接收成功后,直接调用图库预览此图片/视频; APP 接收成功后,直接进入安装界面等。 ①在接收设备上,开启 Huawei Share 开关。 ②在发送设备上,长按选中待分享文件,点击分享按钮 。 然后点击 Huawei Share,发现接收设备后,点击接收设备名称发送文件。 温馨提醒:如果在应用中直接分享,操作路径可能有所不同,请以实际情况为准。 ③在接收设备上点击接收开始接收文件。 在接收设备上,进入文件管理,在分类页签下点击内部存储 > Huawei Share 查看接收到的文件。 接收到的图片或视频也可以在图库 > 相册 > 华为分享 中直接查看。 (3)通过华为分享进行一键打印当周围有支持华为分享一键打印的打印机时,打开手机华为分享便能轻松发现并一键打印存于手机中的图片、PDF 文件。 ①针对不同类型的打印机,需做好如下准备:WLAN 打印机:启动打印机,并确保打印机与手机接入同一网络。 WLAN 直连打印机:启动打印机,在面板中选择 WLAN Direct 进入,然后进入设置,开启 WLAN Direct 开关。 蓝牙打印机:启动打印机,并确保打印机蓝牙处于可发现状态。 ②在手机上预览要打印的文件,点击 分享 > 华为分享。 ③手机发现打印机后,点击打印机名称,在预览界面调整参数,点击开始打印。 若使用蓝牙打印机,首次连接时,需要在手机发现打印机并点击打印机名称后,按住打印机电源键 1 秒左右确认连接。 温馨提醒:如需了解支持华为分享一键打印的打印机型号,请在华为分享的分享界面,点击了解详情,然后选择打印机,点击支持的打印机型号有哪些。 2.支持分享的数据图片、视频、文档、图库、相册、文件管理器、桌面、视频、音乐、联系人、日历、备忘录、wps、浏览器等海量应用分享 。 提示:桌面数据指的是应用程序,可以分享APK;备忘录指的是备忘录的具体内容;浏览器指的是分享浏览器内容。 3.通过HUAWEI Share共享图片(1)手机和电脑接入同一 WLAN 网络。 (2)在手机上进入Huawei Share设置界面,开启Huawei Share和共享至电脑开关。 (3)查看并记录电脑端显示名和电脑端访问验证的用户名和密码。 (4)在 Windows 系统和 mac OS 系统电脑分别按如下操作:Windows 系统:在 PC 上打开此电脑(计算机) > 网络 。 mac OS 系统:在 MAC 上打开 Finder > 前往 > 网络 。 温馨提醒:此功能目前仅支持在装有 mac OS 10.8 到 10.14 之间版本的 MAC 上使用。 在电脑上,用鼠标双击手机在电脑端的显示名,并输入记录的用户名和密码来验证。 (5)在电脑上,用鼠标双击手机在电脑端的显示名,并输入记录的用户名和密码来验证。 (6)进入相册,查看、编辑或复制图片至电脑,也可以将电脑上的文件复制到此文件夹中共享给手机。 在共享文件夹中编辑文件,可以在电脑和手机端同步显示。 4.通过Huawei Share 一碰传传送图片(1)从手机状态栏向下滑出通知面板,点亮NFC。 打开需要发送的图片> 用手机背部的NFC区域触碰笔记本的Huawei Share标签 > 完成文件传输。 (2)部分PC产品采用新一代NFC天线,已内置在触控板中(已覆盖触控板超90%区域), 请您将手机的NFC区域放置在触控板上,即可触发多屏协同/一碰传。 通过以上方法传输图片均不会影响图片质量。 提示:建议您使用Huawei Share(华为分享)共享文件和应用,长按想要分享的文件或者应用,可以看到分享的,支持分享;否则不支持。 华为分享文件会保持原目录结构不变。 三、云备份数据备份至云空间,通过WLAN连接,可轻松实现手机整机备份,更安全、便捷的管理数据。 在数据迁移或找回手机时,可以将备份过的全部内容迁移到新设备中。 例如:您可以开启使用云的应用中各数据开关或是使用云备份功能,均可以将手机图片备份到华为云空间。 1.云备份操作方法温馨提醒:1>云空间各版本路径有轻微区别,请以当前版本显示为准,建议您升级至最新版本体验。 2>云备份是否成功,请进入云备份 > 恢复数据确认查看是否有成功的云备份记录。 云备份支持自动备份和手动备份两种方式:(1)自动备份通过手机设置 > 华为帐号,进入帐号中心 > 云空间 > 云备份(或当前设备),开启云备份开关后,在设备开机后接入电源、锁定屏幕灭屏且连接WLAN时,便会自动备份设备的内容。 (2)手动备份在已连接WLAN的情况下,通过手机点击设置 > 华为帐号,进入帐号中心 > 云空间 > 云备份 > 备份选项,勾选需要备份的数据,点击应用数据选择需要备份的应用数据,点击立即备份,即可开始备份设备数据至云空间。 2.支持备份的数据:图库、联系人、日历、备忘录、Wi-Fi、录音机、信息、浏览器、骚扰拦截、情景智能、手机管家、时钟、天气、相机、设置、部分应用数据以及应用程序(应用分身不支持)等。 温馨提醒:1>云备份只保留同一设备上最近3次成功备份记录,当云备份记录达到3次时,新增的备份记录将会覆盖最旧的备份记录。 升级11.1.7版本后,付费用户云备份会保留您同一设备的最近3次成功备份记录,免费用户会保留您同一设备的最近1次成功备份记录。 当您的云备份记录达到相应次数时,最早的云备份记录会自动删除,已删除的云备份记录无法恢复找回。 2>如果已在设备上开启云图库,则图库的照片和视频将通过云图库实时备份数据到云空间中,云备份不再备份图库数据。 四、华为手机助手备份数据备份至电脑端,使用数据线或WLAN连接,轻松实现在电脑端访问、管理、迁移手机中的数据。 如:通过 USB 数据线将手机连接至电脑,华为手机助手将自动开启。 进入华为手机助手数据备份页面,勾选要备份的数据,按屏幕提示完成备份。 1.华为手机助手操作方法(1)华为手机助手备份准备①通过手机助手备份到电脑时,会调用手机上的备份APP,备份时会在手机上产生临时文件,备份完成后会自动删除,因此需要保证手机剩余内存大于需要备份的数据大小,否则手机可能提示内存不足。 ②建议使用原装数据线,并确保数据线连接稳定,如果数据线与手机或者电脑接口松动,可能导致备份失败。 ③在电脑端下载安装华为手机助手。 ④使用手机数据线连接您的手机到华为手机助手。 温馨提醒:手机助手10.0.0.510及之后版本,增强了安全特性。 手机与电脑连接时需要输入验证码,以确保手机与电脑的对应匹配,PC端和手机端的通信将更安全。 操作方式:当数据线连接好后,手机端打开展示验证码,在电脑端输入验证码校验即可。 因每次连接的验证码都不同,故每次连接都需要重新输入验证码。 (2)华为手机助手连接①USB连接(适用于Mac/Windows系统)1>用USB数据线将手机和计算机相连接。 2>点击文件传输或传输照片,并打开HDB开关;a.进入设置后,在顶部搜索框中输入HDB;b.在搜索结果中点击“允许HiSuite通过HDB连接开启”;c.连接时请在手机上同意授权提示(如使用完毕以后希望撤销授权, 请点击撤销HiSuite的HDB连接授权);d.打开手机上的手机助手应用,将显示的八位验证码输入在电脑端的验证码输入框中,并点击“立即连接”按钮。 ②WLAN连接(适用于Windows系统)请将华为手机助手升级到HiSuite_8.0.1.304及以上版本,支持WLAN方式连接。 1>请先将手机与电脑通过USB数据连接,安装移动端手机助手;2>将手机与电脑连接在同一个WLAN(网线连接同一个路由);3>点击华为手机助手首页“点击WLAN无线连接”按钮,在手机上打开手机助手,将界面上显示的8位验证码输入到电脑上助手界面的输入框,点击“立即连接”。 温馨提醒:如果WLAN连接使用过程中出现断开现象,请在WLAN连接时保持手机亮屏状态(长时间的熄屏可能会因为手机WLAN的休眠导致连接中断)。 (3)Windows电脑手机助手备份操作步骤①请您点击华为手机助手页面数据备份。 ②选择您想要备份的数据选项,点击开始备份。 温馨提醒:备份至电脑后的路径为备份的数据存储路径,建议您保持默认,方便以后查找备份的数据。 ③弹出设置密码的提示框后,请设置密码,确认密码,并设置密码提示,设置完成后点击确定即开始备份。 温馨提醒:密码由8-32位字符组成,须包含数字、大写字母、小写字母。 密码提示是当您不记得密码时,看到密码提示帮您回忆密码,并不支持密码找回,所以请您牢记密码,如果您忘记密码,备份的数据将无法恢复至手机上。 手机助手9.1.0.307及之前的版本,备份时不强制加密,若您不希望进行加密,可不勾选“使用密码备份数据”选项,并点击跳过。 ④等待备份完成,手机助手界面会出现已完成的提示信息,点击完成即可完成备份(4)MAC电脑手机助手备份操作步骤①请您在电脑端手机助手页面点击左边备份/恢复。 ②选择您想要备份的数据选项,然后点击开始备份。 温馨提醒:备份至电脑后的路径为备份的数据存储路径,建议您保持默认,方便以后查找备份的数据。 ③弹出设置密码的提示框后,请设置密码,确认密码,并设置密码提示,设置完成后点击确定即开始备份。 温馨提醒:密码提示是当您不记得密码时,看到密码提示帮您回忆密码,并不支持密码找回,所以请您牢记密码,如果您忘记密码,备份的数据将无法恢复至手机上。 ④等待备份完成,手机助手界面会出现已完成的提示信息,点击完成即可完成备份。 (5)查看备份的数据①Windows电脑:1>手机连接华为手机助手后,点击右上角菜单 > 设置。 2>点击备份设置,点击备份目录后面的文件夹图标即可打开备份的文件夹。 3>在打开的备份文件夹中可以查看您之前备份数据的记录。 ②MAC电脑:1>手机连接华为手机助手后,点击左边备份/恢复。 2>点击备份至电脑路径后的箭头,即可查看备份记录。 温馨提醒:QQ、微信等第三方应用需单独备份。 2.支持备份的数据:图库、联系人、信息、录音机、应用及数据、备忘录、Wi-Fi、手机管家、情景智能、时钟、天气、桌面、骚扰拦截、第三方应用等。 温馨提醒:华为手机助手10.0.0.510及以上版本,增强了安全特性。 手机与电脑连接时需要输入验证码,以确保手机与电脑的对应匹配。 五、备份到外部存储数据保存至外置存储卡或USB存储,无需网络连接,节省手机存储空间。 1.通过外部存储设备备份数据操作方法(1)备份数据到外置存储卡操作方法当手机插入外置存储卡时,您可以随时将数据备份到外置存储卡中,让您的数据不易丢失。 ①进入设置 > 系统和更新 > 备份和恢复 > 外部存储,选择外置存储卡。 ②点击新建备份,勾选要备份的数据,点击开始备份。 ③根据界面提示设置密码及密码提示,数据将加密备份。 请您牢记备份密码,在恢复文件时需输入验证。 如需重置密码,在外置存储卡备份界面,点击四个点 > 重置密码,然后根据界面提示重置。 温馨提醒:重置的密码只对之后的备份有效,对之前的备份无效。 ④备份完成后,可进入文件管理 > 浏览 > 存储卡的 Huawei 文件夹内,查看备份文件。 温馨提醒:使用该功能前,请提前备份数据(QQ、微信等第三方应用需单独备份)将您的设备升级到最新版本。 根据需要,您还可以开启自动备份功能。 在外置存储卡备份界面,开启自动备份开关,这样每隔七天,当手机接入充电器、电量达到 75% 且处于灭屏状态时将自动备份。 (2)备份数据到 USB 存储设备当手机存储空间不足时,建议您定期将大文件或重要数据备份到 USB 存储设备上(例如:U 盘、读卡器等)。 ①用 USB OTG 数据线将手机连接至 USB 存储设备。 ②进入手机的 设置 > 系统和更新 > 备份和恢复 > 外部存储,选择USB存储。 ③点击新建备份,勾选要备份的数据,点击开始备份。 ④根据界面提示设置密码及密码提示,数据将加密备份。 请您牢记备份密码,在恢复文件时需输入验证。 如需重置密码,在USB存储备份界面,点击四个点> 重置密码,然后根据界面提示重置。 温馨提醒:重置的密码只对之后的备份有效,对之前的备份无效。 (3)备份数据至家庭 NAS 设备手机中存储了大量重要数据、图片、大文件时,您可以通过扫描发现同网络内的 NAS(Network Attached Storage,即网络附着存储,通俗来说就是私人云存储服务器)存储设备,并通过共享文件夹将数据备份其中。 ①进入手机的 设置 > 系统和更新 > 备份和恢复 > 外部存储,选择共享文件夹。 ②待手机通过 WLAN 扫描发现同网络内的 NAS 存储设备,点击访问并添加该设备下的共享文件夹。 ③点击新建备份,勾选要备份的数据,点击开始备份。 ④根据界面提示设置密码及密码提示,数据将加密备份。 请您牢记备份密码,在恢复文件时需输入验证。 如需重置密码,在共享文件夹备份界面,点击四个点> 重置密码,然后根据界面提示重置。 温馨提醒:重置的密码只对之后的备份有效,对之前的备份无效。 2.支持备份的数据:图库、联系人、信息、录音机、应用及数据、备忘录、Wi-Fi、手机管家、情景智能、时钟、天气、桌面、骚扰拦截、第三方应用等。 如:通过连接USB传输照片①通过 USB 数据线将手机连接至电脑,从状态栏处向下滑动,打开通知面板,点击设置 > 点击查看更多选项 ,将 USB 连接方式设置为传输照片。 ②在电脑端,系统将自动安装驱动程序。 安装完成后,点击电脑中新出现的以手机型号命名的盘符可以查看手机中的图片。 温馨提醒:1>备份到外置存储卡时,可以在备份页面开启备份加密,开启后根据提示设置密码,此密码在恢复文件时需输入。 如果忘记密码将无法找回备份记录。 2>支持外置存储卡的设备:MicroSD、NM卡。 (如手机不支持内存卡,则不支持外置存储卡备份)3>支持的USB存储设备包括:U 盘、读卡器和已插入存储卡的设备等。 (需使用OTG转接线连接设备)

【云计算新的基石,微软Dryad分布式并行计算平台解析】 云计算是并行计算

Dryad:MapReduce之外的新思路目前各大软件巨头都搭建了自己的分布式平台解决方案,主要包括Dryad,DynamoSDMapReduce等框架。 2010年12月21日,微软发布了Dryad的测试版本,成为谷歌MapReduce分布式并行计算平台的竞争对手。 Dryad是微软构建云计算基础设施的重要核心技术之一,它可以让开发人员在Windows或者,NET平台上编写大规模的并行应用程序模型,并能够让在单机上编写的程序运行在分布式并行计算平台上。 工程师可以利用数据中心的服务器集群对数据进行并行处理,当工程师在操作数千台计算机时,无需关心分布式并行计算系统方面的细节。 DryadgDDryadLINO是微软硅谷研究院创建的研究项目,主要用来提供一个分布式并行计算平台。 DryadLINO是分布式计算语言,能够将LINQ编写的程序转变为能够在Dryad上运行的程序,使普通程序员也可以轻易进行大规模的分布式计算。 它结合了微软Dryad和LINO两种关键技术,被用于在该平台上构建应用。 Dryad构建在Cluster Service(集群服务)和分布式文件系统之上,可以处理任务的创建和管理、资源管理,任务监控和可视化、容错,重新执行和调度等工作。 Dryad同MapReduce样,它不仅仅是种编程模型,同时也是一种高效的任务调度模型。 Dryad这种编程模型不仅适用于云计算,在多核和多处理器以及异构机群上同样有良好的性能。 在VisualStudio 2010 C++有一套并行计算编程框架,支持常用的协同任务调度和硬件资源(例如CPU和内存等)管理,通过WorkStealing算法可以充分利用细颗粒度并行的优势,来保证空闲的线程依照一定的策略建模,从所有线程队列中“偷取”任务执行,所以能够让任务和数据粒度并行。 Dryad与上述并行框架相似,同样可以对计算机和它们的CPU进行调度,不同的是Dryad被设计为伸缩于各种规模的集群计算平台,无论是单台多核计算机还是由多台计算机组成的集群,甚至拥有数千台计算机的数据中心,都能以从任务队列中创建的策略建模来实现分布式并行计算的编程框架。 Dryad系统架构 Dryad系统主要用来构建支持有向无环图(Directed Acycline Graph,DAG)类型数据流的并行程序,然后根据程序的要求进行任务调度,自动完成任务在各个节点上的运行。 在Dryad平台上,每个任务或并行计算过程都可以被表示为一个有向无环图,图中的每个节点表示一个要执行的程序,节点之间的边表示数据通道中数据的传输方式,其可能是文件、TCPPipe、共享内存 用Dryad平台时,首先需要在任务管理(JM)节点上建立自己的任务,每一个任务由一些处理过程以及在这些处理过程问的数据传递组成。 任务管理器(JM)获取无环图之后,便会在程序的输入通道准备,当有可用机器的时候便对它进行调度。 JM从命名服务器(NS)那里获得一个可用的计算机列表,并通过一个维护进程(PD)来调度这个程序。 Dryad的执行过程可以看做是一个二维管道流的处理过程,其中每个节点可以具有多个程序的执行,通过这种算法可以同时处理大规模数据。 在每个节点进程(VerticesProcesses)上都有一个处理程序在运行,并且通过数据管道(Channels)的方式在它们之间传送数据。 二维的Dryad管道模型定义了一系列的操作,可以用来动态地建立并且改变这个有向无环图。 这些操作包括建立新的节点,在节点之间加入边,合并两个图以及对任务的输入和输出进行处理等。 Dryad模型算法应用 DryadLINQ可以根据工程师给出的LINQ查询生成可以在Dryad引擎上执行的分布式策略算法建模(运算规则),并负责任务的自动并行处理及数据传递时所需要的序列化等操作。 此外,它还提供了一系列易于使用的高级特性,如强类型数据、Visual Studio集成调试以及丰富的任务优化策略(规则)算法等。 这种模型策略开发框架也比较适合采用领域驱动开发设计(DDD)来构建“云”平台应用,并能够较容易地做到自动化分布式计算。 我们经常会遇到网站或系统无法承载大规模用户并发访问的问题,解决该问题的传统方法是使用数据库,通过数据库所提供的访问操作接口来保证处理复杂查询的能力。 当访问量增大,单数据库处理不过来时便增加数据库服务器。 如果增加了三台服务器,再把用户分成了三类A(学生)、B(老师),C(工程师)。 每次访问时先查看用户属于哪一类,然后直接访问存储那类用户数据的数据库,则可将处理能力增加三倍,这时我们已经实现了一个分布式的存储引擎过程。 我们可以通过Dryad分布式平台来解决云存储扩容困难的问题。 如果这三台服务器也承载不了更大的数据要求,需要增加到五台服务器,那必须更改分类方法把用户分成五类,然后重新迁移已经存在的数据,这时候就需要非常大的迁移工作,这种方法显然不可取。 另外,当群集服务器进行分布式计算时,每个资源节点处理能力可能有所不同(例如采用不同硬件配置的服务器),如果只是简单地把机器直接分布上去,性能高的机器得不到充分利用,性能低的机器处理不过来。 Dryad解决此问题的方法是采用虚节点,把上面的A、B、C三类用户都想象成一个逻辑上的节点。 一台真实的物理节点可能会包含一个或者几个虚节点(逻辑节点),看机器的性能而定。 我们可以把那任务程序分成Q等份(每一个等份就是一个虚节点),这个Q要远大于我们的资源数。 现在假设我们有S个资源,那么每个资源就承担Q/S个等份。 当一个资源节点离开系统时,它所负责的等份要重新均分到其他资源节点上;当一个新节点加入时,要从其他的节点1偷取2一定数额的等份。 在这个策略建模算法下,当一个节点离开系统时,虽然需要影响到很多节点,但是迁移的数据总量只是离开那个节点的数据量。 同样,~个新节点的加入,迁移的数据总量也只是一个新节点的数据量。 之所以有这个效果是因为Q的存在,使得增加和减少节点的时候不需要对已有的数据做重新哈希(D)。 这个策略的要求是Q>>s(存储备份上,假设每个数据存储N个备份则要满足Q>>S*N)。 如果业务快速发展,使得不断地增加主机,从而导致Q不再满足Q>>S,那么这个策略将重新变化。 Dryad算法模型就是一种简化并行计算的编程模型,它向上层用户提供接口,屏蔽了并行计算特别是分布式处理的诸多细节问题,让那些没有多少并行计算经验的开发人员也可以很方便地开发并行应用,避免了很多重复工作。 这也就是Dryad算法模型的价值所在,通过简化编程模型,降低了开发并行应用的入门门槛,并且能大大减轻了工程师在开发大规模数据应用时的负担。 通过上述的论述,我们可以看到Dryad通过一个有向无环图的策略建模算法,提供给用户一个比较清晰的编程框架。 在这个编程框架下,用户需要将自己的应用程序表达为有向无环图的形式,节点程序则编写为串行程序的形式,而后用Dryad方法将程序组织起来。 用户不需要考虑分布式系统中关于节点的选择,节点与通信的出错处理手段都简单明确,内建在Dryad框架内部,满足了分布式程序的可扩展性、可靠性和对性能的要求。 使用Drvad LINO 通过使用DryadLINQ编程,使工程师编写大型数据并行程序能够轻易地运行在大型计算机集群里。 DryadLINO开发的程序是一组顺序的L_NQ代码,它们可以针对数据集做任何无副作用的操作,编译器会自动将其中数据并行的部分翻译成并行执行的计划,并交由底层的Dryad平台完成计算,从而生成每个节点要执行的代码和静态数据,并为所需要传输的数据类型生成序列化代码; LINQ本身是,NET引入的组编程结构,它用于像操作数据库中的表一样来操作内存中的数据集合。 DryadLINQ提供的是一种通用的开发/运行支持,而不包含任何与实际业务,算法相关的逻辑,Dryad和DryadLINQ都提供有API。 DryadLINQ使用和LINQ相同的编程模型,并扩展了少量操作符和数据类型以适用于数据并行的分布式计算。 并从两方面扩展了以前的计算模型(SQL,MapReduce,Dryad等)它是基于,NET强类型对象的,表达力更强的数据模型和支持通用的命令式和声明式编程(混合编程),从而延续了LINQ代码即数据(treat codeas data)的特性。 DryadLINQ使用动态的代码生成器,将DryadLINQ表达式编译成,NET字节码。 这些编译后的字节码会根据调度执行的需要,被传输到执行它的机器上去。 字节码中包含两类代码完成某个子表达式计算的代码和完成输入输出序列化的代码。 这种表达式并不会被立刻计算,而是等到需要其结果的时候才进行计算。 DryadLINQ设计的核心是在分布式执行层采用了一种完全函数式的,声明式的表述,用于表达数据并行计算中的计算。 这种设计使得我们可以对计算进行复杂的重写和优化,类似于传统的并行数据库。 从而解决了传统分布式数据库SQL语句功能受限与类型系统受限问题,以及MapReduce模型中的计算模型受限和没有系统级的自动优化等问题。 在Dryad编程模式中,应用程序的大规模数据处理被分解为多个步骤,并构成有向无环图形式的任务组织,由执行引擎去执行。 这两种模式都提供了简单明了的编程方式,使得工程师能够很好地驾驭云计算处理平台,对大规模数据进行处理。 Dryad的编程方式可适应的应用也更加广泛,通过DryadLINQ所提供的高级语言接口,使工程师可以快速进行大规模的分布式计算应用程序的编写。 Dryad技术的应用 云计算最重要的概念之~就是可伸缩性,实现它的关键是虚拟化。 通过虚拟化可以在一台共享计算机上聚集多个操作系统和应用程序,以便更好地利用服务器。 当一个服务器负载超荷时,可以将其中一个操作系统的一个实例(以及它的应用程序)迁移到一个新的,相对闲置的服务器上。 虚拟化(Virtualization)是云计算的基石,企业实现私有云的第一步就是服务器基础架构进行虚拟化。 基础设施虚拟化之后。 接下来就是要将现有应用迁移到虚拟环境中。 Dryad结合Hyper-V(Windows Server 2008的一个关键组成部分)虚拟化技术。 可以实现TB级别数据的在线迁移。 中小型企业也可以针对企业内部小型集群服务器进行分布式应用系统编程,以及制定私有云开发与应用解决方案等设计。 Windows Azure是微软的公有云解决方案,但是目前要大规模应用还为时过早。 使用现有Windows第三方产品实现私有云,花费成本却很大。 然而Dryad技术给我们带来了不错的折中选择,当我们基于Windows Server台运行应用系统或者网站时,便可以基于Dryad分布式架构来开发与设计实现。 当公有云时机成熟和各种条件完备时,系统可以很轻易地升级到公有云,企业而无需花费太多成本。 写在最后 云计算可以看成是网络计算与虚拟化技术的结合,利用网络的分布式计算能力将各种IT资源筑成一个资源池,然后结合成熟的存储虚拟化和服务虚拟化技术,让用户实时透明地监控和调配资源。 Dryad是实现构建微软云计算基础设施的重要核心技术之一,其具有诸多优点,如DryadLINQ具有声明式编程并将操作的对象封装为,NET类数据,方便数据操作,自动并行化、VisualStudio IDE和,NET类库集成,自动序列化和任务图的优化(静态和动态(主要通过DryadAPI实现)),对J0in进行了优化,得到了比BigTable+MapReduee更快的Join速率和更易用的数据操作方式等。 不过,Dryad和DryadLINQ也同样具有局限性。 其一,它更适用于批处理任务,而不适用于需要快速响应的任务;这个数据模型更适用于处理流式访问,而不是随机访问。 其二,DryadLINQ使用的是,NET的LINO查询语言模型,针对运行Windows HPC Server的计算机集群设计,而目前高性能计算市场被Einux所占领。 此外,和MapReduce的应用时间和实践相比,Dryad的可靠性还明显不足,据了解除了微软AdCenter中的数据分析和Trident项目之外,其它应用Dryad的地方还很少。 不过总的来看,Dryad平台在将来仍具有很广泛的发展前景,尤其对NET开发人员来说是―次很重要的技术革新机遇。 名词解释 任务管理器(Job Manager,JM):每个Job的执行被一个Job Manager控制,该组件负责实例化这个Job的工作图,在计算机群上调度节点的执行;监控各个节点的执行情况并收集一些信息,通过重新执行来提供容错:根据用户配置的策略动态地调整工作图。 计算机群(Cluster):用于执行工作图中的节点。 命名服务器(Name Server,Ns):负责维护cluster中各个机器的信息。 维护进程(PDaemon,PD):进程监管与调度工作。

业务数据迁移上云的一些技术思考

自动化数据迁移的明智之选:使用ccmove,轻松实现大规模数据移动 (自动化数据迁移方法) 第1张

前言在支持京东集团内部及京东云外部客户的业务迁移到京东公有云及京东私有云、京东政务云的过程中,京东科技-京东云事业群-技术服务组积累了相关业务系统数据迁移的一些管理和技术经验,以案例的形式分享给大家,希望对大家的业务迁移工作有所帮助。 迁移前的准备工作业务迁移上云涉及到的业务数据种类繁多,主要类型包括:数据库:关系型数据库MySQL、PG、Oracle等对象存储:标准S3接口对象存储迁移中间件数据:ES、mongoDB、redis等文件存储:文档、图片等非结构化数据大数据:HBASE、HDFSfiles等京东云的内外部客户在上云过程中,大部分业务均涉及到以上多种数据类型,基于相关迁移的案例所积累的经验,数据迁移需要在迁移启动前至少做好如下准备工作。 1、可执行的数据迁移技术方案制定完成,包含明确的迁移操作步骤(迁移前准备工作,迁移操作、迁移后校验工作)、执行人、确认人。 2、制定迁移应急预案及回切方案,明确责任矩阵,确认异常情况的决策条件及决策人。 3、确认数据安全等级,确认数据迁移的方案合规安全,通过相关业务安全部门审核。 4、迁移时长及割接数据同步窗口的评估(以POC验证数据信息为基础制定),确认各个业务及数据迁移可选的第二方案。 5、确认网络带宽及质量满足迁移需求。 案例分析下面是几个案例,涉及到了不同数据迁移的场景。 一、关系型数据库MySQL:MySQL在迁移中最为常见,也有很成熟的迁移工具和迁移方案,包括官方工具和相关开源工具,如mysqldump等,各个云厂商也都有各自的DTS迁移工具。 DTS工具:DTS服务在传输及同步、数据校验等步骤都实现了一定的抽象化,具有相对友好的交互界面,同时可以实现多个任务并行进行,对要求平滑迁移的场景,具有自动化优势,节省大量人力,有部分DTS工具可以实现跨版本迁移。 DTS的限制是:(1)源端数据库与目标端数据库与DTS管理服务IP网络互通,并具备稳定的网络连接。 (2)数据库需要满足一定的前提条件才能实现迁移后的增量同步功能,通常的需求是权限需求,比如REPLICATIONSLAVE,REPLICATION等,同时存储过程及函数在全量增量的场景下不会被包含,在全量迁移阶段,不支持AlterTable、DropTableDDL操作,不同厂家的工具限制条件可能不同,需要仔细阅读产品说明,并通过POC验证功能。 mysqldump工具:适合的场景,数据库源端与目的端没有良好网络连接或无网络连接的情况下,允许有一定的业务中断时间,则在停机窗口完成数据导出、导入是比较适合的方案(如果具有主机级别的管理和控制能力,直接将数据库主机整体以镜像方式迁移也是一个可行的迁移方法)。 Mysqldump导出导入速度相对DTS要快(本地操作,而且与DTS相比,少了一些中间环节),但是多了一个数据文件压缩及通过网络或移动介质传送的时间。 其他开源及商业工具,如streamset等,可以支持mysql到异构数据库的同步,功能比较强大,同时限制也比较多。 迁移时长的估算:业务割接过程中,业务数据的迁移及同步是切换前的重要步骤,也是割接过程中耗时较长,容易出现错误并导致割接延时或失败的环节,因此要对数据迁移及同步耗时做出靠谱的估算。 数据库同步,是表级别的并发来迁移全量数据,因此,DTS得结合实际的数据类型、数据行数、网络带宽、网络延迟、同步实例规格,库表的数量、单库表的大小等因素评估时长。 举例来说,数据库大小500G,有5张表,其中一个单表400G,剩下4张表各25G,因单表400G相对较大,迁移时长会拉长。 如果是5个100G的表,迁移时长会缩减。 在正式迁移生产数据前,一般会有对测试环境的迁移POC,来验证和评估生产环境的切换流程及耗时,制定生产业务割接的计划时,要以这个时间为数据库迁移的时长依据。 京东云DTS数据迁移同步架构如下图:案例一从友商公有云迁移到京东公有云云,由于源端binlog问题导致的一次DTS迁移到手动迁移方式的转换。 项目条件,业务具有8小时的停服时间,因此在迁移技术方案DTS及手动导数据库都是可选方案,鉴于DTS的不停服及数据增量功能特性,我们选择在停服前开始通过京东云DTS服务同步历史数据,并开启DTS增量同步功能,基于停机窗口,我们给数据库在线迁移及增量同步的时间为4小时,DTS服务不影响在线业务,基于测试环境的迁移经验及评估。 在停服前的下午,为了给迁移留出足够的时间缓冲,我们提前启动了主数据库的DTS服务,数据库迁移进程正常进行,预计迁移时长为4小时,但是在DTS服务最后阶段,因源端binlog问题,出现了一个致命错误,导致DTS任务失败。 MigrationTaskRunErrorERROR1236(HY000):TheslaveisconnectingusingCHANGEMASTERTOMASTER_AUTO_POSITION=1,:cn-north-1ClusterGID:dts-r1rroaERROR1236(HY000):TheslaveisconnectingusingCHANGEMASTERTOMASTER_AUTO_POSITION=1,butthemasterhaspurgedbinarylogscontainingGTIDsthattheslaverequires.因为最终binlog错误(部分binglog丢失),DTS任务无法恢复,最终DTS传输的4小时时间被浪费,因迁移是系统工程,其他数据迁移进程也都在根据计划推进,此时大家都没有时间去分析具体原因。 因到晚上客户业务已经推送通知并停服,此时业务迁移的其他数据迁移及业务调试已经开始。 所以,当机立断决定以mysqldump模式导出文件,本地导出速度很快(20M/s),压缩后的数据库导出文件体积缩小,减少了网络传输耗时。 通过网络传输到京东云侧的云主机,然后source方式导入RDS。 导出、传输、导入整个过程耗时小于2小时。 导入MySQL数据后,根据迁移流程做迁移数据校验,使用checksum_table工具对源端和目的端数据库做对比。 源库信息:—src-hostsourceIP—src-useruser—src-passpass目标库信息:—dest-hosttargetURL—dest-useruser—dest-passpass验证过程中,发现部分表不一致,与业务方确认为源端在迁移开始后,停止服务不彻底导致,仍然有数据写入操作,因为业务侧并没有根据迁移规范检查mq、kafka的消息产生情况,只是停止了部分服务,后经业务及研发检查新增数据,对部分数据做清理后,完成数据库的迁移工作。 根据项目经验,这种DTS服务因binlog问题导致的失败情况并非个案。 准备工作(1)为数据库迁移准备一个备选方案并准备好应急预案。 (2)出现问题时,决策条件及决策人提前确认,在实施过程中能根据需要及时决策做出调整。 厂商改良(非原生)的数据库的迁移:在某些云厂商的特定数据库版本中,会对标准的数据库产品如mariaDB、PG等数据库做一些定制化的开发,以满足客户的业务的某些特殊需求,这种数据库属于厂家深度绑定的类型,在做业务迁移或灾备数据同步的时候,根据时间场景做定制化的迁移及同步方案,大部分需要从研发层面做一些定制化的配置和操作。 案例二某金融用户,原系统运行于T的金融云,使用了定制化的RDS服务,因金融行业的业务及数据灾备规范,需要做异地容灾,目标为实现业务级别灾备,将灾备系统运行于京东金融云平台。 为实现从T云定制化的TDSQL到京东云的迁移,对源端的数据库做了详细调研,因为源端是定制化的、具有自动水平拆分、SharedNothing架构的分布式数据库,因此使用京东云的DTS工具不适用于这个场景,同时,在两个环境,要求数据基本为实时同步才能满足业务容灾的需求。 制定方案在制定数据同步方案时,也对传统灾备厂商的方案做了调研,因传统厂商灾备方案多以主机级别数据及IO分析或日志分析为基础,需要做一些侵入式agent的安装,与云上RDS的场景无法适配,相关厂商也表示正在做向云上灾备的转型,但尚未有成熟落地的产品(适配难度较大),因此最终方案采取了基于gtid的主从的方案来实现数据库的异构云同步,屏蔽了架构差异带来的问题。 注意:涉及业务信息及底层操作的部分内容已经隐去。 首先对源端做权限调整:GRANTSELECT,RELOAD,SHOWDATABASES,EXECUTE,REPLICATIONSLAVE,REPLICATIONCLIENT,‘user’@’192.168.%’对源端做全量的逻辑备份:mysqldump–hxx–uusername-p–databasenx_db-f—single-transaction—master-data=2—skip-lock-tables/data1/注意导出文件中要有gtid信息。 灾备端导入:mysql–hxx-f–后台做配置:setgtid_slave_pos=’0--1xxxx06’;CHANGEMASTERTOMASTER_HOST=’sourceIP’,MASTER_USER=’username’,MASTER_PASSWORD=’‘,MASTER_USE_GTID=’slave_pos’;同步验证数据验证(1)业务侧停止写操作,在T云侧和京东云侧分别通过checksumtabletablename对关键表做校验。 (2)业务侧在T云/京东云两边分别执行命令,对表/view等做数量校验:selectcount(1)frominformation__schema=’nx_db’;selectcount(1)frominformation__schema=’nx_db’;业务测通过创建测试表/增删改查等操作验证ddl/dml是否正常。 基础功能验证完成后,还需进一步验证源端数据库主从切换以及网络中断对数据库同步的影响,对源端数据库的日志配置,要提出Binlog本地保留时长需求(不少于48小时),避免网络中断时间过长导致的日志过期而影响数据库的同步业务。 为保障数据及业务灾备的可靠性,需要对网络专线做实时的监控及告警配置,当出现网络问题时,需要能及时收到告警,第一时间处理,避免中间专线网络中断对灾备业务的可用性的影响。 POC验证期间曾经对网络影响进行中断测试,中断2小时,后续观察数据仍能正常同步追平,能够容忍实际业务中可能出现的网络中断造成的影响。 对源库的保护在这个异构云容灾的案例中,因为与源端云是通过专线做了网络互通,而源端的数据库是通过IP方式访问的,因此,在应用主机整体迁移到京东侧后,主机仍然可以通过网络访问到源端数据库,这样有可能对源端库的写操作,为阻断对源端数据库的访问,可以采用主机安全组方式,阻断主机对外部3306端口的访问,或通过子网级别的ACL,限制对指定网段的特定端口的访问,在应用配置调整后,数据库连接指向改变后,再调整安全组条目或ACL策略,放开对应的访问权限。 因部分数据库的子网规划问题,使用ACL可能对数据库同步造成影响,因此在此案例,为业务主机创建一个附加安全组,配置3306端口阻断策略,实现了对源端数据库的访问保护。 待业务调整完成后,解除安全组,即可实现业务数据的正常写入。 二、ES迁移ES应用越来越广泛,业务迁移中,ES数据迁移已经成为数据迁移的一个重要部分。 ES迁移技术涉及停服迁移及不停服迁移,不停服迁移对迁移的源端和目的端网络及服务有很多要求,目前实现起来尚有很多限制,目前一般只在集团内部业务做ES不停服迁移。 通常停服迁移技术路径可选择reindex或snapshot方式及logstash方式,几种方式均要参考官方对版本的要求,选择满足版本要求的迁移方式。 Snapshot方式:Snapshot方式,从源ES集群创建数据快照,然后在目标ES集群中进行恢复。 创建快照前必须先创建repository仓库,一个repository仓库可以包含多份快照文件。 repository支持S3及共享文件存储系统等,自建的ES可以使用共享文件存储(从速度、成本等因素考虑,是最佳选择),使用公有云ES服务的建议采用支持S3协议的对象存储。 从速度和效率上来讲,快照方式优于reindex,当不需要对源端做任何变更,且网络存储条件具备时,优先选择快照方式迁移ES。 reindex是Elasticsearch提供的一个api接口,可以把数据从源ES集群导入到当前的ES集群,实现数据的迁移,reindex适用于数据量较大,有索引调整需求或无法连接共享存储的迁移场景,以及只需要迁移部分数据的场景。 reindex方式需要目标端能够访问到源端ES的服务端口。 案例三客户业务从友商云迁移到京东云,源端ES为K8S集群自建服务,服务访问方式为nodeport方式,因为安全原因,限制访问方式为内部业务主机访问,服务未通过互联网对外开放。 选择迁移技术方案,源端自建的ES未安装S3插件,考虑到快照方式迁移需要源端安装S3插件,而通过POD方式部署的业务需要重新制作镜像并更新应用,从时间及工作量上考虑不是最佳选择,因此采取reindex方式来做业务数据的迁移。 为实现从京东云侧对ES的数据拉取,在源端配置一个nginx反向代理,实现了通过公网对内部ES接口的访问,同时配置白名单,限制访问IP为京东侧NAT出口的公网IP,确保数据的访问安全。 在京东云侧,因生产环境子网未配置公网出口,为临时拉取数据,满足迁移需求,调整路由表,配置明细路由,将源端公网IP配置到对应子网的路由表中,指向NAT,临时打通公网连接,通过NAT可以拉取到源侧的ES数据,并在ES服务中对源端的公网IP做加白操作,注意加白操作会重启ES服务。 为满足网络通信需求,临时配置ES子网的明细路由,完成数据迁移后需删除明细路由。 迁移前,确认相关迁移条件已经具备:源端及京东云ES服务均创建对应索引,需要确认云上索引是新建的,源端与目的端的mapping可以一样,也可以不同,通过reindex,可以实现修改mapping后的字段类型。 可以从京东云侧ES访问到源端云侧服务的ES的服务端口,验证方式,telnet或curl-XGET方式验证均可。 在源端创建索引:源ES集群1.创建索引(示例)PUT11_index_11{“mappings”:{“user”:{“properties”:{“name”:{“type”:”text”},“title”:{“type”:”text”},“age”:{“type”:”integer”}}}}}2.写入数据(示例)POST11_index_11/user{“title”:”manager”,“name”:”XP”,“age”:22}目标端ES配置1.创建索引(示例)PUT11_index_11{“mappings”:{“user”:{“properties”:{“name”:{“type”:”text”},“title”:{“type”:”text”},“age”:{“type”:”integer”}}}}}2、配置参数,指明能够reindex的远程集群的白名单,并重启目标端集群服务。 3、reindex迁移数据POST_reindex(示例){“source”:{“remote”:{“host”:““,“socket_timeout”:“1m”,“connect_timeout”:“10s”},“index”:“11_index_11”},“dest”:{“index”:“11_index_11”}}迁移后,做数据校验,完成ES的数据迁移。 三、对象存储的迁移对兼容S3协议的对象存储数据迁移,各个公有云厂商(包括部分传统灾备厂商)均有迁移工具或脚本,迁移技术难度不高。 但是,因为不同厂家的对象存储在不同region可能存在底层版本及配置差异。 因此,同一个工具或脚本,在处理不同区域的对象存储数据时,可能会出现文件访问问题,在做迁移前后,需要对迁移的数据做完整性和可用性校验。 对象存储迁移的一般顺序:1、目标端配置镜像回源,保证读404可以回源拿到数据2、使用迁移工具迁移源端的历史数据3、同步后的数据校验实际迁移中,因为涉及到增量数据的同步(迁移工具支持对的参数设置,是否覆盖文件,因此也可以做到增量),因此,应根据项目实际的数据存储量、业务访问特性、业务停机窗口等信息,综合考虑迁移流程和选择技术方案。 案例四某业务从友商云迁移到京东云,涉及到对象存储迁移,源端文件数量约为1000万级别,迁移前,先对源端对象存储做文件list,检查迁移工具list数据与对象存储实际数据能够匹配,然后通过迁移工具做迁移操作,因文件量较大,而且业务每天都有新数据上传,要保证所有文件都正确同步。 因此采用的的历史和增量数据同步方案为提前一周做全量迁移,然后通过镜像回源同步新增文件。 割接前一周做全量迁移1、在割接一周前,利用京东云的osstransfer迁移工具进行全量迁移。 2、迁移后会生成一个以源oss的bucket命名的的文件,此文件里含用源osucket的所有文件的清单。 3、迁移日志会生成在迁移的工具包log目录下,相关log说明(log文件很重要,迁移完成后做了一个异地备份):迁移的所有文件将记录在中迁移成功的文件记录在中可以用命令grep“1$”查看迁移失败的文件用生成的源oss的清单文件列表的txt文件中的文件数量和文件中的文件数量进行对比,如果数量一致说明全部迁移成功。 文件list获取配置示例:割接当天进行全量迁移后的增量迁移1、利用osstransfer工具生成源oss的清单文件列表。 2、从文件列表清单中找出全量迁移至增量迁移这段时间内新增加的文件。 3、开启oss的镜像回源。 4、使用curl访问新增加的文件(要访问目标端oss),进行新增文件的镜像回源。 实际迁移中遇到了问题:在POC阶段,做测试环境数据迁移时,采用这个方案验证一切顺利,但是在生产环境割接时,遇到了问题,判断增量文件所需的list清单出现循环错误,导致list任务一直运行中,而list的清单有大量重复内容。 迁移软件版本与测试环境迁移使用的版本一致,而生产环境中,迁移软件在一周前的全量同步的使用也是一切正常。 数据也正常同步到了京东云的对象存储中,割接时需要的是通过回源方式获取一周内新增的文件,如果list文件不正确,会导致增量的数据同步无法进行。 问题处理业务割接时间有限,迅速升级问题,将问题反馈到工具软件的研发同事,研发同事迅速投入排查(已是凌晨,为京东研发同学的敬业精神点个赞)。 经过研发同事排查,发现源端的友商云上,测试环境使用的对象存储与生产环境的对象存储位于不同区域(zone),而友商云的生产环境对象存储所在区域的OSS接口在本周做了调整,导致原有工具list出现错误。 研发同事紧急更新一个工具包提供给迁移现场同事,解决了对象存储文件list循环错误问题,顺利完成了文件list检查,通过对比前后生成的list文件,获取到新增的文件列表。 配置镜像回源,通过脚本同步了一周的新增文件,校验无误后,配置业务应用启用对象存储,业务启动及验证工作继续正常进行。 四、redis迁移业务中Redis使用有两种场景,一种是仅作为缓存,不做数据持久化,这种业务场景,迁移后在新环境部署业务后直接调整业务指向新的redis实例即可,一种是有数据持久化,这种业务在迁移到云上时,需要根据业务需求,做redis数据的迁移操作。 Redis有rdb(point-in-timesnapshot)和aof两种持久化方案,其中rdb模式是二进制格式,类似于快照,恢复直接覆盖,aof保存的是命令(文本格式),类似于追加模式,如果需要保留目标端的redis的数据,可以使用aof方式,aof方式需要把源端redis做停写操作。 Redis加载RDB恢复数据速度快于AOF的方式,但要注意老版本Redis服务不兼容新版RDB格式,因此RDB模式不适用降级的迁移或恢复。 在业务迁移时,需要根据redis的使用场景、源端与目的端版本要求,数据存储、网络条件等选择适用的redis迁移工具。 Rdb及aof的迁移,官方有详细的说明(bgrewriteaof/bgsave/redisdump等),使用也相对简单,因此本文不多做介绍。 京东云研发了redis的迁移工具redissycner(目前支持自建redis业务迁移),通过模拟redis的replication协议,提供redis迁移及同步。 Redissycner通过docker部署方式:gitclone进入目录docker-composeup–d下载客户端软件:wget调整配置文件:(docker服务地址)token:xxx注意token文件内容需要在容器中确认。 编辑配置文件后即可启动服务,通过编写要执?的任务json来配置操作环境。 {“sourcePassword”:“xxxx”,“sourceRedisAddress”:“10.0.1.101:6379”,“targetRedisAddress”:“10.0.1.102:6379”,“targetPassword”:“xxxx”,“taskName”:“testtask”,“targetRedisVersion”:4.0,“autostart”:true,“afresh”:true,“batchSize”:100}redissyncer-cli-iredissyncer-clitaskcreatesource./五、数据备份的重要性数据备份是在业务迁移的全生命周期怎么强调都不过分的环节(也包括迁移后的一段时期),因数据备份不充分导致数据丢失、业务受损的教训很多,但是,在迁移实施过程中,因忽视数据备份而导致出现问题的事件仍然很常见。 问题可能来自客户,可能来自我们实施团队,也可能来自ISV或者其他可能操作数据的团队或个人。 有些问题是因为迁移各个责任方的沟通不充分、宣贯不到位或技术不过关导致,有些是误操作导致。 实际场景中数据备份实施的压力或阻力,主要来自存储空间不足以及备份过程可能造成的对性能的影响。 除了备份的数据文件需要占用存储空间,数据库文件的可用性、一致性验证,同样会占用大量的存储空间(临时),因此在实际迁移过程中,对存储空间的需求,可能会大于现有数据库的数据量的2倍(源端及目标端都是如此)。 因此,在重要业务场景中,迁移前,需要对数据备份所需的存储空间做好评估并考虑备份空间的成本。 案例五某局委办业务由vmware环境迁移到政务云,在迁移前,笔者为客户做了所有迁移主机的整机备份(导出到vmware外部的外部存储中),事实证明这些环节(准备存储环境、沟通vmware运维方、数据导出耗时等)导致的成本增加是值得的。 迁移过程很顺利,在业务迁移到政务云正常服务完成业务交接大约1个月后,接到客户电话,希望能够通过迁移前备份的主机恢复数据。 问题原因原因是一个ISV在新环境做业务升级时,安排了一个没有经验的新人,把数据库软件做了重新安装,并删除了原有数据。 在协助客户通过备份的镜像恢复数据后(历史数据,新增数据部分由ISV做了增补操作),客户购买了政务云提供的灾备服务,开始定期对重要主机和数据做全量及增量备份,通过云上的容灾服务来避免或减少业务错误或误操作造成的损失。 六、业务数据迁移总结1、提前做好备份,有了备份数据,迁移过程的压力会减小,相对宽松的迁移氛围对迁移实施很有利。 2、迁移技术及工具的选择,现在数据迁移工具越来越多,各个大厂也都有自己的工具,但是产品的限制及兼容程度各有不同,需要根据业务性质选择并验证。 3、准备回退预案,做好POC验证,POC能发现部分问题,提前准备解决方案。 4、做好流程手册,明确操作责任人,联系相关部门做好迁移的切换阶段的护航准备。 产品和服务类的问题一定要能找到人支持。 5、明确责任矩阵、进行全面沟通,沟通能够发现技术层面很难发现的问题,越早建立迁移组织并形成有限的沟通机制,对迁移的顺利实施越有利。

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

自动化数据迁移的明智之选:使用ccmove,轻松实现大规模数据移动 (自动化数据迁移方法) 第2张

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
欢迎你第一次访问网站!