CentOS 6.5系统下安装和配置NFS服务

简介: 一、环境介绍:   服务器:centos 192.168.1.225   客户端:centos 192.168.1.226 二、安装: NFS的安装配置:centos 5 : 1 yum -y install nfs-utils portmap centos 6(在CentOS 6.

一、环境介绍:

  服务器:centos 192.168.1.225

  客户端:centos 192.168.1.226

二、安装:

NFS的安装配置:


centos 5 :

1
yum -y  install  nfs-utils portmap

centos 6(在CentOS 6.5当中,portmap服务由rpcbind负责) :

1
yum -y  install  nfs-utils rpcbind

三、服务器端配置:

1、创建共享目录:

1
[root@centos2 /] # mkdir /usr/local/test

2、NFS文件配置:

1
2
3
[root@centos2 /] # vi /etc/exports 
#增加一行:
/usr/local/test/  192.168.1.226(rw,no_root_squash,no_all_squash, sync )

:x 保存退出;

使配置生效:

1
[root@centos2 /] # exportfs -r

注:配置文件说明:

/usr/local/test/ 为共享的目录,使用绝对路径

192.168.1.226(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.youxia.com,地址与权限中间没有空格,权限说明:

rw:read-write,可读写;

ro:read-only,只读;

sync:文件同时写入硬盘和内存;

async:文件暂存于内存,而不是直接写入内存;

no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;

anongid:匿名用户的GID值。

3、启动:

centos6:

1
2
3
4
5
6
7
8
9
10
[root@centos2 /] # service rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@centos2 /] # service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
[root@centos2 /] #

centos 5

1
2
3
[root@centos2 /] # service portmap start
[root@centos2 /] # service nfs start
[root@centos2 /] #

四、客户端挂载:

1、创建需要挂载的目录:

1
2
[root@localhost ~] # mkdir /usr/local/test
[root@localhost ~] #

2、测试挂载:

1
2
3
4
[root@localhost ~] # showmount -e 192.168.1.225
Export list  for  192.168.1.225:
/usr/local/test  192.168.1.226
[root@localhost ~] #

如果显示:rpc mount export: RPC: Unable to receive; errno = No route to host,则需要在服务端关闭防火墙(稍候会详细说)。

3、挂载:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~] # mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test
[root@localhost ~] # mount
/dev/mapper/VolGroup-lv_root  on /  type  ext4 (rw)
proc on  /proc  type  proc (rw)
sysfs on  /sys  type  sysfs (rw)
devpts on  /dev/pts  type  devpts (rw,gid=5,mode=620)
tmpfs on  /dev/shm  type  tmpfs (rw)
/dev/sda1  on  /boot  type  ext4 (rw)
none on  /proc/sys/fs/binfmt_misc  type  binfmt_misc (rw)
sunrpc on  /var/lib/nfs/rpc_pipefs  type  rpc_pipefs (rw)
nfsd on  /proc/fs/nfsd  type  nfsd (rw)
192.168.1.225: /usr/local/test  on  /usr/local/test  type  nfs (rw,vers=4,addr=192.168.1.225,clientaddr=192.168.1.226)
[root@localhost ~] #

如果信息如上显示则挂载成功!

4、测试:

客户端生成一个文件:

1
2
3
4
5
6
[root@centos2 /] # cd /usr/local/test/
[root@centos2  test ] # echo "hello nfs test">>test
[root@centos2  test ] # ll
total 4
-rw-r--r-- 1 root root 15 Apr  9 13:24  test
[root@centos2  test ] #

服务端检查:

1
2
3
4
5
[root@centos2 /] # cd /usr/local/test/
[root@centos2  test ] # ll
total 4
-rw-r--r-- 1 root root 15 Apr  9 13:24  test
[root@centos2  test ] #

挂载成功!

五、解除挂载:

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost ~] # umount /usr/local/test
[root@localhost ~] # mount
/dev/mapper/VolGroup-lv_root  on /  type  ext4 (rw)
proc on  /proc  type  proc (rw)
sysfs on  /sys  type  sysfs (rw)
devpts on  /dev/pts  type  devpts (rw,gid=5,mode=620)
tmpfs on  /dev/shm  type  tmpfs (rw)
/dev/sda1  on  /boot  type  ext4 (rw)
none on  /proc/sys/fs/binfmt_misc  type  binfmt_misc (rw)
sunrpc on  /var/lib/nfs/rpc_pipefs  type  rpc_pipefs (rw)
nfsd on  /proc/fs/nfsd  type  nfsd (rw)
[root@localhost ~] #

如果遇到:umount.nfs: /usr/local/test: device is busy

可能用命令:

1
2
3
4
5
6
7
8
[root@localhost /] # fuser -m -v /usr/local/test
                      用户     进程号 权限   命令
/usr/local/test/ :              root       2798 ..c..  bash
                      root       2996 ..c..  su
[root@localhost /] # kill -9 2798
[root@localhost /] # kill -9 2996
[root@localhost /] # umount /usr/local/test
[root@localhost /] #

 

六、服务器端防火墙设置(NFS 开启防墙配置):

1、修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)

1
2
3
4
5
# Local services  
     mountd 1011 /tcp  #rpc.mountd  
     mountd 1011 /udp  #rpc.mountd  
     rquotad 1012 /tcp  #rpc.rquotad  
     rquotad 1012 /udp  #rpc.rquotad

2、重起Linux NFS服务

1
  service nfs restart

3、此时rpc相关端口已经被固定,可以为Linux NFS添加防火墙规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
     #portmap  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p tcp --dport 111 -j ACCEPT  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p udp --dport 111 -j ACCEPT  
     #nfsd  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p tcp --dport 2049 -j ACCEPT  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p udp --dport 2049 -j ACCEPT  
     #mountd  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p tcp --dport 1011 -j ACCEPT  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p udp --dport 1011 -j ACCEPT  
     #rquotad  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p tcp --dport 1012 -j ACCEPT  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p udp --dport 1012 -j ACCEPT  
     #rpc.statd  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p tcp --dport 32768 -j ACCEPT  
     /sbin/iptables  -A INPUT -s 192.168.1.0 /254  -p udp --dport 32768 -j ACCEPT
1
2
3
4
5
6
---TCP方法成功-------------------------------------------
-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 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1011 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1012 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 32768 -j ACCEPT

客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:

1
mount  -t nfs 192.168.1.225: /usr/local/test  /usr/local/test   -o proto=tcp -o nolock

 

目录
相关文章
|
1月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
417 69
|
1月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
218 78
|
2月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
172 80
|
24天前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
116 10
|
1月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
172 0
|
Linux 应用服务中间件 nginx
CentOS7 自定义服务
服务配置 服务配置主目录存放路径 # cd /usr/lib/systemd/system 文件内容格式 [Unit]:服务的说明 Description:描述服务 After:在哪些描述服务类别之后启动 [Service]服务运行参数的设...
868 0
|
2月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
255 2
|
3月前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
218 18