使用ubuntu18搭建nfs分布式文件系统

NFS分布式文件系统

NFS就是Network File System的缩写,是一个分布式文件系统。在一个PC中使用NFS工具搭建一个NFS服务器,然后其他PC安装NFS客户端工具,将网络中的NFS服务器共享的网络磁盘挂载到本地端的文件系统中。在NFS客户端就可以像操作自己本地的磁盘一样,操作这个共享的网络磁盘,在使用上相当便利。

这个共享的网络磁盘中的所有文件都是存储在NFS服务器端,NFS客户端不会存储备份。

下图中,Z盘挂载了NFS服务器分享出来的网络磁盘,操作Z盘就像操作C盘,D盘等本地的磁盘一样
在这里插入图片描述NFS底层使用呢了RPC远程调用协议,这里不再做过多介绍,只讲一下如何配置和使用NFS服务器

NFS服务器搭建

搭建使用NFS服务器前必须要安装一些基础的工具,centos和ubuntu两个系统中的操作不同

ubuntu中

首先安装基础工具包,客户端和服务器端安装不同的工具包

sudo apt-get install nfs-kernel-server  # 安装 NFS服务器端
sudo apt-get install nfs-common         # 安装 NFS客户端

启动NFS服务

sudo /etc/init.d/nfs-kernel-server start

centos中

首先安装基础工具包

sudo yum install -y nfs-utils   
sudo yum install -y rpcbind

启动NFS服务

systemctl start rpcbind   
systemctl enable rpcbind   
systemctl start nfs-server nfs-secure-server      
systemctl enable nfs-server nfs-secure-server

NFS服务器配置及使用

NFS服务端配置:

修改NFS的配置文件/etc/exports,设置共享目录,centos系统和ubuntu系统中都是修改这个文件。

export文件配置:

下面两行是在/etc/exports文件中配置的两个共享目录,192.168.245.0/24的含义是ip地址的前24位必须是192.168.245。

/public 192.168.245.0/24(ro)的含义是,将NFS服务器上的/public目录共享给ip地址前24位是192.168.245的NFS客户端,这个目录对NFS客户端来说是只读的(ro)

如果想配置一个所有人都可以挂载的目录,那么可以使用通配符“*”

/public 192.168.245.0/24(ro)
/protected 192.168.245.0/24(rw)
/share *(rw)
参数 作用
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

/etc/exports文件配置完成后,使用命令使其生效:

ubuntu系统下使用命令:

/etc/init.d/nfs-kernel-server restart

centos系统下使用命令:

systemctl reload nfs 

NFS客户端配置:

在NFS服务端配置完之后,需要在NFS客户端做一些配置来使用NFS服务端共享出来的文件存储空间。
第一步要查看一下NFS服务端共享出来的文件夹是否可用,使用命令:

showmount -e NFS服务器的ip地址  

showmount命令参数:

参数 作用
-e 显示NFS服务器的共享列表
-a 显示本机挂载的文件资源的情况NFS资源的情况
-v 显示版本号

在这里插入图片描述如果出现上图所示信息,表示NFS服务器可以正常使用。上图左侧是NFS服务器共享出来的目录,右侧是显示哪些ip的机器可以使用这个共享的目录。例如/home/k8spv就只能由ip的前16位是10.108的机器进行使用。

确认共享目录可以进行挂载操作后,可以选择使用命令挂载或者修改配置文件,使用命令的方式,机器重启之后配置就会失效,所以一般通过修改配置文件的方式来挂载共享目录。修改/etc/fstab

vim /etc/fstab 

如果需要将NFS服务器共享的/home/k8spv目录挂载到NFS客户端的/home/kuber目录下,则添加如下的配置

10.108.224.173:/home/kuber  /home/kuber      nfs    defaults 0 0

这是配置一个可读可写的文件目录,如果配置只读文件目录,则最后一个值要设为1

10.108.224.173:/home/ro  /home/protect      nfs    defaults 0 1

使用命令使文件/etc/fstab生效:

mount -a

window系统中配置NFS客户端

准备工作:

Windows系统下使用NFS经常会出现权限问题,所以使用前最好修改一下注册表。打开注册表:regedit, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default 下新建两个OWORD(64)位值,添加值AnonymousGid,值默认为0,AnonymousUid,值默认为0。

配置NFS目录:

第一步:在控制面板–>添加程序和功能–>添加NFS组件。
在这里插入图片描述

第二步:在此电脑,映射驱动器中添加nfs地址,和要共享的文件夹。

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章