实验环境:

操作系统: CentOS release 6.8 (Final)

虚拟机:VMware Workstation 10.0.1build-1379776

实战任务: 安装配置NFS服务

服务器端:192.168.222.129

客户端1:192.168.222.130

客户端2:192.168.222.135

NFS概述:NFS(NetworkFile System)即网络文件系统,是Linux支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

NFS使用的优势:

1.节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。

2.用户不需要在网络中的每个机器上都建有例似Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。

3.一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

NFS的组成:NFS体系至少有两个主要部分:

1.客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。

2.在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数。

Linux NFS的安装与配置_第1张图片

NFS服务器端配置:

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

[root@localhost ~]# mkdir -p /data/skyboy   #建立共享目录

[root@localhost ~]# vi  /etc/exports    #配置共享目录 

/data/skyboy/  192.168.222.0/24(rw,no_root_squalsh,no_all_squash,sync)

[root@localhost ~]# service  rpcbind  start

正在启动 rpcbind                                         [确定]

[root@localhost ~]# service  nfs  start

[root@localhost ~]# vi  /etc/sysconfig/nfs    #打开端口

# Port rpc.mountd shouldlisten on.

MOUNTD_PORT=892                           #把前面的#号去掉

# Port rquotad should listenon.

RQUOTAD_PORT=875                           #把前面的#号去掉

# TCP port rpc.lockd shouldlisten on.

LOCKD_TCPPORT=32803                         #把前面的#号去掉

# UDP port rpc.lockd shouldlisten on.

LOCKD_UDPPORT=32769                       #把前面的#号去掉

这些端口是配置文件默认的,是可以自行修改增加需要的端口号,然后保存配置文件。


[root@localhost ~]# rpcinfo  –p   #查看启用的端口情况

  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

   100005    1   udp   892  mountd

   100005    1   tcp   892  mountd

   100005    2   udp   892  mountd

   100005    2   tcp   892  mountd

   100005    3   udp   892  mountd

   100005    3   tcp   892  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 32769  nlockmgr

   100021    3   udp 32769  nlockmgr

   100021    4   udp  32769 nlockmgr

   100021    1   tcp 32803  nlockmgr

   100021    3   tcp 32803  nlockmgr

   100021    4   tcp 32803  nlockmgr

 

[root@localhost ~]# vi  /etc/sysconfig/iptables  #充许防火墙通过的端口

-A INPUT -m state --state NEW -m tcp -p tcp--dport 111  -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 892   -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 2049   -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport  32769  -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 32803   -j ACCEPT

 

[root@localhost ~]# /etc/init.d/iptables restart

[root@localhost ~]# chkconfig --level 2345 rpcbind on  #服务随系统自动启动

[root@localhost~]# chkconfig  --level 2345  nfs  on   #服务随系统自动启动

  

NFS客户端配置:

[root@localhost/]#  showmount

-bash:nf: command not found

[root@localhost/]# yum install showmount  -y

 

NFS注意事项:

1.老版本采用portmap,新版本采用rpcbind;

2.防火墙的相关端口要打开;

3.下载rpcbind软件地址:https://pkgs.org/download/portmap

4.客户机启动就自动挂载服务器的共享目录,则需修改客户机上的/etc/fstab文件

/etc/fstab格式:(192.168.222.129:/data/skyboy    /mnt    nfs     defaults        0      0
               Fs_spec          fs_file     fs_type  fs_options  fs_dump  fs_pass

Fs_spec:定义希望加载的文件系统所在的设备或远程文件系统,对于nfs则设为IP:/共享目录
Fs_file:本地挂载点
Fs_type:挂载类型
Fs_options:挂载参数
Fs_dump:该选项被“dump”命令使用来检查一个文件系统该以多快频率进行转储,若不需转储即为0
Fs_pass:该字段被fsck命令使用来决定在启动时需要被扫描的文件系统的顺序,根文件系统“/”对应该字段值为1,其他文件系统为2,若该文件系统无需在启动时被扫描则为0
配置客户端自动挂载服务器共享目录方式:

[root@localhost ~]# vi  /etc/fstab

tmpfs          /dev/shm                tmpfs   defaults         00

devpts          /dev/pts                devpts  gid=5,mode=620  0 0

sysfs           /sys                    sysfs   defaults        0 0

proc              /proc                   proc   defaults      0 0

192.168.222.129:/data/skyboy     /mnt   nfs     defaults        0 0

#最后一行是我添加的: 

测试情况:

 NFS服务器:192.168.222.129    注意:服务器的NFS和rpcbind服务要启动

 客户端1:192.168.222.130        注意:配置fstab,自动挂载共享服务目录 

 客户端2:192.168.222.135         注意:配置fstab,自动挂载共享服务目录 


服务器端:192.168.222.129

[root@localhost ~]# /etc/init.d/rpcbind status 

rpcbind (pid  1274) 正在运行...

[root@localhost ~]# /etc/init.d/nfs status

rpc.mountd (pid 1399) 正在运行...

nfsd (pid 1415 1414 1413 1412 1411 1410 1409 1408) 正在运行...


客户端:192.168.222.130

[root@localhost ~]# df  -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              15G  2.0G   13G  14% /

tmpfs                 495M     0  495M   0% /dev/shm

/dev/sda1             190M   56M  125M  31% /boot

192.168.222.129:/data/skyboy

                       18G  2.7G   14G  17% /mnt

[root@localhost ~]# cd  /mnt

[root@localhost mnt]# ll

总用量 4

-rw-r--r--. 1 root root   0 6月  18 02:37 as

-rw-r--r--. 1 root root 202 6月  18 02:33 mtab

-rw-r--r--. 1 root root   0 6月  18 02:37 saf

-rwxrwxrwx. 1 root root   0 6月  18 02:12 test

-rwxrwxrwx. 1 root root   0 6月  18 02:12 text.txt


客户端:192.168.222.130

[root@localhost ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       18G  4.8G   12G  30% /

tmpfs                 504M   88K  504M   1% /dev/shm

/dev/sda1             477M   54M  398M  12% /boot

192.168.222.129:/data/skyboy

                       18G  2.7G   14G  17% /mnt    #服务器的共享目录,挂载到客户端的/mnt下

[root@localhost ~]# cd  /mnt

[root@localhost mnt]# ll

总用量 4

-rw-r--r--. 1 root root   0 6月  18 02:37 as

-rw-r--r--. 1 root root 202 6月  18 02:33 mtab

-rw-r--r--. 1 root root   0 6月  18 02:37 saf

-rwxrwxrwx. 1 root root   0 6月  18 02:12 test

-rwxrwxrwx. 1 root root   0 6月  18 02:12 text.txt

两个客户端的内容都是同步NFS服务器。