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月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
195 1
|
13天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
52 2
|
17天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
34 1
|
23天前
|
Unix Linux 网络安全
NFS挂载服务
【10月更文挑战第14天】
29 2
|
27天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
81 1
|
29天前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
34 1
|
30天前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
184 0
|
1月前
|
Linux
CentOS-Stream-9配置chfs
通过上述步骤,您就可以在CentOS Stream 9上配置并运行CHFS,为用户提供基于HTTP的文件分享服务。请注意,实际操作时应根据CHFS的具体版本和文档进行适当调整。
48 0
|
Linux
百度搜索:蓝易云 ,Centos7系统wget 的安装与使用详细教程。
以上是在CentOS 7系统上安装和使用wget的详细教程。确保按照步骤操作,并根据您的需求进行必要的修改和调整。
182 0
|
关系型数据库 MySQL Linux
百度搜索:蓝易云【Centos7系统如何安装MySQL5.7数据库?】
安装 MySQL 5.7 数据库需要进行以下步骤:
119 0