问题:

  由于工作,需要,不断得进行挂在硬盘重装系统,NFS 系统给了我一个很好的解决方案。于是决定写一篇博客,防止以后再次使用的时候,能够很快得重新建立NFS 文件系统。

调研:

  NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

好处: 1. 节省本地存储空间,可以通过网络访问。 2. 可以所有用户共用一个文件系统。 3. 共享文件,并且减少网络中的移动设备的数量。

开发商: sun  公司

种类: RPC 服务系统

目的: 达到文件共享的目的,可以在不同系统之间使用嗯,通信协议与主机及操作系统无关。 就好像操作本地文件系统一样。

架构:

  

对于RPC 不太了解的同学可以参见:

深入浅出 RPC - 浅出篇  深入浅出 RPC - 深入篇

使用:

1. 查看本地,是否已经安装了  nfs 和 rpcbind , 为什么要检查是否安装了 rpcbind : nfs 系统是rpc 系统的一种。它需要使用rpc 服务,才能正常使用。如果没有请使用 yum install 安装相应的包。

[yaowen@dhcp-65-15 ~]$ rpm -qa | grep nfs
qemu-block-nfs-2.9.1-2.fc26.x86_64
nfs-utils-2.2.1-4.rc2.fc26.x86_64
sssd-nfs-idmap-1.16.1-3.fc26.x86_64
libnfs-1.9.8-3.fc26.x86_64
libnfsidmap-2.2.1-4.rc2.fc26.x86_64
[yaowen@dhcp-65-15 ~]$ rpm -qa | grep rpcbind
rpcbind-0.2.4-8.rc3.fc26.x86_64
[yaowen@dhcp-65-15 ~]$

2. 当你安装好后,进行创建本地文件夹,来进行作为 nfs 的目录,并设置权限。

[yaowen@dhcp-65-15 ~]$ ll
total 36
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Desktop
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Documents
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Downloads
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Music
drw-rw-rw-. 2 yaowen yaowen 4096 May 17 00:43 NFS
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Pictures
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Public
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Templates
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Videos
[yaowen@dhcp-65-15 ~]$ ll NFS
total 0

3. 进行使用 nfs 配置文件

/home/yaowen/NFS 10.66.0.0/16(rw,no_root_squash,no_all_squash,sync)

参数值  内容说明
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

all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody)

具体参数配置可以查找:2019年12月2日23:18:16

man exports

4. 重新载入 配置文件

exportfs -r

5. 重新启用 rpcbind 和 nfs 服务

6. 配置,防火墙。测试的时候,如果我们使用 fedora 的话,我们使用

systemctl stop firewalld.service  关闭 防火墙

7.在 另外一个电脑上,检查nfs 所在主机的可用列表:

➜ nfs showmount -e 10.66.65.15 (注意此时需要把防火墙关掉进行测试,因为如果你只开了nfs端口,可能其他相关端口没开(具体什么端口我没有调研),导致showmount阻塞不显示;)
Export list for 10.66.65.15:
/home/yaowen/NFS 10.66.8.0/24,10.66.0.0/16

这里有两个网段,是配置文件里我重复进行了配置,具体的显示的内容,会根据你的配置显示。

8. 挂载

创建挂在点,进行挂载

sudo mount -t nfs 10.66.65.15:/home/yaowen/NFS /home/xuyaowen/nfs

9. 检测

通过创建文件,在客户机上检查文件系统,是否能正常运行。

➜ nfs df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 57M 3.7G 2% /dev/shm
tmpfs 3.8G 2.0M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/fedora-root 49G 8.5G 38G 19% /
tmpfs 3.8G 124K 3.8G 1% /tmp
/dev/sda3 976M 186M 723M 21% /boot
/dev/mapper/fedora-home 30G 1.4G 27G 5% /home
tmpfs 769M 16K 769M 1% /run/user/42
tmpfs 769M 56K 769M 1% /run/user/1000
10.66.65.15:/home/yaowen/NFS 404G 284M 383G 1% /home/xuyaowen/nfs

可见,最后一行,就是我所挂载的文件系统。

10. 卸载

使用 umount 命令

11. 防火墙配置

我们可以根据nfs 配置文件,固定 nfs 使用的端口。这样我们就能根据使用的端口,来进行配置 防火墙的使用策略。

这里,因为暂时不需要,也就不去研究了。我想,配置起来也很简单。自己稍微查查资料就可以的。

现在,你就有一个可以用的 nfs 文件系统了。

如何在 windows 上挂载 nfs 请参考如下链接:

https://www.cnblogs.com/xuyaowen/p/windows_server_mount_nfs.html

保持更新,转载请注明出处。 2018.5.21 in Beijing.

