1. 程式人生 > >兩臺centos之間傳送文件

兩臺centos之間傳送文件

pre jsb des code htm 運行 www init nfs-utils

最近在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後會報錯。

  1. [root@localhost Desktop]# scp /home/data [email protected]:/home/new-data

上面的命令中/home/data 是A主機中要傳的文件夾,後面的信息是B主機的信息。

輸入上面的命令會提示輸入B主機的root 密碼,對於要傳的文件夾來說scp命令是不允許的會提示

/home/data: not a regular file

so,需要先將文件夾進行壓縮,然後再用剛才的命令進行傳遞數據

  1. [root@localhost Desktop]#tar jcvf /home/data.tar.bz2 /home/data #創建.tar.bz2文件,壓縮率高(由於數據量比較大,壓縮時間比較長)
  2. [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服務

  1. [root@localhost Desktop]# /etc/init.d/rpcbind start #輸入該命令後無反應
  2. [root@localhost Desktop]# /etc/init.d/nfs start



客戶端的配置(主機B)

(1)安裝nfs所需的軟件包(和服務器的安裝方式一樣)

(2)查看服務器共享了哪些目錄

showmount -e 192.168.1.102

會提示如下錯誤

技術分享圖片

在網上查找,發現是防火墻的問題 介紹網址 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

兩臺centos之間傳送文件