NFS安装与使用

NFS网络文件系统

什么是NFS

NFS是Network File System的缩写,中文意思是网络文件系统,他的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录

NFS服务只能应用在linux系统上,FTP、Samba服务均都支持linux和Windows

NFS服务的应用

  • 实现数据信息的共享
  • 实现数据信息的一致

共享存储的方式

硬件实现共享存储

  • IBM、Oracle、EMC
    软件实现共享存储

  • NFS、Samba、FTP

NFS共享系统原理

  • 在NFS服务端创建共享目录
  • 通过mount网络挂载,将NFS客户端本地目录挂载到NFS服务端共享目录上
  • NFS客户端挂载目录上创建、删除、查看数据操作,等价于在服务端进行的创建 删除 查看操作

RPC

什么是RPC

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。

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 参数表示查看安装好的软件,都安装了哪些信息
  • 进行NFS配置文件编写
vim /etc/exports 
/data 172.16.1.0/24(rw,sync)
  • 创建共享目录
mkdir -p /data
chown -R nfsnobody.nfsnobody /data

说明:nfsnobody用户是在进行nfs软件yum安装时,自动创建的

*启动服务

/etc/init.d/rpcbind start
/usr/sbin/rpcinfo          -- 查看NFS服务注册信息的
  • 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
  • /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  ]
  • 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  25565  mountd
    100005    1   tcp  41264  mountd
    100005    2   udp   9511  mountd
    100005    2   tcp   6586  mountd
    100005    3   udp   7479  mountd
    100005    3   tcp  62974  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  10753  nlockmgr
    100021    3   udp  10753  nlockmgr
    100021    4   udp  10753  nlockmgr
    100021    1   tcp  27628  nlockmgr
    100021    3   tcp  27628  nlockmgr
    100021    4   tcp  27628  nlockmgr
  • 设置开机自启动
chkconfig rpcbind on
chkconfig nfs on
  • 检查NFS服务配置,以及本地测试挂载
    showmount -e localhost
Export list for localhost:
/data 172.16.1.0/24

mount -t nfs 172.16.1.31:/data /mnt
df -h

Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3          8.8G  1.7G  6.7G  21% /
tmpfs              238M     0  238M   0% /dev/shm
/dev/sda1          190M   40M  141M  22% /boot
172.16.1.31:/data  8.8G  1.7G  6.7G  21% /mnt
[root@nfs01 ~]# cd /mnt
[root@nfs01 mnt]# echo "momoda" >test.txt
[root@nfs01 mnt]# ll
-rw-r--r-- 1 nfsnobody nfsnobody      7 Aug 31 10:56 test.txt
[root@nfs01 mnt]# cd /data
[root@nfs01 data]# cat test.txt 
momoda

客户端

  • 检查NFS RPC服务软件有没有安装
rpm -qa|grep nfs
rpm -qa|grep rpc

*安装nfs与rpc服务软件

yum install -y nfs-utils rpcbind
  • 检测是否存在共享目录,进行共享目录挂载
showmount -e 172.16.1.31
mount -t nfs 172.16.1.31:/data /mnt
df -h

说明:进行文件创建或删除测试

NFS拓展

指定NFS客户端地址的配置详细说明

客户端地址 具体地址 说明
授权单一客户端访问NFS 10.0.0.30 一般情况,生产环境中国此配置不多
授权整个网段访问NFS 10.0.0.0/24 期中的/24等同于255.255.255.0,指定网段为生产环境中最常见的配置,配置简单,维护方便
授权整个网段课访问NFS 10.0.0.* 指定网段的另外写法(不推荐)
授权某个域名客户端访问 nfs.lcx.com 此方法生产环境一般情况不常用
授权整个域名客户端访问 *.lcx.com 此方法生产环境不常用

企业生产场景NFS配置实例

常用格式说明 要共享的目录,客户端的ip或ip段
配置一 /data 10.0.0.0/24(rw,sync)说明:允许客户端读写,并且数据同步写入到服务端的硬盘中
配置二 /data 10.0.0.0/24(rw,sync,all_squash,anonuld=2000,anongid=2000)允许客户端读写,并且数据同步写到服务端的磁盘里,并且指定客户端的用户UID和GID。早起生产环境的一种配置,适合多客户端共享一个NFS服务单目录,如果所有服务器的nfsnobody账户UID都是65534,则本例没什么必要。早起(centos5.5)的系统默认情况下nfsnobody的UID不一定是65534,此时如果这些服务器共享一个NFS目录,就会出现访问权限问题
配置三 /home/lcx 10.0.0.0/24(ro)只读共享:例如生产环境中,开发人员有查看生产服务器日志的需求,但又不希望给开发人员其他权限,那么就可以给开发提供从某个测试服务器NFS客户端上查看某个生产服务器的日志目录的权限,当然这不是唯一的方法,例如可以吧程序记录的日志发送到测试服务器供开发查看或者通过收集日志等其他方式呈现

你可能感兴趣的:(Linux)