Linux系統學習(四)Linux網路服務
網路檔案系統NFS
1. NFS概述
網路檔案系統(NFS),多用於UNIX作業系統中,它是連線在網路上的計算機之間共享檔案的一種方法。在這個系統上的檔案就類似在本地計算機上的硬碟驅動器上,類似於Windows系統上的“網路上的芳鄰”,但NFS檔案系統更適合以字元命令方式完成網路之間的檔案共享。
NFS通常在區域網中使用,為了在不同的系統之間實現檔案的共享。提供檔案進行共享的系統稱為主機,共享檔案的計算機稱為客戶機。一個客戶機可以從伺服器上掛載一個檔案或目錄,然而事實上任何計算機都可以作為NFS伺服器或NFS客戶機,甚至可以同時作為NFS伺服器和NFS客戶機。
當主機系統把所共享檔案進行許可權指定後,遠端的客戶機就利用mount命令把remote所共享的檔案系統掛載在自己的檔案系統下,在使用遠端檔案時如何使用本地檔案一樣方便。
NFS特點
- 不佔本地工作站的磁碟空間,因為資料存放在另一臺計算機上,所以可以通過網路訪問。
- 通過同步寫磁碟可以實現分散式處理功能。
- 利用字元命令方式,高效能,靈活配置,即可實現遠端計算機檔案系統的共享。
- 擴充新的資源或環境時不需要改變現有的工作環境。
- CDROM和USB等儲存裝置可以在網路上被其他計算機使用,這樣減少了整個網路上的可移動介質裝置的數量。
- 使用者不必在每個計算機中都有一個home目錄,home目錄可以放在NFS伺服器,並且在網路上處處可用。
建立NFS的工作步驟
- CentOS7 系統實現NFS服務功能必須安裝nfs-utils、rpcbind軟體包,系統安裝軟體包,並啟動該服務。注意伺服器端和客戶機都要安裝!
[root@localhost ~]# yum install -y nfs-utils
[root@localhost ~]# yum install -y rpcbind
- 主機對所提供的共享檔案下放許可權。
- 客戶機針對主機下放的許可權把遠端檔案掛載到本地目錄上。
2. NFS的主機伺服器配置及啟動
(1)配置exports檔案
配置只需在配置檔案“/etc/exports”中提供共享檔案列表,然後啟動NFS服務即可。
exports檔案配置格式:
每行提供一個共享目錄的設定,這些目錄要保證已存在,例項如下:
#共享目錄 分配給客戶機的地址
/home/share 192.168.1.1/200(sync,ro) 192.168.1.210(sync,rw)
/home/public *(sync,ro)
/home/ftp 192.168.1.11(sync,rw)
其中指定客戶機的地址非常靈活,可以是單個IP地址或者域名,也可以是指定網段中的客戶機。舉例如下表所示:
指定客戶機地址 | 說明 |
---|---|
192.168.1.10 | 指定IP地址的客戶機 |
192.168.1.10/20 | 指定網段中的所有客戶機 |
nfs.wdg.com | 指定域名的客戶機 |
* | 所有客戶機 |
設定選項如下表:
設定選項 | 說明 |
---|---|
sync | 使用者之間同步寫磁碟,這樣不會丟資料,NFS服務建議使用 |
ro | 輸出的共享目錄只讀,不能與rw共同使用 |
rw | 輸出的共享目錄可讀寫,不能與ro共同使用 |
(2)啟動NFS服務
需要使用NFS,必須安裝RPC服務,NFS的RPC服務,在CentOS5版本下名為portmap,在CentOS 6之後版本下名為rpcbind。
必須先啟動rpcbind服務,再啟動NFS服務,才能使NFS服務正常工作。
systemctl start rpcbind
systemctl start nfs
(3)開放NFS服務埠
CentOS7系統的防火牆預設沒有開放NFS服務的埠號,所以必須開放NFS服務相關的埠號,通過命令rpcinfo可以查到。
[root@localhost ~]# rpcinfo -p 192.168.140.135(主機IP)
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 39020 status
100024 1 tcp 51470 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 58416 nlockmgr
100021 3 udp 58416 nlockmgr
100021 4 udp 58416 nlockmgr
100021 1 tcp 36351 nlockmgr
100021 3 tcp 36351 nlockmgr
100021 4 tcp 36351 nlockmgr
從示例中可以看出,NFS服務的主要埠有以下幾種:
① portmapper埠(udp/tcp):111;
② nfs埠(udp/tcp):2049;
③ mountd埠(udp/tcp):20048。(隨機)
開放埠命令示例:
[root@localhost ~]# firewall-cmd --permanent --add-port=111/tcp
success
[root@localhost ~]# firewall-cmd --permanent --add-port=111/udp
success
[root@localhost ~]# firewall-cmd --permanent --add-port=2049/tcp
success
[root@localhost ~]# firewall-cmd --permanent --add-port=2049/udp
success
[root@localhost ~]# firewall-cmd --permanent --add-port=20048/tcp
success
[root@localhost ~]# firewall-cmd --permanent --add-port=20048/udp
success
[root@localhost ~]# firewall-cmd --reload
success
注意:在CentOS 7系統中的NFS服務,有的是隨機埠號,且每次使用NFS服務,多個埠開放比較麻煩,可以把mountd等隨機埠號指定為固定埠號。若使用者使用NFS服務不考慮埠號,簡單的辦法就是使防火牆暫時開放NFS服務。
firewall -cmd --add -service=nfs
(4)顯示共享目錄狀態
設定了NFS共享目錄並正確啟動NFS服務後,可以利用showmount命令檢視NFS共享目錄狀態。
showmount [-ae] hostname
引數:
-a:在螢幕上顯示目前主機與Client所連上的使用目錄狀態。
-e:顯示hostname這臺機器的/etc/exports檔案中的共享目錄
[root@localhost home]# showmount -e
Export list for localhost:
/home/public *
/home/share 192.168.140.133
到這裡伺服器準備工作結束了,可以建立一個克隆機作為客戶機。
3. 客戶端掛載NFS檔案系統
客戶機要想掛載網路中的NFS檔案系統,必須檢視是否提供給客戶機訪問許可權,即客戶機是否滿足NFS主機指定的客戶機IP地址範圍。如果滿足,方可掛載使用。
(1)檢視NFS服務輸出的共享目錄狀態
提供NFS服務的主機IP為192.168.140.135,客戶機為192.168.140.133,則檢視主機NFS所提供的服務資訊的命令為:
[root@localhost home]# showmount -e 192.168.140.135
Export list for 192.168.140.135:
/home/public *
/home/share 192.168.140.133
從結果可以看出,NFS主機為該客戶機提供了兩個可共享掛載的目錄,即/home/public和/home/share。
(2)掛載NFS伺服器中的共享目錄
在客戶機上使用mount命令掛載NFS伺服器的共享目錄到本地目錄上,語法如下:
mount NFS 伺服器地址:共享目錄 本地掛載點目錄
示例:
[root@localhost ~]# mount 192.168.140.135:/home/share /mnt/share
其中,/mnt/share是客戶機本地的掛載點目錄,必須是已經存在的。
(3)檢視及解除安裝已掛載的目錄
NFS正確掛載到本地之後,可以用mount命令檢視目錄的掛載情況。
[root@localhost ~]# mount | grep nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
192.168.140.135:/home/share on /mnt/share type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.140.136,local_lock=none,addr=192.168.140.135)
解除安裝已掛載的目錄使用umount命令。
[root@localhost ~]# umount /mnt/share
相關文章
- Linux 網路通訊管理和系統服務管理Linux
- 怎樣系統的學習linux?Linux學習路線!Linux
- Linux下cifs公用網際網路系統和samba服務LinuxSamba
- Linux學習路線全解,Linux作業系統學習路線Linux作業系統
- 『學了就忘』Linux服務管理 — 75、Linux系統中的服務Linux
- Linux網路服務 ------------------ 瞭解網路設定與學習相關操作命令Linux
- Linux下注冊系統服務Linux
- Linux伺服器必備自啟動服務有哪些?linux系統使用學習Linux伺服器
- Python_UNIX和Linux系統管理指南(四)—— 網路PythonLinux
- linux系統 Apache服務配置教程。LinuxApache
- Linux系統安裝Redis服務LinuxRedis
- linux系統服務(systemctl)的使用Linux
- 網工的Linux系統學習歷程Linux
- 配置虛擬機器中的Linux系統與開啟網路服務虛擬機Linux
- Linux系統下網路配置Linux
- Linux系統有啥優勢?Linux學習Linux
- Linux學習--遠端登入Linux系統Linux
- Linux系統新手入門學習的四點建議Linux
- 如何正確學習Linux系統呢?Linux運維學習Linux運維
- 哪些人適合學習Linux?linux系統使用學習Linux
- Linux網路服務之部署YUM倉庫Linux
- linux核心基礎-系統服務管理Linux
- Linux系統基礎學習Linux
- Linux基礎學習-crond系統計劃任務Linux
- **Linux 配置系統網路(動態)**Linux
- Linux系統網路檔案配置Linux
- 如何最佳化Linux系統安全?Linux學習Linux
- Linux系統檔案學習內容多嗎?linux系統命令Linux
- Linux系統有什麼優點?linux作業系統學習Linux作業系統
- 在 Linux 系統中如何管理 systemd 服務Linux
- 如何快速搭建Linux系統中Samba服務LinuxSamba
- Linux轉行學習有年齡限制嗎?Linux系統運維學習Linux運維
- Linux作業系統網路模組Linux作業系統
- Linux雲端計算學習難嗎?學習Linux系統怎麼樣?Linux
- 簡要介紹Linux網路服務的種類Linux
- 在Linux中,如何配置和管理系統服務?Linux
- Linux系統如何安裝AutoFs掛載服務Linux
- 對於Linux系統管理命令方面都有哪些?怎樣學習Linux系統Linux