nfs服務的使用指南

NFS網絡文件系統(網絡共享文件服務)

01. 什麼是NFS

NFS是Network File System的縮寫,中文意思是網絡文件系統,

它的主要功能是通過網絡(一般是局域網)讓不同的主機系統之間可以共享文件或目錄

互聯網中小型網站集羣機構後端常用NFS進行數據共享,

如果大型網站,那麼有可能還會用到更復雜的分佈式文件系統,例如:Moosefs(mfs)、GlusterFS、FastDFS

後面會發不關於分佈式存儲的文章(從0基礎學習分佈式存儲)

說明:NFS服務只能應用在linux系統上,FTP samba服務均都支持linux和windows

02. NFS服務應用

NFS是一個共享存儲服務,爲什麼要有共享存儲?

  1. 實現數據信息的共享(數據庫內容)

  2. 實現數據信息的一致 (網站代碼、展示內容)

03. 共享存儲方式

硬件實現共享存儲

IBM oracle EMC == 去除IOE

軟件實現共享存儲

NFS FTP samba

04. NFS共享系統原理

  1. 在NFS服務端創建共享目錄
  2. 通過mount網絡掛載,將NFS客戶端本地目錄掛載到NFS服務端共享目錄上
  3. NFS客戶端掛載目錄上創建、刪除、查看數據操作,等價於在服務端進行的創建 刪除 查看操作

05. 什麼是RPC(Remote Procedure Call)

RPC服務相當於中介,NFS相當於房源,NFS客戶端相當於租客

06. NFS的工作流程原理

客戶端 3步操作
服務端 3步操作

07. NFS服務部署過程

服務端部署

第一個歷程碑:檢查NFS RPC服務軟件有沒有安裝

rpm -qa|grep nfs
rpm -qa|grep rpc
說明:默認centos系統沒有安裝nfs與rpc服務軟件

第二個歷程碑:進行yum安裝nfs與rpc服務軟件

yum install -y nfs-utils rpcbind
rpm -ql nfs-utils      -ql 參數表示查看安裝好的軟件,都安裝了哪些信息
/etc/rc.d/init.d/nfs   -- 啓動腳本命令
/usr/sbin/exportfs     -- NFS共享服務的管理命令
/usr/sbin/showmount    -- 查看NFS共享列表信息

rpm -ql rpcbind
/etc/rc.d/init.d/rpcbind   -- 啓動腳本命令
/usr/sbin/rpcinfo          -- 查看NFS註冊信息的

rpm -qf `which ssh`        -- 查看某個命令或文件屬於那個大禮包

第三個里程碑:進行NFS配置文件編寫

#NFS服務配置文件

cat >>/etc/exports<<EOF           
/data 172.16.1.0/24(rw,sync)
EOF

第四個歷程碑:創建共享目錄

mkdir -p /data
chown -R nfsnobody.nfsnobody /data
說明:nfsnobody用戶是在進行nfs軟件yum安裝時,自動創建的

第五個歷程碑:啓動服務

啓動服務
[root@nfs01 data]# /etc/init.d/rpcbind start
Starting rpcbind:                                          [  OK  ]
查看rpc註冊信息
[root@nfs01 data]# rpcinfo -p localhost
   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
[root@nfs01 data]# 
在啓動nfs服務
[root@nfs01 data]# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[root@nfs01 data]# rpcinfo -p localhost
   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
    100011    1   udp    875  rquotad
    100011    2   udp    875  rquotad
    100011    1   tcp    875  rquotad
    100011    2   tcp    875  rquotad
    100005    1   udp  42079  mountd
    100005    1   tcp  32847  mountd
    100005    2   udp  41905  mountd
    100005    2   tcp  54575  mountd
    100005    3   udp  34390  mountd
    100005    3   tcp  51479  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100021    1   udp  63443  nlockmgr
    100021    3   udp  63443  nlockmgr
    100021    4   udp  63443  nlockmgr
    100021    1   tcp  29131  nlockmgr
    100021    3   tcp  29131  nlockmgr
    100021    4   tcp  29131  nlockmgr
[root@nfs01 data]# 

將服務設置爲開機自啓動

# chkconfig rpcbind on
# chkconfig nfs on
rpc和nfs的配置文件
[root@nfs01 data]# chkconfig rpcbind on 
[root@nfs01 data]# chkconfig nfs on 
[root@nfs01 data]# vim /etc/init.d/rpcbind 
[root@nfs01 data]# vim /etc/init.d/nfs

第六個歷程碑:檢查NFS服務配置,以及本地測試掛載

[root@nfs01 data]# showmount -e localhost
Export list for localhost:
/data 172.16.1.0/24
[root@nfs01 data]# 
#本地掛載
[root@nfs01 ~]# mount -t nfs 172.16.1.31:/data/ /mnt/
[root@nfs01 ~]# df -h
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda3            19G  1.5G   16G   9% /
tmpfs               491M     0  491M   0% /dev/shm
/dev/sda1           190M   35M  146M  19% /boot
172.16.1.31:/data/   19G  1.5G   16G   9% /mnt
[root@nfs01 ~]# 

#NFS客戶端配置

第一個里程碑:安裝相應nfs客戶端軟件

yum install -y rpcbind nfs-utils    

如果不安裝rpcbind軟件:rpcinfo命令無法使用

如果不安裝nfs-utils軟件:showmount命令無法使用;客戶端掛載的時候無法識別nfs文件系統類型

第二個里程碑:rpcbind服務可以啓動(也可以不啓動)

/etc/init.d/rpcbind start

第三個里程碑:進行掛載前測試

[root@backup ~]# rpcinfo -p 172.16.1.31
[root@backup ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@backup ~]# 

第四個里程碑:進行共享目錄掛載

[root@backup ~]# mount -t nfs 172.16.1.31:/data /root/date/
[root@backup ~]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           19G  1.5G   16G   9% /
tmpfs              491M     0  491M   0% /dev/shm
/dev/sda1          190M   35M  146M  19% /boot
172.16.1.31:/data   19G  1.5G   16G   9% /root/date
[root@backup ~]# 

08、exports配置文件格式

NFS共享目錄 NFS客戶端地址1(參數1,參數2,...) 客戶端地址2(參數1,參數2,...)

NFS共享目錄 NFS客戶端地址(參數1,參數2,...)

exports配置文件重要參數說明

   no_root_squash           --- root用戶不進行映射壓縮
   root_squash              --- root用戶進行映射壓縮
   all_squash               --- 所有用戶都進行壓縮
   no_all_squash            --- 所有用戶都不進行壓縮
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章