1. 程式人生 > >CentOS7搭建NFS服務

CentOS7搭建NFS服務

去年考完RHCE後就沒碰NFS了,現在重新回顧一下。

網路檔案系統(英語:Network File System,縮寫為NFS)是一種分散式檔案系統協議,最初由Sun Microsystems公司開發,並於1984[1]年釋出。其功能旨在允許客戶端主機可以像訪問本地儲存一樣通過網路訪問伺服器端檔案。 NFS和其他許多協議一樣,是基於開放網路運算遠端過程呼叫(ONC RPC) 協議之上的。——維基百科

NFS伺服器配置

當兩臺計算機網路建立連線時,雙方需提供一些基本資訊,如:IP地址、埠號等,這些資訊在Linux中可以由某個特定服務來管理,也可以委託給RPC(Remote Procedure Call)來幫助管理。RPC是遠端過程呼叫通訊協議,負責管理通訊的連線以及連線的基本資訊,這樣可以讓NFS服務專注於共享資料。CentOS 7實現NFS共享,需要同時啟動NFS和rpcbind服務。
NFS伺服器通過讀取/etc/exports

配置檔案設定哪些客戶端可以訪問哪些NFS共享哪些檔案系統。此檔案一條完整的共享條目語法結構如下:

共享路徑  客戶端主機(選項)

列幾個NFS主要的選項,詳可參考man exports
一般許可權選項

選項 描述
ro 只讀許可權。(預設設定)
rw 讀寫許可權。
sync 同步寫操作,資料寫入儲存裝置後返回成功資訊。(預設設定)
async 非同步寫操作,資料在未完全寫入儲存裝置前就返回成功資訊,實際還在記憶體。
wdelay 延遲寫入選項,將多個寫操請求合併後寫入硬碟,減少I/O次數,NFS非正常關閉資料可能丟失(預設設定)。
no_wdelay 與上相反,不與async同時生效,如果NFS伺服器主要收到小且不相關的請求,該選項實際會降低效能。
subtree 若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權(預設設定);
no_subtree 即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率
secure 限制客戶端只能從小於1024的tcp/ip埠連線nfs伺服器(預設設定)。
insecure 允許客戶端從大於1024的tcp/ip埠連線伺服器。

使用者對映選項

選項 描述
root_squash 使客戶端使用root賬戶訪問時,伺服器對映為伺服器本地的匿名賬號。
no_root_squash 與上相反,此選項主要用於無盤客戶端。
all_squash 將所有使用者請求對映到匿名匿名使用者或使用者組(nfsnobody)。
no_all_squash 與上相反(預設設定)。
anonuid=xxx 將遠端訪問的所有使用者都對映為匿名使用者,並指定該使用者為本地使用者(UID=xxx)。
anongid=xxx 將遠端訪問的所有使用者組都對映為匿名使用者組賬戶,並指定該匿名使用者組賬戶為本地使用者組賬戶(GID=xxx)。

接下來做一個簡單的案例。
Server:172.16.0.250
Client: 172.16.0.10

Client主機掛載Server共享目錄/arvin/nfsdir至本機的/mnt/nfsdir目錄,該目錄有讀寫許可權,且root的許可權會被保留。

Server

裝包

[root@server ~]# yum -y install nfs-utils rpcbind

看裝上沒

[[email protected] ~]# rpm -qa | grep nfs-utils
nfs-utils-1.3.0-0.33.el7_3.x86_64
[roo[email protected] ~]# rpm -qa | grep rpc-bind
rpcbind-0.2.0-38.el7.x86_64

新增使用者,建立共享目錄,給許可權,寫共享條目

[root@server ~]# useradd -u 1010 arvin
[root@server ~]# mkdir -p /arvin/nfsdir
[root@server ~]# chmod a+w /arvin/nfsdir
[root@server ~]# echo "/arvin/nfsdir 172.16.0.0(rw,async,no_root_squash)" >> /etc/exports

啟服務

[root@server ~]# systemctl start rpcbind
[root@server ~]# systemctl start nfs-server
[root@server ~]# systemctl enable nfs-server
[root@server ~]# systemctl enable rpcbind

Client

檢視伺服器共享目錄。

客戶端showmount命令
命令基本格式:showmount [選項] NFS伺服器名稱或地址
-e:顯示指定的NFS伺服器上所有輸出的共享目錄。
-a:顯示指定的NFS伺服器的所有客戶端主機及其所連線的目錄。
-d:顯示指定的NFS伺服器中已被客戶端連線的所有輸出目錄

