兩台linux伺服器之間實現掛載

2021-09-07 20:00:00 字數 2706 閱讀 2672

兩台linux伺服器之間實現掛載: 

服務端: 

1、首先需要在主機上設定允許掛載的目錄 

(1)修改 /etc/exports,增加共享目錄 

這裡主機是指服務端(要共享的目錄) 

/home/abcd/share *(insecure,rw,async,no_root_squash)

這裡的rw表示 讀寫許可權 * 表示將當前的目錄共享給任何ip上

最近由於專案原因需要和其他兩家公司對接,需要取對方伺服器中的影象資料,原本約定是三方都通過http協議來進行通訊,奈何對接方不配合,說檔案就在他們伺服器放著,怎麼取他們不管。所以採取將對方伺服器磁碟掛載到本地的方法來獲取。

nfs(network file system)即網路檔案系統,是freebsd支援的檔案系統中的一種,它允許網路中的計算機之間通過tcp/ip網路共享資源。在nfs的應用中,本地nfs的客戶端應用可以透明地讀寫位於遠端nfs伺服器上的檔案,就像訪問本地檔案一樣。本文的兩個linux環境分別為centos和ubuntu,其他版本類似。將ubuntu下的/home/dhcc/nfs掛載到centos下/home/shao/nfs。

ubuntu:

1.安裝配置nfs伺服器

sudo apt-get install nfs-kernel-server nfs-common

2.配置引數

vim /etc/exports 

檔案最後加入一行,注意不要加到注釋

/home/dhcc/nfs *(rw,sync,no_root_squash)      #該目錄為nfs服務根目錄,*表示允許所有的網段訪問,也可以使用具體的ip,引數詳解在最後

3.建立nfs目錄(如果配置了已存在的目標可跳過此步)

sudo mkdir /home/dhcc/nfs

4.檢視配置是否生效

exportfs -r  #更新配置

showmount -e

如果生效會顯示

export list for ubuntu:

home/dhcc/nfs

5.重啟nfs服務

/etc/init.d/nfs-kernel-server restart 

centos:

1.建立掛載目錄(如果已存在請跳過)

mkdir /home/shao/nfs

2.安裝nfs-utils

yum install nfs-utils

2.mount掛載

mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs      #ubuntu的ip為10.18.105.116

3.開機自動掛載

vim /etc/rc.local 

新增一行

sudo mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs

如果出現mount.nfs:access denied by server while mounting問題,可通過以下幾種途徑嘗試解決:

1.修改需掛載的nfs目錄許可權

chmod 755 /home/dhcc/nfs

2.如果埠號大於1024,則需要將 insecure 選項加入到配置檔案(/etc/exports):

vim /etc/exports 

檔案最後加入一行

/home/dhcc/nfs *(insecure,rw,sync,no_root_squash)  

3.修改/etc/sysconfig/nfs檔案

# turn off v2 and v3 protocol support 

#  rpcnfsdargs="-n 2 -n 3" 

# turn off v4 protocol support 

#rpcnfsdargs="-n 4"    /*把這句話的#號去掉*/

nfs分為三個版本,即nfs-2 nfs-3 nfs-4,該配置檔案預設關閉了這三個的nfs版本,我們只需要開啟nfs-4即可。

附錄:nfs常用引數如下:

ro 唯讀訪問

rw 讀寫訪問sync 所有資料在請求時寫入共享

async nfs在寫入資料前可以響應請求

secure nfs通過1024以下的安全tcp/ip埠傳送

insecure nfs通過1024以上的埠傳送

wdelay 如果多個使用者要寫入nfs目錄,則歸組寫入(預設)

no_wdelay 如果多個使用者要寫入nfs目錄,則立即寫入,當使用async時,無需此設定。

hide 在nfs共享目錄中不共享其子目錄

no_hide 共享nfs目錄的子目錄

subtree_check 如果共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的許可權(預設)

no_subtree_check 和上面相對,不檢查父目錄許可權

all_squash 共享檔案的uid和gid對映匿名使用者anonymous,適合公用目錄。

no_all_squash 保留共享檔案的uid和gid(預設)

root_squash root使用者的所有請求對映成如anonymous使用者一樣的許可權(預設)

no_root_squas root使用者具有根目錄的完全管理訪問許可權

anonuid=*** 指定nfs伺服器/etc/passwd檔案中匿名使用者的uid

anongid=*** 指定nfs伺服器/etc/passwd檔案中匿名使用者的gid

如何實現兩台Linux伺服器在區域網之間傳輸檔案

1.1 實驗環境 伺服器作業系統 centos6.7 192.168.24.37 客戶端作業系統 centos6.7 192.168.24.36 虛擬機器 vmware workstation 1.2 實驗背景 從一台伺服器上的檔案遠端複製到另一台伺服器上的方法很多,今天在這裡sky採用linux ...

兩台Linux伺服器建立信任關係

如果在兩台linux伺服器之間經常需要互相訪問,但是需要經常手動輸入密碼,可以在兩台伺服器之間建立乙個信任連線,然後把鑑權檔案寫到乙個檔案裡 步驟1 先在主機a使用命令建立金鑰 步驟二 在 root ssh目錄裡面看到建立的金鑰 ls root ssh 步驟三 把id rsa.pub檔案複製到主機b...

兩台Linux伺服器上實現檔案傳輸

要在兩台linux伺服器之間傳輸資料夾。linux命令選擇是scp,scp命令的基本格式如下 以上埠p 為引數,port 埠 user 為遠端伺服器的使用者 serverip 為遠端伺服器ip或者網域名稱 第乙個 home user filename 為要傳輸的遠端伺服器的檔名 第二個 home u...