多個服務器之間需要共享文件,通過NFS服務共享是一個簡單的方法
1、在作為NFS服務端的主機上新掛載了一塊硬盤
現將其分區和格式化
fdisk /dev/sdb 輸入n,然后一路默認最后輸入w,完成分區 然后格式化 mkfs.ext4 /dev/sdb1 然后掛載到目錄 mkdir -p /nfs-data; mount /dev/sdb1 /nfs-data 將下面信息寫入/etc/fstab文件,讓系統開啟自動掛載 /dev/sdb1 /nfs-data ext4 defaults 0 0
查看已經掛載成功
2、在當做NFS服務端和客戶端的主機上都安裝NFS組件
yum -y install nfs-utils 其實還需要rpcbind組件的,不過安裝nfs-utols的時候回自動連帶安裝了 設置開機啟動,關閉防火牆 systemctl enable rpcbind.service; systemctl enable nfs-server.service
systemctl stop firewalld
3、編輯exports文件,配置哪些主機可以使用
/nfs-data 10.110.30.0/24(rw,sync,no_root_squash,no_wdelay) 第一部分/nfs-data是要共享的目錄 第二部分10.110.30.0/24是有權限使用共享目錄的地址段,也可以直接寫一些IP地址,例如10.110.30.2(rw,sync,no_root_squash,no_wdelay) 10.110.30.3(rw,sync,no_root_squash,no_wdelay) 第三部分是具體權限: rw表示可讀寫,ro只讀 sync :同步模式,內存中數據實時寫入磁盤; async :不同步,數據在內存中,定期寫入磁盤 no_root_squash :加上這個選項后,root用戶就會對共享的目錄像是對本機的目錄一樣擁有最高權限。 root_squash:和上面的選項對應,root用戶對共享目錄的權限不高,只有普通用戶的權限 all_squash:不管使用NFS的用戶是誰,他的身份都會被限定成為一個指定的普通用戶身份 anonuid=xxx/anongid=xxx :要和root_squash 以及all_squash一同使用,用於指定使用NFS的用戶限定后的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid
4、啟動服務
服務端兩個都需要啟動,客戶端只需要啟動rpcbind即可 systemctl start rpcbind; systemctl start nfs; 確認NFS服務器啟動成功(能看到有名叫nfs的服務): rpcinfo -p 查看主機對外共享的目錄以及客戶端ip段信息 showmount -e 需要查看的服務端ip 例如 showmount -e 10.110.30.216
5、現在客戶端就可以將nfs的目錄掛載到本地來使用了
mkdir /nfs-data; mount -t nfs 10.110.30.216:/nfs-data /nfs-data
可以df -h看一下掛載情況,也可以本地寫入文件,去服務端查看一下是否同步成功