linux服务___Linux下NFS服务器的搭建与配置

简介:

一.系统环境

1
2
[root@node1 ~] # cat /etc/redhat-release 
CentOS release 6.8 (Final)


二.安装NFS服务

1、查看系统是否已安装NFS

1
2
rpm -qa |  grep  nfs
rpm -qa |  grep  rpcbind


2、安装NFS

1
2
  yum -y  install  rpcbind   nfs-utils
   ##rpcbind,是rpc主程序. nfs-utils,是nfs的主程序.


3.服务端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
1.创建共享目录
mkdir   /nfs-data
 
2.编辑主要配置文件: /etc/exports
vim  /etc/exports 
/nfs-data        192.168.193.0 /24 (rw,no_root_squash,no_all_squash, sync )
[共享目录]      [第一台主机(权限)]
 
 
3.使配置生效
  exportfs -r      #每次修改配置文件,都需要加-r参数进行reload。
 
  
4.启动rpcbind、nfs服务
  service rpcbind start
  service nfs start
 
6.设置开机自启:
   chkconfig rpcbind on
   chkconfig nfs on
   chkconfig nfslock on
   
  
7.查看端口状态
  ss -tln 或    netstat  -ntulp
   #rpcbind 启动在UDP,TCP的111端口
   #NFS本身的服务启动在port2049上
   #其他rpc.*服务启动的端口则是随机的,需要向port 111 注册。
   
8.查看 RPC 服务的注册状况
  rpcinfo -p localhost
    
 
9. 测试:
[root@node1 ~] # showmount -e localhost
Export list  for  localhost:
/nfs-data  192.168.193.0 /24
 
 
 
服务端相关配置解释:
 
1.相关进程:
     rpc.nfsd    管理客户端是否使用NFS
     rpc.mountd  管理客户端的权限
     rpc.lockd   管理文件的锁定(服务端与客户端都开启)
     rpc.statd   检查文件的一致性(服务端与客户端都开启)
 
     /etc/init .d /nfs        与服务器相关
     /etc/init .d /nfslock    与客户端相关
 
 
2.主要文件:
     /etc/exports            主配置文件
     /usr/sbin/exportfs      维护NFS共享资源的指令,一般用于NFS服务器端
     /usr/sbin/showmount     查看NFS共享出来的目录资源,一般用于NFS客户端
     /var/lib/nfs/ *tab      NFS的日志文件
         etab               记录NFS所共享的目录的完整权限设置值
         xtab               主要记录曾经连入NFS服务器端的客户端信息
 
 
3. /etc/exports 详解
   /etc/exports 文件是NFS主要的配置文件,该文件用于设置服务器的共享目录,以及目录允许访问的主机,访问权限,和其他选项,NFS安装后会在 /etc/ 目录下创建一个空文件,用户需要自定编辑.
     
共享目录 [客户端1(选项1,选项2…)] [客户端2(选项1,选项2…)]
 
举例:
/tmp     192.168.209.129(rw,no_root_squash)
/root    192.168.209.130(rw,no_root_squash)
 
共享目录:即提供了NFS客户端使用的目录
客户端:可以访问共享目录的计算机,可以通过IP地址和主机名进行指定,也可以使用子网掩码指定网段
选项:指定该共享目录的访问权限
 
 
一些常见权限参数:
ro          该主机对该共享目录有只读权限
rw          该主机对该共享目录有读写权限,要注意是针对nfs之外还有目录自己权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash  客户机用root访问该共享文件夹时,不压制root用户身份
all_squash  客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid         将客户机上的用户映射成指定的本地用户ID的用户
anongid         将客户机上的用户映射成属于指定的本地用户组ID
sync         资料同步写入到内存与硬盘中
async           资料会先暂存于内存中,而非直接写入硬盘
insecure    允许从这台机器过来的非授权访问
 
#rw  ro  ——该目录分享的权限是可读写(read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
 
#sync  async ——sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘。
 
#no_root_squash  root_squash ——客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!
all_squash  ——不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 。
 
 
4.修改 /etc/exports 配置文件后,需要使用exportfs命令。
    exportfs [-aruv]
     -a 全部文件系统挂载(或者卸载) /etc/exports  文件中的设置
     -r  重新挂载 /etc/exports  文件中的设置     
     -u  卸载某一目录
     - v   显示详细信息


4.客户端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1.查询软件是否安装
rpm -qa |  grep  nfs
 
2.安装nfs-utils客户端
yum -y  install  nfs-utils
 
3.创建挂载目录
mkdir     /nfsdata
 
4.查看服务器端挂载信息:
[root@node2 /] # showmount -e 192.168.193.128
Export list  for  192.168.193.128:
/nfs-data  192.168.193.0 /24
 
5.进行挂载  #为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议
mount  -t nfs 192.168.101.128: /nfs-data  /nfsdata  -o tcp,nolock
 
6.进行查看
[root@node2 /] # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_node2-lv_root
                        18G  790M   16G   5% /
tmpfs                 743M     0  743M   0%  /dev/shm
/dev/sda1              477M   39M  413M   9%  /boot
/dev/sr1               3.7G  3.7G     0 100%  /mnt
/dev/sr0               2.1G  2.1G     0 100%  /media
192.168.193.128: /nfs-data
                        18G  1.4G   15G   9%  /nfsdata
                        
#挂载成功!


