兩台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...