NFS(Network File System),網(wǎng)絡(luò)文件存儲系統(tǒng),它最早是由 Sun 公司開發(fā)的,也是 FreeBSD 支持的文件系統(tǒng)中的一個,它允許網(wǎng)絡(luò)中的計(jì)算機(jī)之間通過TCP/IP 網(wǎng)絡(luò)共享資源。通過 NFS 協(xié)議,我們本地 NFS 的客戶端應(yīng)用可以透明的讀寫位于服務(wù)端 NFS 服務(wù)器上的文件,就像訪問本地文件一樣方便。簡單的理解,NFS 就是可以透過網(wǎng)絡(luò),讓不同的主機(jī),不同的操作系統(tǒng)可以共享存儲的服務(wù)。

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)).為客戶提供專業(yè)的資陽服務(wù)器托管,四川各地服務(wù)器托管,資陽服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:18980820575
NFS 在文件傳送或信息傳送過程中依賴 RPC(Remote Procedure Call)協(xié)議,即遠(yuǎn)程過程調(diào)用,NFS的各項(xiàng)功能都必須向 RPC 來注冊,如此一來 RPC 才能了解 NFS 這服務(wù)的各項(xiàng)功能 Port,PID,NFS 在服務(wù)器所監(jiān)聽的 IP 等,而客戶端才能透過 RPC 的詢問找到正確對應(yīng)的端口,所以 NFS 必須要有 RPC 存在是才能成功的提供服務(wù),簡單的理解二者關(guān)系:NFS 是一個文件存儲系統(tǒng),而 RPC 是負(fù)責(zé)信息的傳輸。
通過上面的簡介,我們知道 NFS 服務(wù)需要依賴 RPC 服務(wù),所以這里 NFS 服務(wù)端需要安裝 rpcbind 和 nfs-utils ,客戶端只需要安裝 nfs-utils 即可,由于我們選用 CentOS 系統(tǒng),所以可以使用 yum 快速的安裝。
然后安裝 NFS 服務(wù)
另:Ubuntu 16.04 安裝命令
我們在服務(wù)端創(chuàng)建一個共享目錄 /data/share ,作為客戶端掛載在遠(yuǎn)端入口,然后設(shè)置權(quán)限
然后,修改 NFS 配置文件 /etx/exports
說明一下,這里配置后邊有很多參數(shù),每個參數(shù)有不同的含義,具體可以參考下邊。此處,我配置了將 /data/share 文件目錄設(shè)置為允許IP為 192.168.0.0/24 區(qū)間的客戶端掛載。然后,如果客戶端IP不在該區(qū)間也想要掛載的話,可以設(shè)置IP區(qū)間更大或者設(shè)置為 * 即允許所有客戶端掛載,例如: /home *(ro, sync,insecure,no_root_squash) 設(shè)置 /home 目錄允許所有客戶端只讀掛載。
接下來,我們先啟動 RPC 服務(wù)
我們發(fā)現(xiàn),啟動了 NFS 服務(wù)后,RPC 注冊的端口列表明顯增多。現(xiàn)在服務(wù)端都啟動起來了,在服務(wù)端看下是否正確加載了設(shè)置的 /etc/exports 配置
最后,在另一臺Linux虛擬機(jī)上測試一下,是否能夠正確掛載。首先,我們可以在客戶端查看下NFS服務(wù)端設(shè)置可共享的目錄信息
然后,在客戶端創(chuàng)建掛載目錄/share
最后,掛載遠(yuǎn)端目錄到本地 /share 目錄
可以看到,可以正確將遠(yuǎn)端 NFS 目錄掛載到本地。注意:掛載點(diǎn) /share 目錄必須已經(jīng)存在,而且目錄中沒有文件或子目錄
最后,我們在 NFS 服務(wù)端 /data/share 目錄下創(chuàng)建一個文件,看下客戶端能否正確讀取并修改
都可以了,這里因?yàn)樯厦嬖O(shè)置了 NFS 遠(yuǎn)端目錄權(quán)限為 rw 擁有讀寫權(quán)限,如果設(shè)置為 ro ,那么客戶端只能讀取,不能寫入。根據(jù)實(shí)際應(yīng)用場景合理配置。
NFS 默認(rèn)使用 UDP協(xié)議進(jìn)行掛載,為了提供 NFS 的穩(wěn)定性,可以使用 TCP 協(xié)議掛載,那么客戶端掛載命令如下:
最后,卸載命令
最近做了一個文件的異地備份,采用網(wǎng)絡(luò)掛載的方式,效果比之前用sync拷貝要方便的多。
也比之前簡單的多,其實(shí)也就是幾件事情。
首先是,需要備份的服務(wù)器和備份的服務(wù)器都裝上nfs。
yum?install?nfs-utils
有的可能還需要單獨(dú)安裝一下rpcbind
那就
yum?install?rpcbind
接著在被掛載服務(wù)器編寫配置文件
vim? /etc/exports
/root/work 192.168.0.3(rw,no_root_squash,no_all_squash,async)
/root/work 192.168.0.16(rw,no_root_squash,no_all_squash,async)
如像這樣,授權(quán)了本地的/root/work?目錄可以被兩個服務(wù)器訪問,權(quán)限是讀寫(rw)
這一部分就完成了。
接下來是需要備份的服務(wù)器:
安裝玩nfs以后,在/mnt目錄下建一個目錄(通常都是在這個目錄下,別問為什么?問就是通用習(xí)慣。)
cd? /mnt
mkdir backserver
這就完成了目錄創(chuàng)建
接著也是最重要的一步
mount -t nfs 192.168.0.18:root/work/backup /mnt/backserver/
這條命令的意思是掛載192.168.0.18:root/work/backup目錄到本機(jī)的/mnt/backserver/
-t?是指定掛載類型,nfs,就是網(wǎng)絡(luò)文件系統(tǒng)的簡稱。
這樣之后,本機(jī)的/mnt/backserver/存的文件實(shí)際上是存在192.168.0.18:root/work/backup目錄下的。
接下來就是一個見的文件拷貝命令。
rsync -avz /usr/local/nginx /usr/local/tomcat? /mnt/backserver/09back
就把文件備份到192.168.0.18:root/work/backup目錄下了。
實(shí)現(xiàn)自動備份就更簡單了,直接把剛才的命令寫入shell腳本
保存為backup.sh
然后加入系統(tǒng)定時計(jì)劃
crontab -e
30 3 * * * sh /root/work/work/backup.sh
意思是每天三點(diǎn)執(zhí)行一次腳本,就完成了自動異地備份。
整個過程還是很簡答的,其中涉及一個cs的模式。
需要知道:
1,是客戶端掛載到服務(wù)端。
2,服務(wù)端需要授予客戶端訪問權(quán)限。
方法/步驟
首先確認(rèn)自己的服務(wù)器上面是否有portmap和nfs包,一般情況下都會有.
查詢命令:
rpm -qa | grep portmap
rpm -qa | grep nfs
如果有就接著向下走
啟動portmap和nfs,但是portmap的先于nfs啟動,因?yàn)閜ortmap為nfs動態(tài)分配端口
查看是有啟動正常用如下命令
prcinfo -p
如果看到portmap和nfs表示啟動正常
設(shè)置你要共享的文件和目錄 編輯vi /etc/exports
格式如下:
共享目錄 允許訪問的主機(jī)ip(權(quán)限)
輸出共享目錄和文件
1.要不重啟nfs服務(wù)
2.使用exportfs -rv命令
接著到另一臺服務(wù)器上面去掛載nfs服務(wù)器輸出的文件和目錄
1.新建你要掛載的目錄
2.查看nfs服務(wù)器的輸出目錄
showmount -e nfs的ip
掛載目錄或文件
格式如下:
mount NFS服務(wù)器地址:/usr/local/web /mnt/websites
查看掛載結(jié)果
df -h
測試共享時候成功,在web1上面下面的掛載目錄下面新建一個文件然后隨便寫點(diǎn)東西看web2上面時候同步
卸載目錄的命令:
umount /mnt/websites
Linux客戶端可以直接通過mount命令掛載NFS文件,
如下操作:
[root@linux-a ~]# mkdir /mnt/nsf1 //創(chuàng)建掛載點(diǎn)
[root@linux-a ~]# mount -t nfs 192.168.0.231:/nfs/frank /mnt/nfs1
[root@linux-a ~]# mount | grep nfs
[root@linux-a ~]# umount /mnt/nfs1
通過修改/etc/fstab文件可以實(shí)現(xiàn)開機(jī)自動掛載nfs目錄
[root@linux-b nfs1]# vim /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
192.168.0.231:/nfs/frank /mnt/nfs1 nfs defaults 0 0
以上最后一行是針nfs的自動掛載配置。
打開終端輸入:mount -t nfs 后面加上加載地址信息即可!
輸入u mount -a即可取消掛載!
nfs語法參數(shù)解釋
(1) nfs共享目錄:是NFS服務(wù)器需要共享出去的實(shí)際目錄,文件夾,必須寫絕對路徑,且注意目錄的讀寫本地權(quán)限,如果你允許客戶端讀寫操作,other需要有一個讀寫的權(quán)限(user,group,other三個身份)
(2) NFS客戶端地址,也就是NFS服務(wù)端授權(quán)可以訪問共享目錄的地址,可以寫主機(jī)名,可以寫通配符,ip地址
(3) 權(quán)限參數(shù),對NFS授權(quán)的客戶端,進(jìn)行權(quán)限控制的參數(shù),詳細(xì)見下面的案例
nfs客戶端地址形式
單一客戶端 192.168.178.120 用的很少
允許整個網(wǎng)段訪問 192.168.178.0/24 指定局域網(wǎng)網(wǎng)段,用的還是很多的
授權(quán)整個域名客戶端 nfs.yu.com 用的很少
授權(quán)子域名客戶端 *.yu.com 用的很少
nfs客戶端的權(quán)限參數(shù)
ro 只讀
rw 讀寫
root_squash 當(dāng)nfs客戶端以root賬號訪問NFS服務(wù)端共享目錄數(shù)據(jù)的時候,把該root映射為NFS服務(wù)端的一個匿名用戶,該用戶的UID,GID會變成nfsnobody的信息
no_root_squash 幾乎和上面一樣,root賬號會映射為root賬戶,非常不安全,禁用
all_squash 所有nfs客戶端的用戶都映射為匿名用戶,很安全,生產(chǎn)環(huán)境常用
sync 數(shù)據(jù)同步寫入到內(nèi)存和磁盤,優(yōu)點(diǎn)是保證內(nèi)存數(shù)據(jù)安全,但是效率太低
async 數(shù)據(jù)先寫入到內(nèi)存,再持久化到磁盤,效率非常高,但是可能會有數(shù)據(jù)丟失的隱患
文章標(biāo)題:linuxnfs的命令,linux的nfs如何使用
文章出自:http://chinadenli.net/article27/dsicjcj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、外貿(mào)建站、動態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、App設(shè)計(jì)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)