NFS通常用於網路中的多台電腦實現共用存儲。 由於測試環境沒有購買阿裡雲的NFS,所以自己搭建一個NFS文件系統,實現一些比如上傳圖片,靜態資源等同享功能。 下麵的測試是在CentOS release 6.8 (Final)中進行的。其他的系統略有不同。 網路環境 :nfs伺服器IP: 192.1 ...
NFS
通常用於網路中的多台電腦實現共用存儲。
由於測試環境沒有購買阿裡雲的NFS,所以自己搭建一個NFS文件系統,實現一些比如上傳圖片,靜態資源等同享功能。
下麵的測試是在CentOS release 6.8 (Final)
中進行的。其他的系統略有不同。
網路環境 :
nfs伺服器IP: 192.168.18.183
nfs客戶端IP: 192.168.18.182
伺服器安裝
yum install nfs-utils rpcbind |
配置需要共用的目錄
more /etc/exports
/home/www *(rw,async,no_root_squash,no_subtree_check) |
關於配置文件exports
的一些參數說明
rw:read-write,可讀寫;
ro:read-only,只讀;
sync:同步寫入(文件同時寫入硬碟和記憶體),適用在通信比較頻繁且實時性比較高的場合
async:非同步寫入(文件先寫入記憶體,稍候再寫入硬碟),性能較好(速度快),適合超大或者超多文件的寫入,但有數據丟失的風險,比如突然斷電等情況;
root_squash(預設):將來訪的root用戶映射為匿名用戶或用戶組;
no_root_squash:來訪的root用戶保持root帳號許可權(可能會不安全);
no_all_squash(預設):訪問用戶先與本機用戶匹配,匹配失敗後再映射為匿名用戶或用戶組;
all_squash:將來訪的所有用戶映射為匿名用戶或用戶組;
secure(預設):限制客戶端只能從小於1024的tcp/ip埠連接伺服器;
insecure:允許客戶端從大於1024的tcp/ip埠連接伺服器;
anonuid:匿名用戶的UID值,通常是nobody或nfsnobody,可以在此處自行設定;
anongid:匿名用戶的GID值;
no_subtree_check:如果NFS輸出的是一個子目錄,則無需檢查其父目錄的許可權(可以提高效率)
啟動nfs伺服器
service rpcbind start service nfs start |
查看是否啟動成功,能看到前面在/etc/exports
文件中設置的共用目錄 則可以認為啟動成功了。
showmount -e localhost Export list for localhost: /home/www * |
客戶端安裝
客戶端也是需要安裝這兩個軟體 區別是安裝好之後不需要啟動。
yum install nfs-utils rpcbind |
掛載NFS目錄
掛載的時候需要註意的是 如果掛載的目錄當前已經存在 掛載後預設會覆蓋掉。
mount -t nfs 192.168.18.183:/home/www /home/www
這個時候就掛載成功了,嘗試修改客戶端/home/www
的文件 會立即同步到服務端的/home/www
下麵。同時服務端更新了文件也會立即同步到客戶端。
如果文件很大的話 會有一個網路延時,所以這個需要權衡 當然內網傳輸還是很快的。