NFS服务搭建

简介:

    NFS是Network File System的简写(网络文件系统)。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机,客户机远程访问存放在服务器上的数据。

1、软件

1.1 RPC 主程序:rpcbind

    port映射工作。

1.2 NFS 主程序:nfs-utils

    提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件。


2、NFS的软件结构

主要配置文件:/etc/exports

参数值 内容说明
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 才行!默认值为root_squash。
all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦!
anonuid
anongid
anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。


3、配置NFS服务器端

配置NFS服务器

# /etc/init.d/rpcbind start

# /etc/init.d/nfs start

# /etc/init.d/nfslock start

# chkconfig rpcbind on

# chkconfig nfs on

# chkconfig nfslock on

查看rpcbind服务:

# netstat -tulnp|grep rpc

wKioL1OTGiejKeH-AAIlSzWdijg173.jpg

说明:

(1)rpcbind 启动的 port 在 111 ,同时启动在 UDP 与 TCP;

(2)nfs 本身的服务启动在 port 2049 上;

(3)其他 rpc.* 服务启动的 port 则是随机产生的,因此需向 port 111 注册。


--RPC 服务的注册状况:

# 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  40292  status

    100024    1   tcp  12731  status

    100011    1   udp    875  rquotad

    100011    2   udp    875  rquotad

    100011    1   tcp    875  rquotad

    100011    2   tcp    875  rquotad

    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  62943  nlockmgr

    100021    3   udp  62943  nlockmgr

    100021    4   udp  62943  nlockmgr

    100021    1   tcp  44053  nlockmgr

    100021    3   tcp  44053  nlockmgr

    100021    4   tcp  44053  nlockmgr

    100005    1   udp  54406  mountd

    100005    1   tcp  39433  mountd

    100005    2   udp  54406  mountd

    100005    2   tcp  39433  mountd

    100005    3   udp  54406  mountd

    100005    3   tcp  39433  mountd


--查看支持NFS版本:

# rpcinfo -t localhost  nfs

program 100003 version 2 ready and waiting

program 100003 version 3 ready and waiting

program 100003 version 4 ready and waiting


--查看NFS服务器共享:

# showmount -e localhost

Export list for localhost:

/ags/arcgis/server/usr 10.238.208.36


--NFS关于目录权限全部参数:

# cat /var/lib/nfs/etab

/ags/arcgis/server/usr10.238.208.36(rw,async,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)

注意:anonuid=65534 对比/etc/passwd 后,会发现是nfsnobody。 如果有其他客户端挂载了你的 NFS 文件系统时,那么该客户端与文件系统信息就会被记录到 /var/lib/nfs/xtab 里头去的。

# grep 65534 /etc/passwd

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin


--重置NFS:

# exportfs [-aruv]

选项与参数:

-a :全部挂载(或卸除) /etc/exports 档案内的设定

-r :重新挂载 /etc/exports 里面的设定,此外,亦同步更新 /etc/exports

     及 /var/lib/nfs/xtab 的内容!

-u :卸除某一目录

-v :在 export 的时候,将分享的目录显示到屏幕上!

# 1. 重新挂载一次 /etc/exports 的设定

[root@www ~]# exportfs -arv

# 2. 将已经分享的 NFS 目录资源,通通都卸除

[root@www ~]# exportfs -auv

# 这时如果你再使用 showmount -e localhost 就会看不到任何资源了!


4、配置NFS客户端

# /etc/init.d/rpcbind start

--如果服务器端有启动 nfslock 的话,客户端也要启动才能生效

# /etc/init.d/nfslock start

--挂载

# mkdir -p /home/nfs/public

# mount -t nfs 192.168.100.254:/home/public  /home/nfs/public

--卸载

# umount /home/nfs/public


--查看挂在参数:

# mount | grep addr
192.168.100.254:/home/public on /home/nfs/public type nfs (rw,noexec,nosuid,
nodev,vers=4,addr=192.168.100.254,clientaddr=192.168.100.10)



     本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1419412,如需转载请自行联系原作者










相关文章
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
3月前
|
存储 监控 网络协议
【Linux】文件服务NFS(Network File System)
【Linux】文件服务NFS(Network File System)
34 0
|
存储 网络协议 安全
Linux 在线/离线安装 NFS 服务及使用
-m 表示指定文件所在的文件系统或者块设备(处于 mount 状态)。所有访问该文件系统的进程都被列出。如上所示,有两个进程占用了,将其kill掉,再重新取消挂载。
2207 0
Linux 在线/离线安装 NFS 服务及使用
|
1天前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
8 0
|
3月前
|
网络协议 Linux 测试技术
NFS - MIPS架构下构建NFS共享目录服务
NFS - MIPS架构下构建NFS共享目录服务
60 1
|
4月前
|
Ubuntu
百度搜索:蓝易云【Ubuntu 22.04上安装NFS服务教程。】
通过以上步骤,你可以在Ubuntu 22.04上安装和配置NFS服务,实现文件共享。确保在进行任何系统配置更改之前备份重要的数据,并在操作过程中小心谨慎,以免造成不必要的问题。
36 0
|
4月前
|
存储 网络协议 Linux
哇~真的是你呀!哎呀!今天是LINUX中的NFS存储服务
NFS(Network File System)是一种用于共享文件系统的协议,常用于Linux系统中。它允许在网络上共享文件和目录,使得多台计算机可以共享和访问相同的文件资源。以下是关于Linux中的NFS服务的简要介绍。
56 0
|
7月前
|
缓存 安全 网络协议
部署YUM仓库及NFS共享服务
部署YUM仓库及NFS共享服务
159 0
|
8月前
|
Kubernetes 网络协议 安全
NFS(Network File System) 服务安装部署配置
NFS(Network File System)是一种网络文件系统,主要具有以下特点: - 允许网络中的计算机之间通过TCP/IP网络共享文件。 - 可以透明地让不同操作系统的机器访问同一个文件系统。 - 用户可以像访问本地文件一样访问远程NFS服务器上的文件。 - NFS主要由两个组件构成:NFS服务器端与NFS客户端。 - 服务器端负责共享文件系统、控制权限,客户端负责访问服务器端的资源。 - 主要协议是NFSv3和NFSv4,基于RPC工作。 - 支持不同客户端并发访问、文件锁、权限控制等。 - 性能稳定,通常用于数据共享。
143 0
|
8月前
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
254 1