当前位置:  技术问答>linux和unix

如何在linux主机之间传送文件和文件块

    来源: 互联网  发布时间:2016-06-09

    本文导语:  这个帖子中包含的问题比较多,由于所做的内容以前没有涉及过,所以很生疏,请高手回答一下,先表示感谢!  非常感谢大家的意见和建议。我做的其实是一个磁盘的迁移项目,第一轮迁移整个磁盘,第二轮及以后采用循环...

这个帖子中包含的问题比较多,由于所做的内容以前没有涉及过,所以很生疏,请高手回答一下,先表示感谢! 

非常感谢大家的意见和建议。我做的其实是一个磁盘的迁移项目,第一轮迁移整个磁盘,第二轮及以后采用循环拷贝的方法只迁移上一轮中被写脏的磁盘块,直到临界条件满足为止(如到达循环次数最大值、脏块数量小于某个阈值等)。而这个磁盘在源主机上是以.img文件的形式存在的,所以第一步要把这个img文件传送到目的主机;第二步就是把这个img形式的磁盘挂载上(利用losetup等命令);第三和第四步就是把上一轮迁移中写脏的块写入这个img文件的相应位置,从而保持此img文件总是最新的。 

1.最近在做磁盘设备的迁移,需要把一台linux中的一个.img文件(一个linux系统的映像,大约2Gb)传送到另一台linux主机上。我首先 
  想用socket编程实现,请问具体怎样实现呢? 
2.在上一步实现以后,要把这个.img文件绑定到loop设备上,从而当做一个磁盘来进行读写,在bash命令行下有相应的命令可以实现这 
  个功能,请问能否在我上一步把img文件传过来的时候,就在目的主机同步实现呢,用c实现。 
3.如果在源主机不是发送的整个文件,而是这个img文件中的一部分在源主机被更新了,我们在内核中通过加入代码也记录下了被更新的 
  磁盘块,请问怎样编程实现把这些磁盘块传送到目的主机呢? 
4.目的主机接收到了更新的磁盘块,也就是这个img文件中的某些块,请问怎样才能把这些块写入这个img文件的相应位置呢? 

非常感谢高手的回答……还有很多的细节问题……期待中……
谢谢大家了,有什么想法大家提出来,我会认真聆听的……

|
1.用socket写一个客户端和服务器端,用标准的流IO,比如fread,fwrite。
2.用system()函数。
3.根据bitmap把数据通过socket传送到目的主机。
4.通过lseek定位,然后写入。

|
1、可以采用标准的 tcp socket 通信,类似于 ftp client / ftp server,server 监听 xx 端口上的
   连接请求;client 主动发起连接,并读取文件 img,发送文件信息(名字、长度);然后分块传输直至
   传输完成;server 接收信息,依接收名字创建文件,然后接收文件直至结束。
2、一般来说,不这样做,而是在文件传输完成后才绑定。当然,也是可以实现;直接指定长度的文件、然后
   绑定到 loop 设备上,mount 后直接进行读写。
3、更新也可以像 ftp 的支持断点续传一样,指定起始位置和长度进行更新;可以将磁盘块转换为文件形式;
   当然也可以让 server 端支持这种磁盘块方式;
4、接收到磁盘块后,计算其在文件中的起始位置,然后定位到该位置,直接写...

不过 2/3/4 貌似有点儿冲突,绑定到 loop 设备后,一般要 mount 到某个目录,后续操作就都是基于文件
操作了,貌似没法进行类似磁盘块形式的操作...

|
1.最近在做磁盘设备的迁移,需要把一台linux中的一个.img文件(一个linux系统的映像,大约2Gb)传送到另一台linux主机上。我首先 
  想用socket编程实现,请问具体怎样实现呢? 

..用socket还不如直接NFS实现呢.
2台linux主机间NFS很方便的.

你可以去鸟哥的主页看配置方法.

|
通过网络传文件,肯定用TCP socket嘛.

    
 
 

您可能感兴趣的文章:

  • Linux_centos_redhat下tar命令解压tgz文件方法
  • 用java读中文linux中的文件是正确的,用java读英文linux版本中的文件是乱码,如何使英文linux读出的文件数据也是中文的?
  • linux下nm命令(显示可执行文件的符号信息)介绍以及常见nm命令用法举例
  • Linux查找包含指定文字的文件(linux查找指定文件)
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 请问LINUX内核下,哪些文件夹下的文件是跟LINUX的硬件平台无关的?
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 请问各位linux开发大虾,linux下有类似VC中depends的工具可以查看文件调用了哪些so文件吗?
  • linux内存文件系统ramfs实现原理
  • 急::在Linux下怎么根据另一台windows或linux的文件名,去得到这个文件
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  • 我的机器装了WINDOWS2000 和 LINUX 7.3 , 请问在LINUX 中如何访问`WIN2K中的文件?同样在WIN2K中如何访问LINUX 中的文件?
  • Linux内存文件系统(ramdisk)的三种实现方式
  • 请问如何在WINDOWS中访问linux下的文件,并把Windows下的文件复制到linux下的分区中
  • 根据文件大小查找文件的find命令举例(Linux,centos,redhat)
  • linux下copy文件通常又些文件名的大小写会发生变化的,而linux又对大小写敏感,如何解决这一问题
  • Linux下glibc库文件锁:协同锁(advisory lock)和强制锁(mandatory lock)
  • Redhat Linux下用c怎么可以知道一个文件是文件夹还是真的文件?
  • Linux下u盘文件系统相关操作
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • linux下find查找文件命令详细介绍及find文件用法举例说明
  • linux中对文件排序的命令(文件夹中包含子文件)
  • 在虚拟机的LINUX下用TFTP传送WINDOWS下文件,为何不能解压
  • 哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • VMware下安装的Linux如何和windows共享目录以传送文件?
  • windowsxp下使用telnet登录上linux后,怎么传送文件?
  • 1哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • 怎么把文件传送到远程的一台linux系统里.
  • linux中登陆win2003文件服务器,传送和下载文件的命令?
  • Linux查找包含指定文字的文件(linux查找指定文件) iis7站长之家
  • 在Linux下用socket编程能直接传送结构体吗
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 各种linux版本之间以及和linux内核有什么区别啊?
  • Linux网络编程(怎样实现两个客户端之间的通信)
  • linux linux 之间共享文件夹
  • 使用ssh-keygen -t rsa建立密钥之后,可以实现两台linux主机之间的root用户免密码登陆。但无法实现两个普通用户之间免密码登陆
  • 正想学linux 请问red hat版本之间的问题
  • 怎么实现Windows和Linux之间数据的接收发送
  • windows系统和linux系统之间ping的问题!!
  • 如何在linux和windows之间共享文件????
  • 请教:不同版本的linux kernel之间的差别
  • linux与windows之间
  • 关于windows2000和linux之间的文件共享(很急)
  • linux服务器之间如何实现时间同步?
  • Linux和Unix相对WIN、NETWARE有什么好处?他们之间有什么区别?WIN、NETWARE能实现的功能LINUX和UNIX能实现吗?
  • 两台linux之间如何传输文件
  • linux 进程之间的通信问题
  • 如何实现Unix/linux服务器之间文件的相互共享?
  • linux 与 windows 之间 socket 通讯问题
  • windows和linux机器之间的互访问题
  • 关于Linux与Windows之间数据库互相访问的问题。
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3