NFS 安裝與配置
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
下面。同時服務端更新了文件也會立即同步到客戶端。
如果文件很大的話 會有一個網絡延時,所以這個需要權衡 當然內網傳輸還是很快的。
NFS 安裝與配置