青蛙学Linux—NFS
NFS,Network File Syttem,網(wǎng)絡(luò)文件系統(tǒng)。它允許網(wǎng)絡(luò)上運行不同操作系統(tǒng)的主機通過網(wǎng)絡(luò)連接到運行NFS服務(wù)的主機上,以實現(xiàn)數(shù)據(jù)共享。NFS的配置非常簡單,經(jīng)過簡單的設(shè)置既能快速使用NFS。
使用NFS,首先在服務(wù)端運行NFS服務(wù),并設(shè)置共享指定的目錄,客戶端即可將該目錄掛載到本地,以使用這些共享的目錄。
1、NFS服務(wù)端配置
要運行NFS服務(wù)端依賴以下軟件包:
rpcbind nfs-utils請確保運行NFS服務(wù)端的主機已經(jīng)安裝了以上軟件包。如果以上軟件包尚未安裝,可以使用YUM進行安裝。
NFS服務(wù)端需要啟動以下兩個服務(wù):
rpcbind nfs nfslock # 分布式鎖,運行在服務(wù)端,由客戶端進行請求加鎖,一個可選的服務(wù)NFS服務(wù)端的配置文件為:
/etc/exports該文件默認為空。該文件的格式非常簡單:
共享路徑 客戶端地址(選項)- 共享路徑:提供給客戶端訪問的目錄
- 客戶端地址:允許訪問服務(wù)器共享資源的主機,可以是IP地址、主機名、域名,支持通配符
- 選項:可能為以下值, ro – read only,客戶端對共享資源僅有只讀的權(quán)限;rw – read write,客戶端對共享資源擁有讀寫的權(quán)限;no_root_squash - 信任客戶端root用戶,如果客戶端登錄的用戶為root,則客戶端對共享資源擁有最高權(quán)限;root_squash - 默認值,不信任客戶端root用戶,如果客戶端登錄的用戶為root,則將被映射成為nfsnobody,對于共享資源僅有只讀的權(quán)限;all_squash - 不管客戶端登錄的是什么用戶,都將被映射為nfsnobody;no_all_squash - 默認值,只有當(dāng)客戶端登錄的用戶UID和GID與共享資源的UID和GID一致時,該用戶才對共享資源擁有讀寫權(quán)限;sync - 默認值,共享數(shù)據(jù)同步寫入磁盤;async - 數(shù)據(jù)暫時保存在內(nèi)存,不寫入磁盤
在完成/etc/exports的配置之后,使用以下命令使配置立即生效:
exportfs [選項]常用選項:
- -r:重新掛載共享目錄
- -v:在屏幕上輸出詳細信息
2、連接NFS服務(wù)器
2.1、Linux主機連接NFS服務(wù)器
在需要連接到NFS服務(wù)器的主機上也必須安裝以下依賴包:
rpcbind nfs-utils使用mount命令即可連接到NFS服務(wù)器上指定的共享目錄:
mount -t nfs NFS服務(wù)器:共享目錄 本地目錄使用以下命令可以查看NFS服務(wù)器上的共享目錄:
showmount -e NFS服務(wù)器2.2、Windows連接NFS服務(wù)器
NFS支持不同的操作系統(tǒng),所以Windows也可以連接到NFS服務(wù)器以使用共享的資源。這里以Windows 10為例介紹如何在Windows下連接NFS服務(wù)器。
安裝Windows下的NFS支持軟件:
打開控制面板,進入程序和功能,然后點擊啟用或關(guān)閉Windows功能選項,勾選以下內(nèi)容
確定后等待功能安裝完畢,然后進入命令提示符,使用以下命令連接NFS服務(wù)器:
mount \\NFS服務(wù)器\共享目錄 盤符3、一個例子
有主機A、B、C三臺主機,在主機A上運行NFS服務(wù),主機B和C做為客戶端連接到主機A上使用同一個共享目錄。
三臺主機的狀況如下:
- 主機A:IP地址為192.168.0.106,操作系統(tǒng)為CentOS 6.10
- 主機B:操作系統(tǒng)為CentOS 7.5.1804
- 主機C:操作系統(tǒng)為Windows 10
3.1、NFS服務(wù)端設(shè)置
使用YUM查看是否已經(jīng)安裝NFS依賴的軟件包:
[root@localhost /]# rpm -qa|grep rpcbind rpcbind-0.2.0-16.el6.x86_64 [root@localhost /]# rpm -qa|grep nfs-utils nfs-utils-lib-1.1.5-13.el6.x86_64 nfs-utils-1.2.3-78.el6_10.1.x86_64查看rpcbing和nfs服務(wù)是否已經(jīng)啟動:
[root@localhost ~]# service rpcbind status rpcbind (pid 1684) 正在運行... [root@localhost ~]# service nfs status rpc.svcgssd 已停 rpc.mountd (pid 2503) 正在運行... nfsd (pid 2519 2518 2517 2516 2515 2514 2513 2512) 正在運行... rpc.rquotad (pid 2498) 正在運行...服務(wù)端設(shè)置允許任何主機連接,并設(shè)置rw及all_squash,共享目錄為/data。在/etc/exports中寫入如下內(nèi)容:
/data *(rw,all_squash)由于使用的是all_squash選項,客戶端登錄到NFS服務(wù)器的用戶將被自動映射為nfsnobody,所以必須將/data目錄的屬主和屬組設(shè)置為nfsnobody,這樣客戶端才可以讀寫共享目錄:
[root@localhost /]# chown -R nfsnobody:nfsnobody data使配置立即生效:
[root@localhost ~]# exportfs -r3.2、主機B連接NFS服務(wù)器
主機B的操作系統(tǒng)為CentOS 7.5.1804,所以這里先檢查下NFS依賴的軟件包是否安裝:
[root@localhost ~]# rpm -qa|grep rpcbind [root@localhost ~]# rpm -qa|grep nfs-utils無任何返回信息,表明依賴的軟件包尚未安裝,使用YUM安裝這兩個依賴包:
[root@localhost ~]# yum install rpcbind nfs-utils安裝好依賴包后使用mount命令掛載NFS服務(wù)器上的共享目錄,掛載到主機B的/nfs目錄下:
[root@localhost ~]# mount -t nfs 192.168.0.106:/data /nfs使用df命令查看是否掛載成功:
[root@localhost ~]# df -h 文件系統(tǒng) 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 22G 2.1G 20G 10% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 8.8M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 783M 0 783M 0% /run/user/0 192.168.0.106:/data 22G 2.9G 18G 14% /nfs通過返回的信息可以看到共享目錄已經(jīng)掛載到了/nfs。
3.3、主機C連接NFS服務(wù)器
首先查看控制面板-程序和功能-啟用和關(guān)閉Windows功能下的NFS服務(wù)是否已經(jīng)安裝,安裝完成后即可使用以下命令連接NFS服務(wù)器,并為共享目錄分配 x: 盤符:
Microsoft Windows [版本 10.0.14393] (c) 2016 Microsoft Corporation。保留所有權(quán)利。C:\Users\FangYu>mount \\192.168.0.106\data x: x: 現(xiàn)已成功連接到 \\192.168.0.106\data命令已成功完成。此時在資源管理器里就可以看到x盤了:
轉(zhuǎn)載于:https://www.cnblogs.com/yu2006070-01/p/10149260.html
總結(jié)
以上是生活随笔為你收集整理的青蛙学Linux—NFS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hackerrank 刷题一(pytho
- 下一篇: 项目实战 五 拟合直线 获得中线