當我們系統採用負載均衡的時候,多個服務器中的附件需要同步 附件。教程如下:
可以參考地址 :
http://it.keydatas.com/html/nfs.html
NFS配置
檢查軟件包是否已安裝
rpm -q nfs-utils
rpm -q rpcbind
一、在A機上安裝 NFS 服務器所需的軟件包:
yum install -y nfs-utils
(實際上需要安裝兩個包nfs-utils和rpcbind, 不過當使用yum安裝nfs-utils時會把rpcbind一起安裝上)
二、編輯exports文件,添加從機
vi /etc/exports
/home/nfs 192.168.0.1(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0)
配置說明:
這一行分爲三個部分:
第一部分:/home/nfs ,這個是本地要共享出去的目錄。
第二部分:192.168.0.1/24 ,此處爲掛載服務器的ip,允許訪問的主機,可以是一個IP:192.168.0.1,也可以是一個IP段:192.168.0.1/24
第三部分:括號中部分。
rw表示可讀寫,ro只讀;
sync :同步模式,內存中數據時時寫入磁盤;
async :不同步,把內存中數據定期寫入磁盤中;
no_root_squash :加上這個選項後,root用戶就會對共享的目錄擁有至高的權限控制,就像是對本機的目錄操作一樣。不安全,不建議使用;
root_squash : 和上面的選項對應,root用戶對共享目錄的權限不高,只有普通用戶的權限,即限制了root;
all_squash :不管使用NFS的用戶是誰,他的身份都會被限定成爲一個指定的普通用戶身份;
no_all_squash
anonuid/anongid :要和root_squash 以及all_squash一同使用,用於指定使用NFS的用戶限定後的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid。
fsid=0表示將/home/nfs整個目錄包裝成根目錄
這個配置文件也可以這樣寫:
/data_test 192.168.43.*(rw,root_squash,all_squash,sync,anonuid=1000,anongid=1000,no_subtree_check)
/data_test 192.168.1.*(rw,root_squash,all_squash,sync,anonuid=1000,anongid=1000,no_subtree_check)
/nfs_data 192.168.1.0(rw,root_squash,all_squash,sync,anonuid=1000,anongid=1000,no_subtree_check)
/nfs_data 192.168.1.0(rw,sync,all_squash,anonuid=0,anongid=0)
加入第二行,anonuid=0,anongid=0即爲root用戶id。
3、讓修改過的配置文件生效
exportfs -arv
三、啓動A機上nfs服務
先爲rpcbind和nfs做開機啓動:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
驗證是否開機啓動
systemctl list-unit-files
然後分別啓動rpcbind和nfs服務:
systemctl start rpcbind.service
systemctl start nfs-server.service
確認NFS服務器啓動成功:
rpcinfo -p
通過查看service列中是否有nfs服務來確認NFS是否啓動。
showmount -e 10.2.195.70 #這是主機ip
查看可掛載目錄及可連接的IP
四、關閉A機上的防火牆或者給防火牆配置nfs的通過規則
centos7版本對防火牆進行 加強,不再使用原來的iptables,啓用firewall
1.查看已開放的端口(默認不開放任何端口)
firewall-cmd --list-ports
2.開啓80端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和訪問類型) --permanent(永久生效)
3.重啓防火牆
firewall-cmd --reload
4.停止防火牆
systemctl stop firewalld.service
5.禁止防火牆開機啓動
systemctl disable firewalld.service
6.刪除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
2.centos7以下版本
1.開放80,22,8080 端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2.保存
/etc/rc.d/init.d/iptables save
3.查看打開的端口
/etc/init.d/iptables status
4.關閉防火牆
1) 永久性生效,重啓後不會復原
開啓: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啓後復原
開啓: service iptables start
關閉: service iptables stop
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和訪問類型) --permanent(永久生效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#nfs-utils和rpcbind相關端口
firewall-cmd --zone=public --add-port=111/tcp --permanent
firewall-cmd --zone=public --add-port=111/udp --permanent
firewall-cmd --zone=public --add-port=976/tcp --permanent
firewall-cmd --zone=public --add-port=976/udp --permanent
firewall-cmd --zone=public --add-port=2049/tcp --permanent
firewall-cmd --zone=public --add-port=2049/udp --permanent
firewall-cmd --zone=public --add-port=966/tcp --permanent
firewall-cmd --zone=public --add-port=966/udp --permanent
firewall-cmd --zone=public --add-port=33993/tcp --permanent
firewall-cmd --zone=public --add-port=33993/udp --permanent
五、在B,C機上配置clinet端
1、安裝nfs,並啓動服務。
yum install -y nfs-utils
systemctl enable rpcbind.service
systemctl start rpcbind.service
客戶端不需要啓動nfs服務,只需要啓動rpcbind服務.
客戶端掛載NFS服務端:
查看可掛載目錄及可連接的IP
showmount -e 192.168.43.205
mount -t nfs 192.168.43.205:/data_test2/ /data_test2/
卸載掛載:umount /data_test/
mount -t nfs 10.2.195.70:/nfs_data/ /nfs_data/
讀寫權限問題:
chmod 777 /home/user 注:僅把/home/user目錄的權限設置爲rwxrwxrwx
將目錄的所屬用戶組變更爲wangdl
chgrp -R wangdl /data_test
給組成員設置讀寫權限
chmod -R 0760 /data_test
ls -l /data_test
chown -R wangdl:wangdl /data_test2
將目錄 /tmp/src 中所有文件的所有者和組更改爲用戶 wangdl 和組 wangdl
chown -R user:user /nfs_data
六、在服務器端A再建立一個共享目錄,並且可以允許A、B、C寫入共享目錄
1、在B、C機上取得使用NFS用戶的ID號
#id wangdl
2、在A服務器上再建立一個共享目錄
mkdir /home/nfs1
# vi /etc/exports
/home/nfs 192.168.222.201(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0)
/home/nfs1 192.168.222.0/24(rw,sync,all_squash,anonuid=0,anongid=0)
加入第二行,anonuid=0,anongid=0即爲root用戶id。
3、讓修改過的配置文件生效
exportfs –arv
客戶機上卸載舊目錄,掛載新目錄即可。
6.想在客戶機B、C上實現開機掛載,則需要編輯/etc/fstab:
vi /etc/fstab
加入以下內容:
192.168.43.205:/data_test2 /data_test2 nfs nolock 0 0
10.2.195.70:/nfs_data /nfs_data nfs nolock 0 0
保存後,重新掛載
mount -a