[root@client ~]# showmount -e 172.16.0.250
Export list for 172.16.0.250
/arvin/nfsdir   172.16.0.0

建立掛載點,使用者,寫永久掛載表

[root@client ~]# mkdir /mnt/nfsdir
[root@client ~]# useradd -u 1010 arvin
[root@client ~]# chmod a+w /mnt/nfsdir
[root@client ~]# echo "172.16.0.250:/arvin/nfsdir /mnt/nfsdir nfs defaults 0 0"
[root@client ~]# mount -a

測試

[root@client ~]# cd /mnt/nfsdir
[root@client nfsdir]# >test.txt
[root@client nfsdir]# ll
total 0
-rw-r--r-- 1 root root 0 May  9 18:37 test.txt
[root@client nfsdir]# su - arvin
[arvin@client ~]# cd /mnt/nfsdir
[arvin@client nfsdir]# >arvin.txt
[arvin@client nfsdir]$ ll
total 0
-rw-rw-r-- 1 arvin arvin 0 May  9 18:39 arvin.txt
-rw-r--r-- 1 root  root  0 May  9 18:37 test.txt

NFS客戶端掛載選項,詳可參考man nfs

選項 描述
intr 當伺服器宕機時或無法到達時,允許中斷NFS請求。
nfsvers=version 指定NFS協議版本號,可以是2、3、4。
acl/nocal 關閉ACL,僅與老版本作業系統相容時使用。
nolock 關閉檔案鎖機智,僅用來連線版NFS伺服器。
noexec 在掛載的檔案系統中遮蔽可執行的二進位制程式。
port=num 指定NFS伺服器埠號,預設是0。如遠端NFS程序沒在rpcbind註冊,則使用標準NFS埠號(TCP2049埠)。
rsize=num 設定最大資料塊大小調整NFS讀取資料的速度,num單位為位元組。
wsize=num 設定最大資料塊大小調整NFS寫入資料的速度,num單位為位元組。
tcp 使用TCP協議掛載。
udp 使用UDP協議掛載。

NFS命令工具

exportfs:用來管理當前NFS共享的檔案系統列表。
-a 開啟或取消所有目錄共享。
-o options,…指定一列共享選項,與 exports(5) 中講到的類似。
-i 忽略 /etc/exports 檔案,從而只使用預設的和命令列指定的選項。
-r 重新共享所有目錄。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它將 /etc/exports 中已刪除的條目從 /var/lib/nfs/xtab 中刪除,將核心共享表中任何不再有效的條目移除。
-u 取消一個或多個目錄的共享。
-f 在“新”模式下,重新整理核心共享表之外的任何東西。 任何活動的客戶程式將在它們的下次請求中得到 mountd新增的新的共享條目。
-v 輸出詳細資訊。當共享或者取消共享時,顯示在做什麼。 顯示當前共享列表的時候,同時顯示共享的選項。

nfsstat:用於列出NFS客戶端和伺服器的工作狀態。
-s:僅列出NFS伺服器端狀態;
-c:僅列出NFS客戶端狀態;
-n:僅列出NFS狀態,預設顯示nfs客戶端和伺服器的狀態;
-2:僅列出NFS版本2的狀態;
-3:僅列出NFS版本3的狀態;
-4:僅列出NFS版本4的狀態;
-m:列印以載入的nfs檔案系統狀態;
-r:僅列印rpc狀態。

相關推薦

centOS7搭建NFS服務

查看 yum token png 目錄 .com 服務端 rpc lang 借鑒別人這篇博客搭建成功的:http://blog.51cto.com/mrxiong2017/2087001 NFS系統:用來共享文件、圖片、視頻 準備兩個centOS7服務器,一個作NF

centos7 搭建nfs服務

    服務端:     1.安裝並檢查nfs服務     yum install nfs-utils     2.配置共享目錄     vim /etc/exports     /home/nfs/ 192.168.248.0/24(rw,sync,fsid=0)  

CentOS7搭建NFS服務

去年考完RHCE後就沒碰NFS了,現在重新回顧一下。 網路檔案系統(英語:Network File System,縮寫為NFS)是一種分散式檔案系統協議,最初由Sun Microsystems公司開發,並於1984[1]年釋出。其功能旨在允許客戶端主機可

centos7搭建nfs服務器與客戶端連接

常用工具 firewall touch 是否 查看權限 環境 成功 pci 直接 最近學習PVE,需要用到NFS,遂學習NFS服務器的搭建,記錄如下: 一,服務器端搭建1、服務器環境:用PVE安裝centos7,最小化安裝,然後安裝常用工具 yum install -y n

