阿裡雲上給ECS主機新加了一塊磁盤,需要挂載到另一個雲主機内網,存放系統日志。
阿裡雲新購買的磁盤時綁定主機的,是以隻能通過nfs的方式給挂載到日志主機上面。
一、安裝 NFS 伺服器所需的軟體包:
1 | |
二、編輯exports檔案,添加從機
1 2 | /logwarehouse 192.168.0.7(rw,all_squash,anonuid=0,anongid=0) |
192.168.0.7 機器可以挂載NFS伺服器上的/data目錄到自己的檔案系統中
rw表示可讀寫;sync表示同步寫,(不要包含fsid=0!!!表示将/data找個目錄包裝成根目錄,否則從機切換到非root使用者後,再通路挂載後端分區,提示permission denied錯誤!)具體參數說明點選這裡
×××××參數說明
- #:允許ip位址範圍在192.168.0.*的計算機以讀寫的權限來通路/home/work 目錄。
- /home/work 192.168.0.*(rw,sync,root_squash)
- /home 192.168.1.105 (rw,sync)
- /public * (rw,sync)
- 配置檔案每行分為兩段:第一段為共享的目錄,使用絕對路徑,第二段為用戶端位址及權限。
- 位址可以使用完整IP或網段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0當然也可以位址可以使用主機名,DNS解析的和本地/etc/hosts解析的都行,支援通配符,例如:*.chengyongxu.com
- 權限有:
- rw:read-write,可讀寫; 注意,僅僅這裡設定成讀寫用戶端還是不能正常寫入,還要正确地設定共享目錄的權限,參考問題7
- ro:read-only,隻讀;
- sync:檔案同時寫入硬碟和記憶體;
- async:檔案暫存于記憶體,而不是直接寫入記憶體;
- no_root_squash:NFS用戶端連接配接服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。
- root_squash:NFS用戶端連接配接服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,擁有匿名使用者權限,通常他将使用nobody或nfsnobody身份;
- all_squash:不論NFS用戶端連接配接服務端時使用什麼使用者,對服務端分享的目錄來說都是擁有匿名使用者權限;
- anonuid:匿名使用者的UID值,通常是nobody或nfsnobody,可以在此處自行設定;
- anongid:匿名使用者的GID值。
三、啟動nfs服務
先為rpcbind和nfs做開機啟動:
1 2 | |
然後分别啟動rpcbind和nfs服務:
1 2 | |
确認NFS伺服器啟動成功:
1 | |
檢查 NFS 伺服器是否挂載我們想共享的目錄 /data:
1 2 3 4 | |
四、在從機上安裝NFS 用戶端
首先是安裝nfs,同上,然後啟動rpcbind服務
先為rpcbind做開機啟動:
1 | |
然後啟動rpcbind服務:
1 | |
注意:用戶端不需要啟動nfs服務
檢查 NFS 伺服器端是否有目錄共享:
1 | |
在從機上使用 mount 挂載伺服器端的目錄/data到用戶端某個目錄下:
1 2 3 | |
想在客戶機上實作開機挂載,則需要編輯/etc/rc.d/rc.local
1 2 3 | mount -t nfs 192.168.0.6:/logwarehouse /logwarehouse |
用戶端挂載後,寫檔案時可能會報一個權限問題:Permission denied。
解決這個問題可以修改nfs主伺服器/etc/exports檔案,改成如下內容:
1 2 3 | |
檢視伺服器uid
1 2 | |
重新讀取NFS配置檔案:
1 | |
可使用如下指令檢視配置
1 | |