NFS服務(wù)簡介
NFS(Network File System,網(wǎng)絡(luò)文件系統(tǒng))是一種分布式文件系統(tǒng)協(xié)議,允許用戶通過網(wǎng)絡(luò)共享和訪問遠(yuǎn)程主機(jī)上的文件,它由Sun Microsystems公司開發(fā),現(xiàn)在已經(jīng)成為UNIX和Linux系統(tǒng)中的標(biāo)準(zhǔn)功能,通過NFS,用戶可以在不同的計(jì)算機(jī)之間輕松地共享文件和目錄,而無需關(guān)心它們之間的物理距離。
NFS服務(wù)器安裝與配置
1. 安裝NFS服務(wù)軟件包
在CentOS 7系統(tǒng)中,可以使用以下命令安裝NFS服務(wù)軟件包:
sudo yum install y nfsutils
2. 配置NFS服務(wù)
編輯/etc/exports
文件,添加要共享的目錄和客戶端IP地址,要共享/data
目錄給客戶端192.168.1.0/24
,可以在文件中添加以下內(nèi)容:
/data 192.168.1.0/24(rw,sync,no_root_squash)
rw
表示客戶端具有讀寫權(quán)限,sync
表示同步寫入磁盤,no_root_squash
表示客戶端以root身份訪問時(shí)不降低權(quán)限。
保存并退出文件,然后使用以下命令啟動(dòng)NFS服務(wù):
sudo systemctl start nfsserver
使NFS服務(wù)開機(jī)自啟:
sudo systemctl enable nfsserver
3. 創(chuàng)建共享目錄
在服務(wù)器上創(chuàng)建一個(gè)要共享的目錄,并設(shè)置權(quán)限:
sudo mkdir /data sudo chown nobody:nobody /data sudo chmod 755 /data
NFS客戶端安裝與配置
1. 安裝NFS客戶端軟件包
在CentOS 7系統(tǒng)中,可以使用以下命令安裝NFS客戶端軟件包:
sudo yum install y nfsutils
2. 掛載NFS共享目錄
使用以下命令掛載NFS共享目錄:
sudo mount t nfs 192.168.1.100:/data /mnt/nfs_data
192.168.1.100
是NFS服務(wù)器的IP地址,/data
是共享的目錄,/mnt/nfs_data
是客戶端上掛載點(diǎn)。
為了使掛載在系統(tǒng)重啟后依然生效,需要將掛載信息添加到/etc/fstab
文件中:
echo "192.168.1.100:/data /mnt/nfs_data nfs defaults 0 0" | sudo tee a /etc/fstab
3. 訪問共享目錄
現(xiàn)在可以在客戶端上訪問NFS共享的目錄了:
cd /mnt/nfs_data ls lh
NFS服務(wù)管理與故障排查
1. 查看NFS服務(wù)狀態(tài)
使用以下命令查看NFS服務(wù)的狀態(tài):
sudo systemctl status nfsserver
2. 查看已共享的目錄列表
使用以下命令查看已共享的目錄列表:
showmount e localhost
3. 停止、啟動(dòng)、重啟NFS服務(wù)
使用以下命令分別停止、啟動(dòng)、重啟NFS服務(wù):
sudo systemctl stop nfsserver # 停止服務(wù) sudo systemctl start nfsserver # 啟動(dòng)服務(wù) sudo systemctl restart nfsserver # 重啟服務(wù)
NFS服務(wù)優(yōu)化與安全設(shè)置
1. 修改端口號(hào)和RPC端口號(hào)
下面是一個(gè)介紹形式的總結(jié),關(guān)于如何配置NFS服務(wù)器與客戶端,包括NFS服務(wù)的安裝與配置步驟:
yum install nfsutils rpcbind
sudo aptget install nfscommon
(Ubuntu)yum install nfsutils
(CentOS)sudo aptget install nfskernelserver rpcbind
(Ubuntu)chown nobody:nogroup /home/ops/nfs/k8s
chmod 777 /home/ops/nfs/k8s
/home/ops/nfs/k8s 192.168.0.0/16(rw,sync,nosubtreecheck)
systemctl start rpcbind
systemctl start nfsserver
exportfs arv
或 重啟NFS服務(wù)showmount e STORAGESERVERIP
showmount e STORAGESERVERIP
mount t nfs STORAGESERVERIP:/home/ops/nfs/k8s /mnt/nfs/k8s
systemctl start autofs
firewallcmd permanent zone=public addservice=nfs
ufw allow from any to any port nfs
(Ubuntu)firewallcmd reload
請(qǐng)注意,Ubuntu系統(tǒng)可能不需要安裝rpcbind,因?yàn)槠銷FS服務(wù)可能已經(jīng)包含了對(duì)RPC的支持,對(duì)于權(quán)限設(shè)置和防火墻配置,具體命令可能需要根據(jù)你的系統(tǒng)和安全策略進(jìn)行調(diào)整,以上信息僅作為一般性指導(dǎo)。