目錄
任務要求
思路總結
1.NFS共享服務
服務端? (ip? ?192.168.48.128)
客戶端?(ip? ? 192.168.48.130)
?2.配置autofs自動掛載
任務要求
? ? ? ? 1.NFS服務器,可以讓PC將網絡中的NFS服務器共享的目錄掛載到本地端的文件系統中,而在本地端的系統中看來,那個遠程主機的目錄就好像是自己的一個磁盤分區一樣。
注意:在啟動NFS之前,要先啟動RPC,否則NFS會無法向RPC注冊。另外,RPC若重新啟動,原來注冊的數據會消失不見,因此RPC重啟后,它管理的所有服務都需要重新啟動以重新向RPC注冊。
? ? ? ? 2.配置autofs自動掛載,由于網絡的問題,NFS服務器與客戶端的連接不會一直存在,當我們掛載了NFS服務器之后,任何一方脫機都可能造成另外一方等待超時。為了解決這樣的問題,就出現了下面的想法:
- 當客戶端在有使用NFS文件系統的需求時才讓系統自動掛載。
- 當NFS文件系統使用完畢后,讓NFS自動卸載。于是就產生了autofs這個服務。
思路總結
????????NFS 服務端(192.168.48.128)安裝服務、關防火墻和 SELinux,配置 /etc/exports 后重啟。客戶端(192.168.48.130)裝服務、關防火墻,查看共享,建 /nfsclient/client-data 并掛載服務端 /data,不用時需要斷開。autofs自動掛載是在客戶端裝 autofs,改主和子配置文件,重啟服務,卸載,遇忙時用 fuser 查占用程序。
1.NFS共享服務
服務端? (ip? ?192.168.48.128)
NFS服務安裝,關閉防火墻和SElinux
yum install rpcbind? ??
yum install nfs-utilssetenforce 0 #關閉selinux
systemctl stop firewalld.service
?開放共享文件
su root???????????????????????????????? #切換身份
mkdir /data? ? ? ? ? ? ? ? ? ? ? ? ? #創建共享目錄
chmod 777 /data ????????????????#開放共享文件權限
cat /etc/exports? ? ? ? ? ? ? ? ? ?#查看nfs服務配置,如果沒有內容就新建并寫入如下
?重啟服務
systemctl restart nfs-server? ? ? ? ? #重啟nfs服務器
showmount -e 192.168.42.128? ? #查看共享是否生效
?參數說明
#可以使用完整的IP或者是網絡號,
例如172.24.8.128或172.24.8.0/24或者172.24.8.128/255.255.255.0;也可以使用*表示所有主機
/mnt/nfs *(ro,sync,no_root_squash,no_subtree_check)
/mnt/zuoye *(rw,sync,no_root_squash,no_subtree_check)
#權限相關參數可以寫多個,多個參數之間用逗號隔開,具體相關參數說明如下:
1、rw和ro:該目錄分享的權限是可擦寫 (read-write) 或只讀 (read-only),
但最終能不能讀寫,還是與文件系統的 rwx 及身份有關。
2、sync和async:sync 代表數據會同步寫入到內存與硬盤中,
async 則代表數據會先暫存于內存當中,而非直接寫入硬盤!
3、no_root_squash和root_squash:
想要開放客戶端使用 root 身份來操作服務器的文件系統,那么這里就得要開 no_root_squash 才行。
而all_squash,不論登入 NFS 的使用者身份為何都會被壓縮成為匿名用戶,就是 nobody(nfsnobody) 。4、anonuid和anongid
anonuid 指的是 UID,而 anongid 則是群組的GID
5、subtree_check和no_subtree_check
可選參數。當使用'subtree_check'選項時,NFS導出系統將確保每個客戶端都只能訪問其訪問的目錄
及其下的子目錄,并防止客戶端訪問樹外的目錄。這會增加一些額外的性能開銷,但通常是推薦的
安全性設置。
而當使用'no_subtree_check'選項時,NFS導出系統將不會檢查客戶端訪問的目錄是否在其訪問的樹內,
這意味著客戶端將能夠訪問其訪問范圍之外的目錄,但也會減少導出系統的負載并提高性能。
請注意,這些選項的默認行為已在較新版本的nfs-utils中更改。在沒有指定這些選項的情況下,
將會默認使用'no_subtree_check'
客戶端?(ip? ? 192.168.48.130)
1.? 服務安裝,關閉防火墻
yum install rpcbind
yum install nfs-utils
setenforce 0 ????????????????????????????????#關閉selinux
systemctl stop firewalld.service
2.? 查看共享是否生效
3.? ?在客戶端機器上一次創建兩個層級目錄,分別如下
????????mkdir -p /nfsclient/client-data/
4.? 將服務器 192.168.42.128的 data 目錄映射(掛載) 到本機(客戶機的)
/nfsclient/client-data 下面,以后在客戶端操作這個目錄就相當于遠程操作服務器
的 /data 目錄。
mount 192.168.42.128:/data /nfsclient/client-data/?
5.? 查看共享目錄是否生效
ls /nfsclient/client-data/ 共享生效
?????????#看的是本機的目錄,但是實際內容卻是遠程服務器上的共享目錄。可以在本機的增,刪,改,查 映射到目標服務器上。
6.? 不用內容的時候記得 及時斷開映射關系,不要長時間連接。
cd ~
umount /nfsclient/client-data
ls /nfsclient/client-data???????????????????????? 空了,恢復到原來的內容?
?2.配置autofs自動掛載
????????autofs這個服務是在客戶端的上面,它會持續的檢測某個指定的目錄,并預先設置當使用到該目錄的某個子目錄時,將會取得來自服務器端的NFS文件系統資源,并進行自動掛載的操作。
????????autofs的工作原理基于Linux內核的automount功能。當用戶試圖訪問autofs掛載的目錄時,
automount守護進程會捕獲這個訪問請求,然后根據配置文件掛載相應的文件系統。當這個文件系統一段時間沒有被訪問,automount會自動將其卸載。
1、安裝服務
yum install autofs -y
mkdir /mnt/m2 #建立本地文件m2 用來同步服務器信息
mkdir /tmp/a1 #建立本地文件a1 用來同步光盤信息?
2、修改主配置文件
vim /etc/auto.master? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #autofs 的配置文件
添加:/mnt???????????????? /etc/mnt.guazai? ? ? ?# 掛載目錄 ????????子配置文件?#mnt.guazai ????????????????是遠程服務器的配置
#med.guazai ???????????????是本地光盤的配置?
?
3、修改子配置文件
?vim /etc/mnt.guazai ????????????????#遠程服務器的mount參數?
?vim /etc/med.guazai
添加:a1 -fstype=iso9660,ro,nosuid,nodev :/dev/sr0 #光盤的掛載參數
?
4、重啟服務
systemctl restart autofs #啟動自動掛載服務
systemctl enable autofs #使自動掛載開機啟動?
注意:掛載成功后,ls看不到,必須進行cd切換到目錄中才能看到文件。
或者直接通過 mount 查看
?5、卸載服務
systemctl stop autofs
systemctl disable autofs
umount /mnt
提示/data 目標忙,原因是:設備被一些升程序占用。
接下來通過fuser 命令查找那些程序
fuser -mv????????? ? ?/mnt? ??