zoukankan      html  css  js  c++  java
  • NFS 系统的搭建 on fedora; nfs 搭建 on ubuntu 1806;

    问题:

      由于工作,需要,不断得进行挂在硬盘重装系统,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;

  • 相关阅读:
    yCharm代码格式化(自动加空格)
    python调用另一个.py中的类或函数
    深度学习04--卷积神经网络
    深度学习03--神经网络
    深度学习02--数据读取
    深度学习01--TensorFlow
    机器学习08--实战案例
    机器学习07--无监督学习-K-means算法
    机器学习06--逻辑回归
    机器学习05--线性回归+岭回归
  • 原文地址:https://www.cnblogs.com/xuyaowen/p/NFS_install.html
Copyright © 2011-2022 走看看