centos7NFS服務器的搭建與配置

-o 信息 http rpcbind nfs服務端 實現 bin nfs 客戶端安裝 準備兩個centos操作系統來實現共享。服務端安裝:查看系統是否已安裝NFS;沒有安裝請先安裝服務。在NFS服務端上創建共享目錄/data/lys並設置權限;編輯export文件命令:mk

CentOS7 搭建 FTP 服務

filezilla 取消 不能 80端口 using host 啟動 passwd 修改用戶密碼   經常需要把 window 下的文件傳到 Linux 中, 搭建一個簡單的 ftp 服務器, 簡單使用,性價比高, 棒!    安裝 vdftpd -----:   yum

搭建NFS服務

centos之nfs簡介 NFS 是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據讓應用程序在客戶端通過網絡訪問位於服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。NFS 的基

centos7搭建gitlab服務器、漢化

nal rpm安裝 默認 下載 rpm fig 自己 net mirror 1、下載rpm安裝包 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.8.5-ce.1.el7.x86_64.r

Centos6.4搭建NFS 服務器實例(四)

centos 6.x nfs nfs.rpcbind exportfs Centos6.4搭建NFS 服務器實例:服務器系統角色IPCentOS-64-121-server1NFS服務器端192.168.1.121CentOS-64-129-clientNFS客戶端192.168.1.129 共享

centos7 搭建samba服務

但是 權限 add 配置 搭建 chmod centos yum system 1.yum安裝samba yum install samba -y 2.創建本地用戶,可不設置密碼。後期的smbpasswd必須用本地用戶設置 useradd 123 3.設置smbpa

CentOS7 搭建 rsync 服務

con 客戶端測試 comm yum repo div host sts 不同 1:安裝軟件包: yum install -y rsync 2:修改配置文件: /etc/rsyncd.conf uid = root gid = root use chroot =

centos7搭建svn服務器及客戶端設置

步驟 避免 names asi cat plain groups against none centos7貌似預裝了svn服務(有待確認),因此我們直接啟動該服務即可一、svn服務端配置(服務器IP假設為192.168.100.1)步驟1:創建存放代碼庫目錄mkdir -p

基於NFS v4版本搭建NFS服務

基於nfs v4版本搭建nfs服務器基於NFS v4版本搭建NFS服務器1資源規劃作用IP版本NFS服務端192.168.78.1Centos6.5 64位NFS客戶端192.168.78.1Centos6.5 64位 2 NFS服務端安裝配置2.1 安裝rpm包 yum install nfs-u

Linux下搭建NFS服務

nfs、linux一、NFS服務簡介  NFS 是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位於服務器磁盤中的數據,是在類

Win7系統下搭建NFS服務

nfs win_nfs hanewin win7訪問nfs win7搭建nfs服務器 Win7系統下搭建NFS服務器 采用Linux系統的服務器管理員都知道linux系統中能用NFS網絡文件系統這套程序實現linux和unix系統之間的文件共享。那麽能否在windows系統中采用NF

centos7安裝nfs服務

type 技術分享 安裝軟件 客戶 code system oot bdb http 一、服務器配置: 安裝軟件: yum -y install nfs-utils rpcbind 更改配置文件: vim /etc/exports #添加 /home/lee/nfs

centos7搭建FTP服務

lin enable ftpusers var linux 訪問控制 ebo tftp login 1.   使用 yum 安裝 vsftpd:yum install -y vsftpd 2.  啟動 VSFTPD:systemctl start vsftpd.servic

CentOS6.5搭建NFS服務

CentOS6.5 NFS1、首先檢查系統是否安裝了所需的安裝包(nfs-utils、rpcbind): [root@v1 ~]# rpm -qa | grep rpcbind rpcbind-0.2.0-11.el6.x86_64 [root@v1 ~]# rpm -qa | grep n

centos7 搭建svn服務

svn服務器搭建 svn客戶端使用 當今用於版本控制的軟件程序主要的有svn和git,其它軟件咱不熟悉,今天記錄下搭建svn服務器和svn客戶端使用; 使用環境:虛擬機為centos7系統,svn服務器安裝在centos7系統平臺上,svn客戶端分別在windows7和centos7系統上使用; 1、

【SVN】Centos7搭建svn服務

ise password ins 阿裏 進行 整理 body authz 修改權限 一、背景 自己平時有記筆記的習慣,回到宿舍筆記就同步不了。打算入手下很火的筆記軟件,用著覺得不順手,目錄一多查找不方便,沒有英文首字母定位快,想想決定用svn同步,整理出來分享給大家。 二、