Linode跨节点迁移:从Tokyo到Fremont
背景
上一篇博客交代了如何在 Linode 上搭建邮件服务器,并配置好各种协议、记录来投入实际使用。
由于实践过程中,曾经尝试使用明文协议与服务器交流数据,可能泄露了账号、密码信息,造成之后被攻击发送垃圾邮件(详细情况类似于如下链接:链接 1,链接 2),IP 被上了黑名单,在 mail-tester.com 上的测试评分为 0 分,同时还收到了 Linode 的警告。
为了能继续使用邮箱服务,我只好想着法子给 Linode 换一个 IP。但原则上 Linode 是不支持换 IP 的。幸运的是,它支持 VPS 的迁移,而且方便快捷。从 Tokyo 节点迁移到 Fremont 节点后 IP 一般会发生变动(对于网络延迟,权衡了下大家的说法,Fremont 还不错:官方测速),这样就可以间接的更换 IP 了。
迁移过程很简单,这里做一下记录。
迁移准备
发出迁移请求
Linode 有比较完善的 Support。对于迁移这种情况,可以在 Support 页面发出如下请求:
1 |
|
1 分钟之后,我就收到了技术支持的回复:
1 |
|
此时,Linode 控制面板中已经多了一个迁移的提醒:You have a migration pending!
。
不过先不要着急迁移,因为迁移过程是不可恢复的,我们需要首先将 VPS 中得重要数据备份到本地。注意如回复中所说,这种备份不同于 Linode 中的备份服务。
备份数据
找到一份科学的全盘备份数据方式:linode 用户通过 ssh+dd 命令复制整个磁盘。不可否认 dd 做传输比 scp 一个个拷贝文件快得多,但由于需要将整个盘 5G 数据全部通过网络传输,而家里网速慢,传输数据只有大概 100KB/s 的速度,需要等待太长时间。
实际上,我所需要备份的文件无非是/home
目录下得所有数据和部分服务的配置数据(比如 postfix、dovecot、nginx 等),总共大概也就 100MB,于是决定选择性的用 scp 传输备份数据:
scp root@vps-ip:/backup /home/backup #vps-ip 替换为服务器 IP 地址
同时由于零散的传输文件效率不高,可以考虑先将服务器端所有小文件使用 tar 命令压缩到一个包里:
tar zcvf backup.gz /home /etc/nginx/sites-enable
在本地的解压缩命令如下:
tar zxvf backup.gz
当然,实际上我们都不会希望备份数据需要被使用到啦,而迁移 vps 丢失数据的概率应该也是很小的。
修改 DNS 记录
由于迁移过程需要大概一个多小时,网站服务的不可访问是无法避免了。只好尽可能将迁移过程放在深夜没有用户访问需求的时候。
从这个角度讲,DNS 的修改也没有特别的及时性要求。在前已完成前修改好 DNS 服务器中的 A 记录、MX 记录等配置即可。
迁移
在正式迁移之前,需要关闭服务器。
然后点击 Linode 控制面板中的 migration 按钮。接下来,就是一个多小时的等待。
后续
完成迁移之后,开启 VPS,还需要注意修改服务中 IP 相关的配置。比如 shadowsocks 里的 json.config 中的 server ip。
一切顺利完成后,别忘了去 Support 界面回复 Ticket =).
如果你考虑租用 Linode 机器,而又不吝啬使用我的推荐码,本博客不胜感激=).
原文地址:http://biaobiaoqi.me/blog/2014/01/26/migrate-linode-vps-from-tokyo-to-fremont/
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
Linode跨节点迁移:从Tokyo到Fremont的更多相关文章
- 利用Snapshot快速跨Region迁移服务器
当你需要对现有的网站进行跨区域迁移,或者是部署DR Site的时候,又不希望重新部署应用,有什么好办法呢?其实你可以利用Azure的磁盘snapshot进行磁盘级的复制,这样可以减少很多部署应用的时间 ...
- mysql跨节点join——federated引擎
一. 什么是federated引擎 mysql中的federated类似于oracle中的dblink. federated是一个专门针对远程数据库的实现,一般情况下在本地数据库中建表会在数据库目录中 ...
- Spring Cloud Config Server 节点迁移引起的问题,请格外注意这一点!
前言: 虽然强烈推荐选择使用国内开源的配置中心,如携程开源的 Apollo 配置中心.阿里开源的 Nacos 注册&配置中心. 但实际架构选型时,根据实际项目规模.业务复杂性等因素,有的项目还 ...
- Redis源码解析:28集群(四)手动故障转移、从节点迁移
一:手动故障转移 Redis集群支持手动故障转移.也就是向从节点发送"CLUSTER FAILOVER"命令,使其在主节点未下线的情况下,发起故障转移流程,升级为新的主节点,而原 ...
- 虚拟化学习笔记-KVM虚拟化跨机迁移原理
参考:https://zhuanlan.zhihu.com/p/27055555 在线迁移过程划分为三个阶段:准备阶段.迁移阶段和切换阶段.迁移环境为虚拟化底层KVM+Qemu.虚拟化管理Libvir ...
- 使用ADMT和PES实现window AD账户跨域迁移-介绍篇
使用 ADMT 和 pwdmig 实现 window AD 账户跨域迁移系列: 介绍篇 ADMT 安装 PES 的安装 ADMT:迁移组 ADMT:迁移用户 ADMT:计算机迁移 ADMT:报告生成 ...
- redis跨实例迁移 & redis上云
1)redis跨实例迁移--源实例db11迁移至目标实例db30 root@fe2e836e4470:/data# redis-cli -a pwd1 -n 11 keys \* |while rea ...
- HarmonyOS新能力让数据多端协同更便捷,数据跨端迁移更高效!
作者:yijian,终端OS分布式文件系统专家:gongashi,终端OS分布式数据管理专家 HarmonyOS作为分布式操作系统,其分布式数据管理能力非常重要.我们也一直围绕持续为开发者带来全局&q ...
- dolphinscheduler简单任务定义及复杂的跨节点传参
dolphinscheduler简单任务定义及跨节点传参 转载请注明出处 https://www.cnblogs.com/funnyzpc/p/16395094.html 写在前面 dolphinsc ...
随机推荐
- Fiddler--功能简介
Fiddler的基本介绍 Fiddler的官方网站: www.fiddler2.com Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料. Fiddler是最 ...
- SiFive Unleashed启动
SiFive Unleashed启动 请仔细参看SiFive官网的文档HiFive Unleashed 使用串口连接过程 连接好硬件(电源+USB) 尝试打开电源键,检测硬件能被识别 配置minico ...
- C语言主要做哪些方面的开发---一个来自“IT技术学习”微信群的问题及答复
近期,在"IT技术学习"微信群中,有同学问了这样一个问题:C语言主要做哪些方面的开发?在这篇文章中,我想结合自身的经验,对这个问题进行下解答. C语言是计算机及其相关专业(如通信. ...
- Android之怎样用代码使编辑框等组件显示为圆角
圆角button实现 圆角button大家很常见.有时候你可能会使用ps来加工圆角图片来实现想要的效果, 今天通过简短的代码来达到这样的效果.(由于这个跟project无关.仅仅是一种效果,所以我就单 ...
- 怎样在一个fragment or 随意类中操作还有一个fragment中的方法
1 怎样在acitivty中运行fragment中的方法: 首先获得这个Fragment的对象 xxxFragment fragmentObject = (xxxFragment) getFragme ...
- 21、根据(应用程序)虚拟驱动vivi的使用过程彻底分析摄像头驱动(有ioctrl分析)
videobuf2-core.h中的vb2_buffer,记录了v4l2_buffer ,驱动可以对vb2_buffer的v4l2_buffer进行操控, vb2_buffer是v4l2框架层的代码, ...
- linux(debian)系统django配远程连接sqlserver数据库
费了将近一天时间.最终解决,记下来留给须要的人 须要安装的: python-odbc : https://github.com/mkleehammer/pyodbc下载后install 安装pytho ...
- markdown + vim
https://www.jianshu.com/p/24aefcd4ca93https://github.com/isnowfy/python-vim-instant-markdownhttps:// ...
- [ES7] Convert Any Function into an Asynchronous Function
Any function can be made asynchronous, including function expressions, arrow functions, and methods. ...
- php面试题8
php面试题8 一.总结 二.php面试题8 1.表单数据提交方式 POST 和 GET 的区别,URL 地址传递的数据最大长度是多少?$_GET 传参是请求 HTTP 协议通过 url 参数传递和接 ...