zoukankan      html  css  js  c++  java
  • 三、【NFS服务器】虚拟机nfs服务器搭建

    一、NFS服务器简介

    1、什么是NFS?

    • NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件
    • NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;
    • NFS一般用来存储共享视频图片等静态数据。

    2、nfs挂载原理

                                                                     

    如上图示:

      当我们在NFS服务器设置好一个共享目录/home/public后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端/home/public的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。挂载后,NFS客户端查看磁盘信息命令:df –h

      既然NFS是通过网络来进行服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想对应的网络端口,NFS服务器到底使用哪个端口来进行数据传输呢?基本上NFS这个服务器的端口开在2049,但由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口;既然是随机的那么客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?这时就需要通过远程过程调用(Remote Procedure Call,RPC)协议来实现了!

    二、挂载过程

    现在我需要挂载nfs服务器去实现主机和开发板之间共享文件。

    1、安装软件包

    sudo apt-get update 	
    sudo apt-get install nfs-common nfs-kernel-server  
    

    2、配置服务器

    打开/etc/export文件去配置服务器

    •  /opt/nfs:要共享的目录
    • * :允许所有的网段访问
    • rw :指客户端拥有读写权限,还是有一个ro选项,代表只读
    • sync:指同步写入资料到内存和硬盘中,与之相反的选项是async.
    • no_subtree_check: 不检测子目录,提高性能。
    • root_squash:如果客户端使用root访问目录,会被当做匿名用户(也就是说,权限比较小,比较安全)。
    • no_root_squash:客户使用root访问共享目录时,还是拥有root权限,极不安全。
    • all_squash:无论客户端使用什么用户访问共享目录都会被当作匿名用户。  

    3、重启服务器及查看服务器状态

    sudo /etc/init.d/nfs-kernel-server restart 		--重启nfs服务器
    sudo /etc/init.d/nfs-kernel-server status   		--查看nfs是否开启
    netstat -a | grep nfs                 	                --或用这个查看nfs是否开启 

    4、创建共享目录

    刚才在/etc/exports文件中我们配置了/opt/nfs目录为共享目录,那我们在opt下创建nfs目录,并修改目录权限。此时我们服务器就安装配置完成了。

    5、开发板端挂载虚拟机的nfs共享目录。

    挂载之前我们要保证开发板和主机之间时可以ping通的,然后再进行挂载。

    开发板挂载命令:

    mount -t nfs -o nolock 虚拟机IP:/opt/nfs   share     --其中share是开发板上新建的共享目录
    

    6、挂载成功后我们在虚拟机的/opt/nfs下创建一个test文件  

    此时我们开发板的目录下也会出现这个新建的test文件,如此就实现了虚拟机和主板的文件共享。

     

     

  • 相关阅读:
    关于C++中类的static和const成员
    你搞图论有毛用啊!!
    getopt()
    算法设计与分析求最大子段和问题(蛮力法、分治法、动态规划法) C++实现
    CF183 div2 解题报告
    程序员面试中什么最重要?
    php函数基础(一)
    可变参数列表
    ThinkPHP5+小程序商城 网盘视频
    svn里update以后还是有红色的感叹号怎么办
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/15644850.html
Copyright © 2011-2022 走看看