? ? ? ? ? ?服務端創建共享目錄, 客戶端實現自動掛載??
?? 第一步 : 客戶端,服務端 均關閉安全軟件?
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld [root@node1 ~]# setenforce 0
[root@node1 ~]# systemctl stop firewalld
? ? 第二步 : 安裝軟件?
[root@server ~]# yum nfs-utils -y
[root@server ~]# yum install rpcbind -y [root@node1 ~]# yum install nfs-utils -y
[root@node1 ~]# yum install rpcbind -y
[root@node1 ~]# yum install autofs -y
? ? ?注 :? 客戶端增加一個 自動安裝軟件 autofs??
? ? ?第三步 : 服務端操作, 編輯配置文件?
[root@server ~]# vim /etc/exports # 打開配置文件,添加下示內容
/data *(ro)
? ? ? ?比如我們將 共享目錄放到 根目錄下的data???: /data ? ? ?
???????然后?設為 *? 即 任意主機都可訪問 ,? ??
? ? 第四步 : 服務端操作, 建立共享目錄并設置權限?
[root@server ~]# mkdir /data
[root@server ~]#
[root@server ~]# chmod -Rf 777 /data
[root@server ~]#
[root@server ~]# echo " this is test " > /data/file.txt
定位到服務端, 創建共享目錄 /data , 設置權限為 777 ( 就是給個權限,并不是非要 777 )
不設置權限也行,按照默認的權限也可以 ~!!
我們再添加一句話來顯示實驗最后做成功能有個 標志 。
? ? ? ?
? ??
?第五步 :? 服務端操作, 重啟服務, 必須先啟動 rpcbind (? 注 意這個次序 )?
[root@server ~]# systemctl start rpcbind
[root@server ~]#
[root@server ~]# systemctl start nfs-server
[root@server ~]#
[root@server ~]# systemctl enable rpcbind
[root@server ~]# systemctl enable nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service ?/usr/lib/systemd/system/nfs-server.service.
[root@server ~]#
? ? ?注意次序(啟動的次序),并設置了 開機啟動?
?第六步 : 客戶端操作, 編輯自動掛載的主配置文件,若設計客戶端掛載目錄為:? /nfs/testmnt
[root@node1 ~]# vim /etc/auto.master
.....................
/nfs /etc/auto.nfs # 在第八行添加內容 /nfs : 被掛載的父目錄 ,不需要新建auto.nfs 名稱任意
客戶端不是要訪問到遠程的文件 ( 即 訪問 服務端的目錄 /data ), 那客戶端的本地也得有個掛
載目錄的, 前面說過了,父和子,兩級,我們得設計一下;?
比如說,要掛到? ?/nfs/testmnt ,? ?/nfs 就為父目錄,? testmnt 即為子目錄 。?
? ?第七步 : 客戶端操作,查看共享信息,編寫 autofs 的子配置文件?
[root@node1 ~]# showmount -e 192.168.229.130
Export list for 192.168.229.130:
/data *
上面的 IP 就是服務端的IP? ( 即 誰共享,就寫誰的IP )?
就可以看到這臺服務器( 192.168.229.130 ) 共享的就是 /data 。共享的方式是 * (任意)
? ? ? ? ??
[root@node1 ~]# vim /etc/auto.nfs
testmnt 192.168.229.130:/data
編寫自動掛載的子配置文件, 別忘了,我們之前在主配置文件已經聲明了 存儲路徑和名稱
?/etc/auto.nfs? ( 這個文件目前還沒存在,所以我們得創建 vim 即可)?
在子配置文件里,再進行編輯?( 被掛載的子目錄 即 testmnt,? 和? ?被掛載的服務器的IP 及目錄
/data )?
?第八步 : 客戶端操作,啟動服務,測試觸發自動掛載?
[root@node1 ~]# systemctl start autofs [root@node1 ~]# ls /
afs dev lib misc nfs proc sbin tmp
bin etc lib64 mnt nfsfile_khd root srv usr
boot home media net opt run sys var
[root@node1 ~]#
? ? ? ? ? ?我們使用 ls /? 展示出來的 便有一個? 是? nfs? ?
? ? ? ? ? ?而 nfs 這個目錄 ,我們上面有進行 mkdir 創建嘛 ????
? ? ? ? ? ?===>>>
? ? ? ? ? ?沒有~!!!!? 我們并沒有主動創建 nfs 這個目錄
? ? ? ? ? ?那為什么會顯示出來 有 nfs 這個目錄呢 ???
? ? ? ? ? ?===>>>
? ? ? ? ? ?注意,前面也講過,只要重啟 auto自動掛載服務,父目錄則會自動創建~!!!
? ? ? ? ? ?
? ? ? ? ? ?現在用 df -h 這個命令 查看下??
? ? ? ? ? ?===>>>?
? ? ? ? ?我們并沒有找到 /data 這個目錄, 那就說明沒有掛載上 ~!!!
? ? ? ? ? 那關鍵問題就來了, 怎樣觸發 自動掛載呢 ??
? ? ? ? ? ?===>>>
? ? ? ? ? ? 只有一個方式,就是 進入子目錄( cd 子目錄) 只要 cd 進去,那就自動掛載上了 ~!!!
? ? ? ? ? ?===>>>? ??
[root@node1 ~]# cd /nfs # 進父目錄
[root@node1 nfs]# ls # 看父目錄里有啥
[root@node1 nfs]# # 啥都沒有
[root@node1 nfs]#
[root@node1 nfs]# cd testmnt # 進入子目錄
[root@node1 testmnt]# ls # 顯示有文件,說明 自動掛載成功
file.txt
[root@node1 testmnt]# cat file.txt this is test [root@node1 testmnt]# cd
我們先進了父目錄, 瀏覽下,里面啥都沒有, 然后,便是關鍵一步, 我們在父目錄里進入子目錄
( testmnt ) ,再瀏覽下,便顯示出 file.txt ,我們查看 file.txt 便顯示了我們最前面講的,驗證自動
掛載成功的標志的那句話 ~!!
這就充分說明了? 自動掛載成功 ~!!!!( 就在 cd 子目錄 那一刻便成功了 )?
?cd 子目錄,自動掛載成功,其實 cd 進去的不是客戶端上的目錄, 而是遠程服務端的 /data 目錄
上示最后一行的 cd 命令 是表示 : 只要 執行了 cd 命令 隨便切換到其它什么目錄,那么自動掛載就會在五分鐘后卸載掉 ~!!!?