简述NFS服务器搭建

简单罗列基础命令,只分享我的想法!

NFS网络文件系统,和FTP文件传输协议不一样,NFS主要依靠rpcbind进程,通过rpcbind把命令传递到NFS服务器(这一点就与FTP不一样,FTPclient是发送对具体资源的请求,而NFS是要把某个函数的调用作为请求发送到服务器端,你可以挂载共享目录、vim共享文件等,就好像你在NFS服务器实机操作一样),再由NFS服务器的nfsd进程向NFS服务器的kernel发起系统调用,在把调用之后的结果通过rpcbind发到client

clientserver端都要启用rpcbind进程,因为NFS需要临时开启某些端口,所有的这些端口都要向portmapper111端口)服务进行注册,告知portmapper那些nfs的服务和端口的对应表(如图1),client也通过rpcbind去获得server端的那些已经注册了端口,进而可以通信。

wKioL1VUMcHSp_59AALmHMLNjts928.jpg

1

就好像你去发送一个快递(顺丰),你就相当于那个client而快递哥就是rpcbind,你要邮寄到的目标就是server区下的那个已经在rpcbind登记过的某个端口,你只要告诉快递哥我要找server区下的mountdok了,肯定也是server所在区域的顺丰快递哥(负责server区的那个快递哥rpcbind)找到mountd这个端口。意思差不多,向server端的rpcbind进程注册的服务同样也只有client端的rpcbind进程才能知道。

client访问server共享的文档与两个权限有关,分别是NFS服务器有开放可写入的权限,和实际档案的权限是否可读写。

client是向server端发起的rpc所以,client的那个用户的id必须在server端有,否则将会以匿名的形式显示,因为文件本身就是server的。所以,权限的更改需要仔细斟酌。

配置较为简单,如下:

1)server

需要安装nfs-utils,用来提供rpc.nfsd及rpc.mountd等nfs监控程序与基本命令,可以自己rpm -ql nfs-utils看一下是否提供。

vim /etc/exports

//格式directory(or file system)   client1(option1,option2)  client2(option1, option2)

/mnt 172.16.49.5(rw)

通知nfsd重新读取/etc/exports中的共享目录或文件系统

exportfs �Carv

2)client

ps aux |grep rpc| grep �Cv grep

确定是否rpcbindrpc.statd这两个进程开启

查看NFS server服务器共享的目录

showmount �Ce 172.16.49.1

挂载到本地

mount �Ct nfs 172.16.49.1:/mnt /mnt

3)client可以对共享目录有写权限

nfs已经放行rw

server

因为在serverclientroot用户被压缩为nfsnobodyuid6534

chmod o+x /mnt

你也可以使用setfacl这个命令,因为会更加安全一些,本文就直接对其它用户开放写权限了。

客户端复制passwd文件到共享目录下,server的视图为图2

wKiom1VUMaLgElP7AADQAiruDbQ060.jpg

2

Client的视图如下图3

wKiom1VUMe7wTPAbAAD2_iSeVOo785.jpg

3

注意:在nfs服务器端可以看到nfs服务器有的系统账户的账户名,否则全部都是nfsnobody,而在client则全部都是nobody用户。

注意:常用在/etc/exports中共享目录的选项说明

secure这个选项是缺省选项,它使用了 1024 以下的 TCP/IP 端口实现 NFS 的连接。指定 insecure 可以禁用这个选项。

rw这个选项允许 NFS 客户机进行读/写访问。缺省选项是只读的。

async这个选项可以改进性能,但是如果没有完全关闭 NFS 守护进程就重新启动了 NFS 服务器,这也可能会造成数据丢失。

no_wdelay这个选项关闭写延时。如果设置了 async,那么 NFS 就会忽略这个选项。

nohide如果将一个目录挂载到另外一个目录之上,那么原来的目录通常就被隐藏起来或看起来像空的一样。要禁用这种行为,需启用 hide 选项。

no_subtree_check这个选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查。缺省选项是启用子树检查。

no_auth_nlm这个选项也可以作为 insecure_locks 指定,它告诉 NFS 守护进程不要对加锁请求进行认证。如果关心安全性问题,就要避免使用这个选项。缺省选项是 auth_nlm secure_locks

mp (mountpoint=path)通过显式地声明这个选项,NFS 要求挂载所导出的目录。

fsid=num这个选项通常都在 NFS 故障恢复的情况中使用。如果希望实现 NFS 的故障恢复,请参考 NFS 文档。


你可能感兴趣的:(nfs,搭建服务器,简述)