两台centos之间传送文件

时间:2022-09-14 20:55:31


最近在CentOS系统中(主机A)读数据。由于A主机只是作为数据读取,具体的Deep Learning 实验,需要在主机B( CentOS )中进行,需要将主机A上的数据传输。由于主机A并不是一直开着CentOS系统,且数据量比较(40G+),所以用优盘copy的方法有点不现实,经过查找资料,发现了两种方法。


注意:两台主机都是CentOS 6.5 版本的系统,主机A:IP 192.168.1.102     主机B:192.168.1.33


1、用命令行的方式


A,B 机上的SSH都允许root登录,B主机的IP:192.168.1.33,要把A主机上的/home/data文件夹传送到主机B上,运行命令

注意:这里的scp命令,前面不能加sudo ,加上sudo后会报错。

[root@localhost Desktop]# scp /home/data root@192.168.1.33:/home/new-data


上面的命令中/home/data 是A主机中要传的文件夹,后面的信息是B主机的信息。

输入上面的命令会提示输入B主机的root 密码,对于要传的文件夹来说scp命令是不允许的会提示


/home/data: not a regular file


so,需要先将文件夹进行压缩,然后再用刚才的命令进行传递数据

[root@localhost Desktop]#tar jcvf /home/data.tar.bz2 /home/data #创建.tar.bz2文件,压缩率高(由于数据量比较大,压缩时间比较长)
[root@localhost Desktop]#tar -xvjf data.tar.bz2   #解压.tar.bz2文件

 
 


2、用NFS方式


首先稍微介绍一下NFS。

NFS( Network File System )即,网络文件系统,允许网络中的计算机之间通过TCP/IP 网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

下面看一下NFS服务器和客户端的具体配置过程

服务器的配置


(1)安装nfs 所需的包,nfs-utils 和 rpcbind,注意:在centos的一些版本中安装nfs-utils的时候会安装rpcbind

yum install -y nfs-utils

(2)修改配置文件(创建共享的文件路径)

<pre name="code" class="html">[root@localhost Desktop]#vim /etc/exports 
/home/ 192.168.1.0/24 (rw,all_squash) #文件里面添加的内容

 

其中的/home/ 是要共享的目录  192.168.1.0/24 是允许访问的主机,可以是一个IP,也可以是一个网段 。()里是共享的权限 ,其中 rw是读写,all_squash是普通用户身份

(3)修改后,启动NFS服务

[root@localhost Desktop]# /etc/init.d/rpcbind start  #输入该命令后无反应

[root@localhost Desktop]# /etc/init.d/nfs start



客户端的配置(主机B)

(1)安装nfs所需的软件包(和服务器的安装方式一样)


(2)查看服务器共享了哪些目录

showmount -e 192.168.1.102

会提示如下错误

两台centos之间传送文件


在网上查找,发现是防火墻的问题 介绍网址 NFS错误:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)


被访问的NFS服务器上的防火墙没有添加规则,我所做的处理是直接将防火墙关闭,需在服务器配置

 service iptables stop

服务器配置完后,再查看共享目录就没问题了。


(3)客户端mount nfs

mount -t nfs 192.168.1.102:/home /mnt/new_data