今天做不成的事,明天也不会做好。
同学们,我们今天来学习在linux下搭建nfs文件服务器,并在linux和windows下进行挂载。最开始,项目的部署是和文件放在一起的,后来,随着访问的人数增多,就需要把文件单独拿出来放到一个服务器,这样能提升性能和加快速度,同时,也可以针对专门的文件服务器做磁盘优化。在搭建前,我们先了解一下nfs。
1.什么是nfs
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
2.搭建nfs
首先,我们得有一台linux的服务器。例如虚拟机或者云服务器。
2.1前期准备:
1.安装nfs-utils和rpcbind
yum install nfs-utils rpcbind
2.设置开机启动服务
chkconfig nfs on
chkconfig rpcbind on
3.启动相关服务
service rpcbind start
service nfs start
2.2服务端配置:
1.创建共享目录
mkdir /data/nfs/server
2.编辑/etc/exports文件添加如下内容
vim /etc/exports
/data/nfs/server *(rw,no_root_squash,no_all_squash,sync)
① /data/nfs/server —要共享的目录
② * 处代表限制访问的ip段
可以填192.168.0.* —允许访问的网段,也可以是ip地址、主机名(能够被服务器解析)
可以填192.168.0.123/24
*(所有人都能访问)
③ 括号内的常见参数有:
参数值 内容说明
rw ro 该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
sync async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
no_root_squash root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobodyÿ