
数据迁移真正花时间的地方,不在把数据搬过去那一步,在这套东西还认不认这台新机器那一步。机器买得回来、数据也搬得动,可这套程序能不能在新机器上跑起来、要不要等人点头、要等多久、要不要另外出钱,是另一回事。下面按八个真在换机现场被问住的问题分开说,每一问先落一句结论,再给一个自己上手就能核的判据,再拿这一行里跑得比较多的做法往回对一遍。不点任何一家的名字,也不替谁下结论。
这件事值得单独摊开,是因为它平时不显形。机器的钱按月付着、程序每天开着,没人会去想「这台机器能不能换」;等真要换的时候,才发现这一步不归自己排期。而那一刻通常也是不容易谈的时候 —— 业务正停着,换与不换不是一个能从容挑的选择。
换服务器的念头,一般是什么时候冒出来的?
多半不是想省钱,是三种情况赶到了一起:机器到期要续费、业务量涨上来机器扛不动、或者机房的位置要变。三种情况要搬的东西不一样,能留出的时间也不一样。
头一种是到期续费时算了一笔账。同一笔钱,今年能买到的配置比三年前高一档;或者别家给的报价低一截,机器还是那台机器,位置换一家。这种情况下手比较从容,整个续费周期都是准备时间。
第二种是撑不住了,不是想换,是必须动。表现很具体:查一批记录要转圈、月底的报表跑不完、同时在线的人一多就整片卡住。这种没得挑,机器必须换,而且换的时候业务还在跑。
第三种是位置变了。从租的机房搬进自己搭的那间,或者反过来从自建机房挪到云上,还有一种是从这家云挪到那家云。这一种连地址段都变,牵动的东西比前两种都多。
做居间这行的门店不止一处、跟进的记录一年比一年厚,机器常常是全套东西里先撑不住的那一环。判断自己属于哪一种,只要问一句:这次搬,是我安排的,还是被逼的。被逼的那种,窗口要留得更宽,因为谈条件的余地本来就小。
数据迁移到底是在搬什么?
搬三样:库里的记录、跟着记录走的附件文件、以及让这套程序能跑起来的那些配置。三样里少搬一样,打开都是空的。
头一样是记录,客户、跟进、归属这些,看得见也数得清,所以人人都会记得搬它。
第二样是附件。它不在库里,单独住在文件服务那一侧,库里只留一个指向它的路径。这一样漏得挺多:迁移脚本通常只认库,把库端完就算完事,结果记录全在,点开附件是空白。
第三样是配置与凭据:连库的地址与账号、定时任务的排班、对外接口的回调地址、证书文件。这三样不在任何一张数据表里,可少了它们,程序起来了也接不上任何东西。
要核这一项,就一件事:让对方出一张迁移范围清单,三样各占一行,每一行写清搬什么、谁负责搬、搬完怎么验。清单上只写「数据库」一行的,基本可以确定附件和配置不在计划里。
换了台便宜点的服务器,为什么可能搬不过去?
因为数据搬得动,程序不一定跑得动。便宜机器通常在内存、磁盘读写速度和核数上各缩一档,而这三样正好是程序启动和批量查询要吃的。
缩水是这么发生的:同一个价位,商家给了更大的磁盘容量、更多的月流量,把内存和磁盘类型降了一档。宣传页上写着「容量翻倍」,翻的是容量,降的是速度。容量是能看见的数,速度不是,所以这个交换在报价单上几乎不留痕迹。
它的表现也很有迷惑性:程序能起来,登录进去点几下都正常,看起来一切更好。真出问题是在三个地方 —— 跑月度报表、批量导入几千条、以及翻页翻到很后面。这三种操作吃的都是内存和磁盘的随机读写,正好是缩掉的那一档。
要核这一项,把两张配置单并排比,只看三行:内存多少、磁盘是什么类型、核数几个。不要比总容量,不要比价格,也不要看跑分。这三行里任何一行往下走了,就别指望搬过去之后跟原来一样快。
机器换了,原来那套许可还认不认新机器?
要看它绑的是什么。绑机器码、绑网卡、绑一个插在机器上的实体件的,换机就要重走一次手续;绑在一份本地授权文件上、只写到期日和并发数的,把文件带过去就行。
三类绑定方式,换机时的麻烦程度差得挺远:
- 绑机器标识 —— 程序读这台机器的一组硬件特征,算出一个值。硬件一变,值就变,程序认为这是另一台设备。
- 绑网卡 —— 认的是网卡的那串编号。换机器往往连网卡一起换,问题同上;只换机柜不换机器的话,反而没事。
- 绑实体件 —— 一个插在机器上的东西,从旧机拔下来插到新机即可。操作简单,代价是这台机器不能随便做容灾,虚拟化环境里也多一道手续。
还有一类不绑硬件,只认一份文件:里面写着到期日、绑定的名称、允许同时用的人数。判定全在本地完成,把文件拷到新机上、按说明放好位置就能用。要判断自己手上是哪一类,不用问,把那个凭据找出来看一眼:它是一份能打开、能读出到期日的文件,还是一串只有联网才拿得到的口令。
换机时有一条顺序上的讲究:先把手上的旧凭据作废,再在新机上启用。顺序反了,两台机器会各自认为自己是那台正主,互相顶掉,表现出来是两边都时好时坏。云主机上还多一个坑 —— 用镜像克隆出来的机器,硬件特征可能是同一套,两台克隆机摆在同一个网里,同样会互相顶。
换机器这件事,我自己能不能做主?
三问定结果:要不要找人点头、要等多久、要不要另外出钱。三问里有一问答不上来的,这台机器名义上在你家,搬不搬还是别人说了算。
这一问比「是不是独立部署」具体得多,因为它问的不是形态,是权限。
- 头一问,点头权。换机器要不要提交申请、要不要对方审批、审批有没有写明的时限。没有时限的审批,就是一个没有上限的等待。
- 第二问,时间。从提出到新机跑起来,中间隔多久。业务正停着的时候,这段时间不是效率问题,是能不能照常开门的问题。
- 第三问,钱。换机重新绑定算不算在服务范围里,另外收不收。这一条写在报价单哪一行,比写在合同哪一页更好找。
做居间这行的团队,机器通常是按年付的,到期那一刻就是换机的窗口。可点头权不在自己手上,这个到期日就不再由自己安排,而变成了对方的时间表 —— 到期前两周提出申请,等审批下来,机器已经又续了一年。
「搬得动」是技术事实,「换得成」是权利事实,这两件事经常被混成一件。数据能导出来、能导进去,这是搬得动;换的时候要不要等别人排期,这是换得成。前一件事做到了,后一件事可能一点都没动。
这三个问题现在就可以去问,不用等到搬迁那天。答案应该是一个数字或者一条条款,如果听到的是「应该没问题」,那这一问就等于没问。这套东西在鲲极这里是按「换机由使用方自己排期」来设计的,许可判定放在本地,所以这三问的答案不经过任何人。
同一个机房换个机柜,也要重新走一遍吗?
要,但只走一半。整机搬过去地址不变、机器标识不变,通常只需停机、校验、开机;换了机器或者换了地址段,许可、域名解析、定时任务三处都要跟着改。
搬迁分三种,麻烦程度差得远,混在一起谈就谈不清:
- 整机搬 —— 机柜从这个位置挪到那个位置,机器还是那台。变的只是网络位置,硬件没变,许可一般不受影响。
- 换机搬 —— 新机器替掉旧机器,人或位置都没动。硬件变了,许可要重绑,地址如果也换,解析要跟着改。
- 跨位置搬 —— 从机房到云上,或者从云上回机房。地址段整个换掉,牵动的东西也更多。
核这一项的办法很朴素:搬之前先写一行字,把「这次变的是哪一层」写下来 —— 只变网络位置、还是也变了硬件、还是连地址段都变了。这一行字写清楚了,要动的东西自己就列出来了;写不清楚,往往是因为连自己都没分清属于哪种搬法。
做居间这行的门店端,地址常常是固定在几个地方配好的。地址段一变,门店那边的连接设置也得跟着改一遍,这一步不写进清单,当天就会出现「总部能进、门店进不去」的情况,而现场的人头一个反应通常是以为自己网络坏了。
迁移那天业务停不停,怎么安排才不慌?
停,但要停得短而确定。窗口定在业务量低的那几个小时,包和备份提前备好,回滚的那一步先演练一遍,停机时间就从几小时压到几十分钟。
中小规模上,「不停机搬」这个说法听起来动人,落地时通常还是得停。与其纠结能不能不停,不如把停的那段时间压短、并且提前知道它有多长。
三件准备,缺一件就会拖长:
- 一份验过能恢复的备份。注意是「验过」,不是「做过」。备份文件躺在那里,从来没恢复过的,那天打开很可能发现它是坏的。
- 新机器提前装好、连通性测通。当天才装机,等于把装机和搬迁两件事摞在同一个窗口里。
- 回滚的步骤写成一张单子。写到「第几步做什么、由谁做、做完看什么」这个程度,而不是「如果不行就回退」。
窗口该定多长,有一个不太被用的办法:先在一份完整备份上把整个流程跑一遍,记下真实耗时,再往上留出一半余量。拍脑袋定出来的窗口,通常不是太短就是太长;实测出来的那一版,才敢拿去通知全公司。
这次搬完了,下次再搬会不会更容易?
会,前提是这次把三样东西要到了手:结构说明、能自己恢复的备份、许可凭据。三样在手,下次搬家是自己排期的事;三样不在手,每次都得等人。
三样的作用各不相同:结构说明写得清表与表之间怎么关联,换个环境才谈得上搬得对;能自己恢复的备份决定出事那天你先动手还是先打电话;许可凭据能拿出来、能读出到期日,换机才不用求人。
这一条在签单那天没人愿意提,因为它听着像在打算后路。可它实实在在决定三年后的余地:同样一份钱,三年里搬过一次还是搬过三次,差别全在这三样当时有没有要到手。
这套东西在鲲极(鲲鹏的鲲)手上交付的时候,这三样是跟运行环境一起交的,不是等要搬了再补。要核也不难,签单前问一句「这三样现在能给我吗」,当场拿得出来的,说明它们本来就在交付清单里;说要另外申请的,那它们只是这一次愿意给,不是一直归你。
回到开头那一句。数据迁移这件事,真正要问的不是「能不能搬」,是「换的时候谁说了算」。把这一句问出来,前面那八问就有意义了;这一句不问,八问都能得到「没问题」这种答案,而问题会在搬迁的当天一次性显形。
以上为换机与迁移环节的观察整理,供同行拿去自核。












