NFS服務器搭建
1.yum install nfs-utils -y
2.vi /etc/exports
/nfsdata 192.168.30.0/24 (insecure,rw,async,no_root_squash) 括號里面的設置一定要這么寫 否則掛載后root用戶都沒有寫的權限
ro:read-only,只讀;
sync:文件同時寫入硬盤和內存;由於我們的日志需要同步寫,所有用sync選項。
async:文件暫存於內存,而不是直接寫入內存;
no_root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。
root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,擁有匿名用戶權限,通常他將使用nobody或nfsnobody身份;
all_squash:不論NFS客戶端連接服務端時使用什么用戶,對服務端分享的目錄來說都是擁有匿名用戶權限;
anonuid:匿名用戶的UID值,通常是nobody或nfsnobody,可以在此處自行設定;
anongid:匿名用戶的GID值。
NFS客戶端
yum install nfs-utils -y
showmount -e 192.168.30.1
Rancher創建NFS的PV
1.只能手動添加PV 不能自動創建PV
2.創建PVC
到這里是完成了PV和PVC的綁定 這個PV一旦和某個PVC完成綁定后就不能再被其他的PVC綁定。也就是說NFS服務中的一個目錄只能被mount一次 不能多次mount
3.工作負載和PVC的綁定
4.在pod所在的主機上查看volume的掛載情況
pod中的某個目錄當成了nfs的客戶端掛載到了NFS服務器的遠程目錄形成了一個共享卷
5.查看不同pod中掛載路徑
NFS共享存儲方式二
搭建好NFS服務器后 不一定要使用PV和PVC的機制來實現共享存儲
把nfs服務器掛載到每個主機的目錄 然后在容器中映射到指定的主機目錄一樣可以實現多個容器的共享讀寫
在每個主機目錄掛載 mount -t nfs -o rw 192.168.30.109:/nfsdata nfsdata
遠程目錄的數據已經映射到本地主機的對應目錄 然后再添加主機映射卷即可.在映射卷的主機目錄指定為本機掛載目錄即可
NFS服務端跨防火牆
在配置好一台NFS服務器,建立好分享目錄,刷新配置以后,在另一台客戶機中使用showmount -e 出現報錯:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
1.修改NFS服務端的配置文件並重啟NFS服務
2.客戶端連接服務端
3.開放服務端端口
4.連接成功
Linux之間實現文件共享
1.安裝包占用的空間超過幾十G
2.使用scp拷貝的時候網速很慢