CentOS 下實現兩台伺服器之間的共享NFS

2021-09-06 10:34:31 字數 4078 閱讀 3261

nfs的安裝配置:

centos 5 :

yum install nfs-utils portmap

centos 6 :

yum install nfs-utils rpcbind

yum install nfs-utils rpcbind

伺服器端: 

###(建立掛載的目錄,並且掛載目錄。)

編輯或新建以下檔案

vi /etc/exports

我就寫了乙個/home/jackluo/downloads *(rw,sync);

配置引數如下

centos系統中,當主機名或ip位址為空時,則代表共享給任意客戶機提供服務。

當將同一目錄共享給多個客戶機,但對每個客戶機提供的許可權不同時,可以這樣:

[共享的目錄] [主機名1或ip1(引數1,引數2)] [主機名2或ip2(引數3,引數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_squash          root使用者具有根目錄的完全管理訪問許可權  

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

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

配置檔案/etc/exports內容如下:

$ cat /etc/exports

/home/share 192.168.102.15(rw,sync) *(ro)

(啟動對應的服務)

chkconfig nfs on 開機啟用

/etc/init.d/rpcbind start 

/etc/init.d/nfs start 啟動

service iptables stop 停用防火牆

也可以vi /etc/sysconfig/iptables

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 111 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 111 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 2049 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 2049 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 875 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 875 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 892 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 892 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 32803 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 32769 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 1001 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 1001 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 1002 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 1002 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 1003 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 1003 -j accept

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 1004 -j accept

-a rh-firewall-1-input -m state --state new -m udp -p udp --dport 1004 -j accept

/etc/init.d/iptables restart #最後重啟防火牆使配置生效

防火牆埠說明:

portmap或者rpcbind(centos 6.x)使用:tcp/udp 111

nfs使用:tcp/udp 2049

mountd使用: tcp/udp 892

rquotad使用:tcp/udp 875

status使用: tcp/udp 1001-1004共四個埠

nlockmgr使用:tcp/32803埠 udp/32769埠

客戶端:

yum install nfs-utils rpcbind

service iptables stop

showmount -e 192.168.1.168 測試一下是否可用

mount -t nfs 192.168.1.168:/opt/centos6/  /opt/centos6/ 掛載

ls -a

ok可能會報的錯

服務端啟動的時候 starting nfs quotas: rpc.rquotad: cannot bind to given address: address already in use

客戶端 mount.nfs: access denied by server while mounting 192.168.3.12:/home/lzgonline/rootfs

比較簡單的解決辦法 

/etc/init.d/rpcbind stop 先停掉

再service nfs restart 肯定報錯

再/etc/init.d/rpcbind start 開啟

service nfs start

ok

兩台伺服器ssh授權

兩台機子ip 192.168.171.23 192.168.171.22 目標要實現 ssh www 192.168.171.22 hostname 不要輸入密碼 23機子操作 ssh keygen t rsa直接3個回車 cd sshscp r id rsa.pub 192.168.171.22 ...

兩台伺服器搭建zookeeper集群

兩台伺服器搭建zookeeper集群 zookeeper做三節點集群,啟動後報錯如下 root centos conf zkserver.sh start zookeeper jmx enabled by default using config usr local src zookeeper 3....

Linux scp 兩台伺服器傳輸檔案

引用 設有兩機,均為區域網,兩機可相互通訊無問題,中間無防火牆。兩機ip分別為 a 192.168.1.240 b 192.168.1.102 假設a,b機的ssh都允許root登入 設要把 a上的 root abc.zip 傳到 b機並放到 abc目錄,可以在a機上用命令 scp root abc...