Linux环境下完成远程系统迁移
一、基础
了解:
netcat是个计算机网络公用程式,用来对网络连线TCP或者UDP进行读写。nc命令是netcat命令的简称,都是用来设置路由器。netcat 在2001年insecure.org对nmap用户邮件列表举办的投票被推选为第二有用的网络保全工具。2003年投票结果是第四名;2006年的投票继续稳占同样第四名宝座。 来自: https://zh.wikipedia.org/wiki/Netcat

参数:
-p<通信端口>:设置本地主机使用的通信端口;
-h:在线帮助;
-l:使用监听模式,监控传入的资料;
-z:使用输入/输出模式,只在扫描通信端口时使用。
使用:
主机:指定主机的IP地址或主机名称;
端口号:可以是单个整数或者是一个范围。
CentOSA(admin,192.168.1.1): nc -lp 1234
CentOSC(client,192.168.1.2): nc 192.168.1.1 1234
二、实验环境:
左边CentOSA为需要迁移的机器。IP为192.168.1.1

右边CentOSC为迁移至的机器,配有俩快磁盘。IP为192.168.1.2
三、传送数据(三种方法):
I-普通法:
左边CentOSA使用: dd if=/dev/sdx | nc ip port

右边CentOSC使用: nc -l port | dd of=file
这是最保守的,在进行上述操作时。应该多次匹配MD5,防止文件损坏
注意:要先开启CentOSC的netcat数据监听端口,再使用CentOS传送。
缺点:不安全(可使用iptables),耗时(操作需要多次,传送文件巨大)
II-便捷法:

这是比较便捷的,但是(满足便捷)牺牲的也比较多。
注意:这里为了演示将nc的数据经过解压直接dd至磁盘
优点:便捷,传送(经过压缩)文件小
III-安全法:

使用openssh进行传送,这是最安全的。
注意:这里使用的是openssh,不是netcat!当然,使用iptables的nc传送也可以但是比较没有隧道加密的openssh更加安全。
优点:安全,保守,可保证文件完整性。
缺点:传送慢(加密的SSH一定没有不加密的NC快)
四、克隆至磁盘
dd if=<文件所在位置> of=/dev/sd<磁盘编号>

如果迁移过程有问题可以查看我的博客关于迁移系统一文:
博客园:http://www.cnblogs.com/itxdm/p/linux_lvm.html 或
LinuxCN: https://linux.cn/article-7718-1.html
思考与其他
1、 操作前应该多次备份资料。(小心使得万年船)
2、 操作中应该多次配对MD5值(防止出现文件损坏问题)
3、 传送中(受信任)应该开启iptables安全设置(仅ACCEPT对端连接本地PORT)
4、 传送中(因特网)应该使用SSH的方式传送(Netcat传送不加密)
5、 应该使用bzip2等压缩传送时间及流量人力成本。
Linux环境下完成远程系统迁移的更多相关文章
- QT在linux环境下读取和设置系统时间(通过system来直接调用Linux命令,注意权限问题)
QT在Linux环境下读取和设置系统时间 本文博客链接:http://blog.csdn.NET/jdh99,作者:jdh,转载请注明. 环境: 主机:Fedora12 开发软件:QT 读取系统时间 ...
- 【转载】linux环境下大数据网站搬家
这里说的大数据是指你的网站数据库大小至少超过了500M,当然只有50M的网站也同样可以用这样的方法来轻松安全的实现网站搬家,前提是你使用的是linux环境下的VPS或者独立服务器. 我们假设你的网站域 ...
- mosquitto在Linux环境下的部署/安装/使用/测试
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...
- 由一个简单需求到Linux环境下的syslog、unix domain socket
本文记录了因为一个简单的日志需求,继而对linux环境下syslog.rsyslog.unix domain socket的学习.本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参 ...
- Linux环境下Hadoop集群搭建
Linux环境下Hadoop集群搭建 前言: 最近来到了武汉大学,在这里开始了我的研究生生涯.昨天通过学长们的耐心培训,了解了Hadoop,Hdfs,Hive,Hbase,MangoDB等等相关的知识 ...
- 【Jmeter自学】Linux环境下Jmeter运行
==================================================================================================== ...
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(1)——Linux环境下的图形系统简介
Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区 ...
- Linux环境下如何配置IP地址、MAC地址
Linux环境下如何配置IP地址.MAC地址 1.配置IP地址 进入配置IP地址路径,进行修改即可 cd /etc/network vim interface 加入以下内容: iface eth0 i ...
- Linux环境下的图形系统和AMD R600显卡编程(1)——Linux环境下的图形系统简介
转:https://www.cnblogs.com/shoemaker/p/linux_graphics01.html Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过 ...
随机推荐
- Opencv Harris角点检测
#include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...
- CGAffineTransformMake 矩阵变换 的运算原理(转)
1.矩阵的基本知识: struct CGAffineTransform { CGFloat a, b, c, d; CGFloat tx, ty; }; CGAffineTransform CGAff ...
- sudo问题汇总
1. 注释Defaults requiretty Defaults requiretty修改为 #Defaults requiretty, 表示不需要控制终端. 否则会出现sudo: sorry, y ...
- maven filter插件只替换了部分变量问题
maven filter简介 maven的resources插件,有一个filter的作用,能够在打包的时候,从特定文件里读取key-value对,替换配置文件中的占位符变量.很多线上线下有不同环境的 ...
- Zookeeper使用--Java API
1 创建节点 创建节点有异步和同步两种方式.无论是异步或者同步,Zookeeper都不支持递归调用,即无法在父节点不存在的情况下创建一个子节点,如在/zk-ephemeral节点不存在的情况下创建/ ...
- 633E Binary Table
传送门 分析 我们发现n特别小,所以可以从这里入手 我们记录出所有列中某一种状态的列有多少个 我们再记录出每种列最少有多少个1(原来的1的个数和取反后的个数去最小值) 于是我们可以得出对于所有列异或一 ...
- Spring查询方法的注入 为查询的方法注入某个实例
//这里是客户端的代码 当调用CreatePersonDao这个抽象方法或者虚方法的时候由配置文件返回指定的实例 为查询的方法注入某个实例 start static void Main(string[ ...
- [C#] readonly vs const
C#中的readonly和const两个关键字都可以用来定义系统变量,那两者之间有什么区别呢? 1. const变量赋值后,就不可以对其进行修改.且在定义时就需要给它赋值,使用const修饰的变量是s ...
- Creating Custom UITableViewCells with NIB files
Maksim Pecherskiy 13 November 2012 Well this sucks. Apparently these days you can only use the Inter ...
- (转)在ASP.NET MVC3 中利用Jsonp跨域访问
原文地址:http://www.cnblogs.com/skm-blog/p/3431999.html 在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用 ...