配置NFS服务

简介:

NFS(network file system),即网络文件系统;它用于在网络上共享存储。

这次试验准备两台虚拟机,一个作为服务端,一个为客户端。服务端共享一个目录,然后客户端挂载这个目录就可以实现共享存储了。


1、服务端配置NFS

首先需要安装两个包nfs-utils和rpcbind(用于服务端和客户端之间的通信,CentOS6版本以前都是安装portmap包,实际上是同一个东西)

[root@tpp ~]# yum install -y nfs-utils rpcbind

编辑配置文件

[root@tpp ~]# vim /etc/exports                   //写入以下内容
/mnt 192.168.0.104(rw,sync,all_squash,anonuid=502,anongid=502)

注:这里是共享出根目录下的mnt目录;指定只有192.168.0.104才能访问(我们也可以指定一个网段192.168.0.104/24);rw为可读写(ro只读);sync为同步模式(async非同步模式);不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;anonuid/anongid指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

启动NFS服务:

[root@tpp ~]# /etc/init.d/rpcbind start
[root@tpp ~]# /etc/init.d/nfs start

注:后期要是修改了/etc/exports这个配置文件,可以使用exportfs命令挂载不需要重启NFS服务。

[root@tpp ~]# exportfs -arv


2、客户端挂载NFS

客户端也要安装nfs-utils和rpcbind两个包

[root@tpp ~]# yum install -y nfs-utils rpcbind

在挂载之前,我们先查看共享了哪些目录

[root@tpp ~]# showmount -e 192.168.0.109      //此为服务端IP
Export list for 192.168.0.109:
/mnt 192.168.0.104

注:要关闭服务端的防火墙,要不然客户端查看不到该共享,会报如下的错:

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

然后挂载NFS

[root@tpp ~]# mount -t nfs -onolock,nfsvers=3 192.168.0.109:/mnt /opt

注:-o nolock为不加锁;nfsers=3指定为版本3,不加会默认为4;192.168.0.109:/mnt /opt为从服务端/mnt目录挂载到客户端/opt目录。

我们可以查看到增加了一个/opt分区,它就是NFS共享的目录了

[root@tpp ~]# df -h

wKioL1Xz882jsywrAAERcaAcbm0555.jpg

然后我们在/opt在新建文件

[root@tpp ~]# cd /opt/
[root@tpp opt]# touch 1.txt        
[root@tpp opt]# mkdir 111
[root@tpp opt]# ls -l
总用量 4
drwxr-xr-x. 2 502 502 4096 9月  13 01:24 111
-rw-r--r--. 1 502 502    0 9月  13 01:20 1.txt

注:

(1)若报新建文件没有权限,我们还需去服务端,把/mnt目录权限改为任何人都可操作

[root@tpp ~]# chmod 777 /mnt

(2)这里显示对的uid和gid都是我们之前指定的502。若客户端/etc/passwd下id为502有对应的用户,则会显示用户名,而不是ID号。



3、加入到开机启动
我们把要挂载的NFS目录写到客户端的/etc/fstab

[root@tpp opt]# vim /etc/fstab      //添加下面一行
192.168.0.109:/mnt/     /opt      nfs     nolock     0 0

wKiom1Xz-Dzho8R3AAHz4hHI9UA726.jpg

因为刚我们挂载了NFS,所以先卸载

[root@tpp opt]# cd
[root@tpp ~]# umount /opt/

然后重新挂载,只要执行如下命令即可

[root@tpp ~]# mount -a

这样操作后,以后开机都会自动挂载NFS。



4、后记

若想把新建的文件都设置为root用户。

我们在服务端配置/etc/exports文件如下:

[root@tpp ~]# vim /etc/exports
/mnt 192.168.0.104(rw,sync,no_root_squash)
[root@tpp ~]# exportfs -arv                //重新加载NFS服务
exporting 192.168.0.104:/mnt


在客户端/opt目录下新建文件

[root@tpp opt]# touch 1.txt
[root@tpp opt]# touch 123
[root@tpp opt]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 9月  13 02:05 123
-rw-r--r--. 1 root root 0 9月  13 02:05 1.txt

由上可知文件所属主和所属组都为root






      本文转自 M四月天 51CTO博客,原文链接:http://blog.51cto.com/msiyuetian/1694147,如需转载请自行联系原作者




相关文章
|
17天前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?
|
1月前
|
存储 Ubuntu Linux
NFS服务部署全攻略:从零到一,轻松驾驭网络文件系统,让你的文件共享像飞一样畅快无阻!
【8月更文挑战第5天】NFS(网络文件系统)能让网络中的电脑无缝共享文件与目录。基于客户端-服务器模式,用户可像访问本地文件般透明操作远程文件。部署前需准备至少两台Linux机器:一台服务器,其余作客户端;确保已装NFS相关软件包且网络通畅。服务器端安装NFS服务与rpcbind,客户端安装nfs-utils。
55 4
|
17天前
|
Ubuntu Linux 网络安全
在Linux中,如何配置Samba或NFS文件共享?
在Linux中,如何配置Samba或NFS文件共享?
|
2月前
|
存储 算法框架/工具
Ceph提供nfs服务
Ceph提供nfs服务
38 6
|
18天前
|
Kubernetes 关系型数据库 MySQL
k8s练习--通过NFS+PV+PVC+POD,部署一个MySQL服务,并将MySQL的数据进行持久化存储
本文档介绍了如何使用Kubernetes (K8s)、NFS、PersistentVolume (PV)、PersistentVolumeClaim (PVC)和Pod来部署并实现MySQL服务的数据持久化存储。Kubernetes是一个用于自动化部署、扩展和管理容器化应用的强大平台。NFS作为一种网络文件系统协议,能够使Kubernetes集群中的Pod跨节点访问共享文件。PV和PVC机制则提供了持久化的存储解决方案,确保数据即使在Pod生命周期结束后仍得以保留。
|
3月前
|
Ubuntu
ubuntu搭建NFS服务 磁盘共享 nfs 搭建
ubuntu搭建NFS服务 磁盘共享 nfs 搭建
128 2
|
4月前
|
存储 网络协议 Linux
NFS(Network File System 网络文件服务)
NFS(Network File System 网络文件服务)
|
4月前
|
存储 Kubernetes 数据安全/隐私保护
|
4月前
|
存储 Kubernetes 应用服务中间件
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
434 0
|
4月前
|
Unix
AIX 配置NFS记要
AIX 配置NFS记要
37 0