# 补充 在ubuntu 1806 上安装nfs服务器:2019年12月2日23:17:53 

  • sudo apt-get install nfs-kernel-server
  • 之后编辑 /etc/exports : /tmp/nfs 192.168.0.0/16(rw,no_subtree_check,no_root_squash,no_all_squash,sync) (注意:修改exports 后,记得要重启nfs和rpcbind服务器)
  • exportfs -r
  • showmount -e 查看当前导出网络文件系统;
  • 启动 nfs 服务:systemctl restart nfs-kernel-server.service ; systemctl restart rpcbind.service;(ubuntu 1806)
  • 开放防火墙端口 ufw allow nfs;
  • 在另外一个机器上挂载nfs: mount -t nfs -o fsc,sync,proto=tcp 192.168.5.3:/tmp/nfs /mnt/nfs (表示当前nfs挂载成功)
  • 另外一个挂载命令:mount.nfs -o fsc,sync,proto=tcp 192.168.5.223:/tmp/nfs /mnt/nfs
  • 之后可以进行测试;(注意此处fsc 表示使用 fs-cache作为nfs的缓存,具体详情请见:https://www.cnblogs.com/xuyaowen/p/fs-cache.html

参考文献:

https://cloud.tencent.com/developer/article/1171888 在Ubuntu上配置NFS

https://cloud.tencent.com/developer/article/1168897?from=10680 SSHFS远程挂载文件夹

保持更新,转载请注明出处;更多内容请关注 cnblogs.com/xuyaowen; 2019年12月2日23:26:18 in beijing;

NFS 系统的搭建的更多相关文章

  1. ubuntu 16.04 nfs服务的搭建

    nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在ubuntu16.04系统中搭建nfs服务,ubuntu的搭建比红帽的还要简单. 1.安装nfs服务 s ...

  2. Red Hat 6.5 nfs服务的搭建

    nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在红帽6.5系统中搭建nfs服务. 1.关闭selinux服务 如果已经关闭该服务的可以直接跳过该步骤. ...

  3. 自学linux——21. NFS服务器的搭建

    NFS服务器的搭建 1.NFS的认识 NFS(Network File System即网络文件系统)服务最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享文件,可以将远程 Linu ...

  4. 4、nfs服务器的搭建

    4.1.nfs服务介绍: samba服务器一般互联网企业不会使用 nfs服务的端口是不固定的,需要先启动rpc服务对nfs服务端口进行注册 4.2.安装nfs: rpm -qa nfs-utils r ...

  5. Linux下NFS服务器的搭建与配置

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

  6. LINUX下NFS系统的安装配置

    准备:NFS系统服务器IP 192.168.135.1 ,NFS共享目录/mnt/NFS 一.安装NFS 查看nfs是否安装 #rpm -qa | grep nfs 若没有则安装nfs包 #yum i ...

  7. 在Win7系统中搭建Web服务器

    局 域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步.利用Web服务器,我们随时随地都可以将自己的信息 上传到服务器端,让其它关注你的用户能在第一时间内了 ...

  8. 开源入侵检测系统OSSEC搭建之二:客户端安装

    上一篇文章中已经将OSSEC服务端的安装以及客户端的Key导出操作做了解说,接下来在另一台虚拟机中安装客户端,与安装服务端类似同样需要安装ossec,步骤如下. 一.下载ossec-hids-2.8. ...

  9. 开源入侵检测系统OSSEC搭建之一:服务端安装

    OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中.主要功能有日志分析.完整性检查.rootkit检测 ...

随机推荐

  1. lucene 初探

    前言: window文件管理右上角, 有个搜索功能, 可以根据文件名进行搜索. 那如果从文件名上判断不出内容, 我岂不是要一个一个的打开文件, 查看文件的内容, 去判断是否是我要的文件? 几个, 十几 ...

  2. mysql添加用户、修改权限,修改登录权限ip

    1.添加用户 1.1 登录MYSQL: @>mysql -u root -p @>密码 1.2 创建用户: 格式:grant select on 数据库.* to 用户名@登录主机 ide ...

  3. PTA (Advanced Level) 1003 Emergency

    Emergency As an emergency rescue team leader of a city, you are given a special map of your country. ...

  4. 解决U盘拷贝时提示文件过大问题(不能拷贝超过4个g的文件)

    为什么一个16G的U盘却拷不进一个4G大点的文件呢,想必很多朋友们都在疑问? 其实这跟U盘的磁盘格式有关,目前市面上常用的U盘大都是FAT32格式,我们可以查看U盘属性. 那么FAT32是什么呢? F ...

  5. Linux的IO模型

    在输入输出系统一文中介绍了系统内核操作IO设备的机制. 我们了解到内核可以直接访问IO设备, 用户进程无法IO设备. 就是说IO操作需要分为两个过程, 内核从IO设备读取数据保存到内核空间, 将数据由 ...

  6. 在ASP.NET MVC使用JavaScriptResult

    本例中,我们尝试把javascript程序搬至控制器中去.更好地在控制器编写程序. 首先来看看原来的写法. 在SepController控制器,添加如下操作: public ActionResult ...

  7. Linux下的SVN服务器搭建(转)

    Linux下的SVN服务器搭建   鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此 ...

  8. zookeeper 知识点汇总

    目录 Zookeeper 是什么 Zookeeper 树状模型 Zookeeper 集群结构 如何使用 ZooKeeper 运行 Zookeeper 步骤1 修改 ZooKeeper 配置文件 步骤 ...

  9. 【14】代理模式(Proxy Pattern)

    一.引言 在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性.这时候可以在客户端和目标对象之间增加一层中间层,让代 ...

  10. Logback 日志持久化

    Logback是log4j的增强版,比log4j更具灵活,其提供了将日志输出到数据库的功能,本文将介绍如何将指定的日志输出到mysql中. 一.自定义log标志 由于Logback原生的配置会将所有的 ...