5.固定nfs服务端口(为了方便配置防火墙,若防火墙关闭,则忽略该步骤)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
NFS启动时会随机启动多个端口并向RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定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
     100024    1   udp  59175  status
     100024    1   tcp  36247  status
     100005    1   udp  20048  mountd
     100005    1   tcp  20048  mountd
     100005    2   udp  20048  mountd
     100005    2   tcp  20048  mountd
     100005    3   udp  20048  mountd
     100005    3   tcp  20048  mountd
     100003    3   tcp   2049  nfs
     100003    4   tcp   2049  nfs
     100227    3   tcp   2049  nfs_acl
     100003    3   udp   2049  nfs
     100003    4   udp   2049  nfs
     100227    3   udp   2049  nfs_acl
     100021    1   udp  43725  nlockmgr
     100021    3   udp  43725  nlockmgr
     100021    4   udp  43725  nlockmgr
     100021    1   tcp  45552  nlockmgr
     100021    3   tcp  45552  nlockmgr
     100021    4   tcp  45552  nlockmgr
     
     
    
    
编辑配置文件:
    vim  /etc/sysconfig/nfs
     RQUOTAD_PORT=30001
     LOCKD_TCPPORT=30002
     LOCKD_UDPPORT=30002
     MOUNTD_PORT=30003
     STATD_PORT=30004 
     
  重启服务:
      systemctl start  nfs.service
  再次查看,端口已固定:    
      rpcinfo -p localhost


6.mount常见挂载参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
linux系统:
mount  -t nfs -o hard,intr,nolock,nfsvers=3,tcp,rsize=1048600,wsize=1048600, bg  192.168.1.1: /data/      /XXX
 
 
 
-t:指定文件系统的类型,通常不必指定, mount  会自动选择正确的类型。
 
         光盘或光盘镜像:iso9660 
         DOS fat16文件系统:msdos 
         Windows 9x fat32文件系统:vfat 
         Windows NT ntfs文件系统:ntfs 
         Mount Windows文件网络共享:smbfs 
         UNIX(LINUX) 文件网络共享:nfs
 
 
-o:主要用来描述设备或档案的挂接方式
       hard:两者有一台主机脱机,则RPC会持续的呼叫,直到恢复连接。(默认hard)
       soft:RPC会在timeout后重复呼叫。使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息
       
       
       intr:如果是hard方式挂载,加上intr,则当RPC持续呼叫时,该次呼叫是可以被中断的。(interrupted)
             允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。
       
       
       rsize:在NFS服务器读取文件时NFS使用的字节数,默认值是1024个字节。
       wsize:向NFS服务器写文件时NFS使用的字节数,默认值是1024个字节。
       
       fg :前台执行, mount 会持续的尝试挂载,直到成功或 time  out   (默认 fg
       bg :后台执行, mount 会在后台持续多次进行 mount ,不会影响到前台的程序的运行。
       
       tcp:对文件系统的挂载使用TCP,而不是默认的UDP。
       
 
solaris系统:
mount  -F nfs -o hard,intr,llock,vers=3,proto=tcp,timeo=1200,sec=sys,rsize=1048600,wsize=1048600 192.168.1.1: /data/  /XXX/
 
 
     -F:指定文件类型。    
     vers:3  由于默认情况下Linux下挂载nfs使用的是nfs version3,而solaris10下挂载nfs使用的是nfs version4。所以改成3
     timeo:暂停时间:一秒的十分之1200


7.客户端nfs实现自动挂载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
方式1:添加进fstab中实现开机自动挂载
    vim /etc/fstab
    添加:
    192.168.193.128:/nfs-data  /data   nfs  defaults      0 0
    chkconfig netfs on
    #网络文件系统由netfs服务来挂载,所以必须保证netfs为开机启动
方式2:添加进/etc/rc.d/rc.local
mount -t nfs -o nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768  192.168.193.128:/nfs-data       /data
 
 
#方式1与方式2的区别:
    理解为将磁盘挂载写进/etc/fstab,表示启动过程中就挂载上去。
    如果把mount.nfs命令写在/etc/rc.local里,就是表示在加载了shell之后(系统启动后)才挂载NFS
 
     
方式3:使用autofs服务,实现自动挂载,自动卸载  
                    ### cd 到挂载的目录,实现自动挂载
            
                     
1.安装必要软件包
yum install autofs   -y
 
2.编辑配置文件
vim /etc/auto.master          ##主配置文件,指定检测的特定目录
    /nfsdata     /etc/auto.nfs
   [需要监控的目录,挂载的目录] 
vim /etc/auto.nfs    ##子配置文件      
  temp  -rw   192.168.44.128:/nfs-data      ###实际上nfs是挂载在这个目录下/nfsdata/temp
[挂载后的目录]      
     
     
3.启动服务autofs
/etc/init.d/autofs start
 
4.检查
df -h   #没有挂载
 
cd /nfsdata   #没有挂载
cd /nfsdata/temp    
df -h         #自动进行挂载
 
 
如果长时间不进入,就会自动断开,默认是300秒
/etc/sysconfig/autofs配置.
本文转自   a8757906   51CTO博客,原文链接:http://blog.51cto.com/nxyboy/1933615
相关文章
|
3天前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
1月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
45 1
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
22天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
1月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
50 6
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
1月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
63 4
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
1月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
1月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
1月前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。