linux下安装与配置nfs服务器

NFS什么是NFS?(NAS)NFS(网络文件系统):它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样。一般客户端挂载到本地目录的名字可以随便,但为方便管理,我们要和服务器端一样比较好。这个再往简单点,就相当于windows里面共享文件,然后其他主机把这个共享文件映射成了本地盘使用一样。接下来我们会学习两部分:NFS原理(共享原理)、服务端如何搭建NFS(怎么共享)、客户端怎么挂载(怎么映射网盘)NFS简介NFS是(Network File System)的缩写,既网络文件系统。一种使用于分散式文件系统的协议,由SUN公司开发,于1984年向外公布。NFS允许一个系统在网络上与他人共享文件和目录,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。多用于类Unix操作系统上。工作原理服务器端和客户端通信过程:

1)首先服务器端启动RPC远程过程调用(remote procedure call)服务,并开启111端口2)启动NFS服务,并向RPC注册端口信息3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样我们就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。那RPC和NFS之间又是如何之间相互通讯的?首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。两台机器能够ping通软件包的安装:默认情况下,LINUX当中已经安装了NFS相关的软件包。只要确保本地上安装了NFS文件系统的支持即可! nfs-utils 。服务的启动:# systemctl  enable  nfs-server# systemctl  start  nfs-serverNFS配置文件/etc/exports解析:语法:本机需要输入的文件夹       输出给谁(输出的约定,多个用“,”分隔)规则:● 一行一个输出项目。一行写不下,自动换行即可。● 本机需要输入的文件夹       输出给谁两个参数之间使用一个或多个空格分隔。● 输出给谁(输出的约定,多个用“,”分隔)两个参数之间不能有空格。● (输出的约定,多个用“,”分隔)里面不能有空格,多条预定中间使用“,”分隔。范例:/etc   172.25.250.0/255.255.255.0(rw,async)/tmp/dir1   *(ro)    192.168.100.1(rw)/test1       *.lab.exmaple.com(ro)服务器端重新加载配置文件而不中断连接# exportfs -rv#setenforce   0  //设置selinux为关闭状态服务器端的挂载参数参数含义secure这个选项是缺省选项,它使用了 1024 以下的 TCP/IP 端口实现 NFS 的连接。指定 insecure 可以禁用这个选项。rw这个选项允许 NFS 客户机进行读/写访问。缺省选项是只读的ro。async这个选项可以改进性能,但是如果没有完全关闭 NFS 守护进程就重新启动了 NFS 服务器,这也可能会造成数据丢失。缺省设置为 sync。no_wdelay这个选项关闭写延时。如果设置了 async,那么 NFS 就会忽略这个选项。nohide如果将一个目录挂载到另外一个目录之上,那么原来的目录通常就被隐藏起来或看起来像空的一样。要禁用这种行为,需启用 hide 选项。no_subtree_check这个选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查。缺省选项是启用子树检查。no_auth_nlm这个选项也可以作为 insecure_locks 指定,它告诉 NFS 守护进程不要对加锁请求进行认证。如果关心安全性问题,就要避免使用这个选项。缺省选项是 auth_nlm 或 secure_locks。mp(mountpoint=path)通过显式地声明这个选项,NFS 要求挂载所导出的目录。fsid=num这个选项通常都在 NFS 故障恢复的情况中使用。如果希望实现 NFS 的故障恢复,请参考 NFS 文档。用户映射的选项包括:root_squash这个选项不允许 root 用户访问挂载上来的 NFS 卷no_root_squash这个选项允许 root 用户访问挂载上来的 NFS 卷。all_squash这个选省设置是 no_all_squash。项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID 和 GID,只使用匿名用户。缺anonuid这两个选项将匿名 UID 和 GID 修改成特定用户和组账号NFS客户端:1、查看监测服务器端的输出的项目# showmount  -e   服务器IP地址2、客户端单次挂载:# mount  -t  nfs      服务器的ip地址:/输出的文件夹      本地挂载点3、永久挂载:/etc/fstab服务器的ip地址:/输出的文件夹   本地挂载点   nfs   defaults  0  0基于kerberos加密保护的NFSNFS在以前只适合在局域网中使用,但由于NFSV4开始使用TCP协议进行传输,所以希望在工作当中在互联网中使用NFS!!!服务器端:1、服务器端下载服务器端的kerberos的密钥,放到/etc/krb5.keytab2、在输出项目的挂载参数中加入(, sec=krb5p)3、编辑NFS的系统配置文件:/etc/sysconfig/nfs  修改RPCNFSDARGS=""    改为RPCNFSDARGS="-V 4.2"4、启动服务器# systemctl  restart  nfs-server          //enable# systemctl  restart  nfs-secure-server   //enable客户端:1、下载客户端的kerberos的密钥,放到/etc/krb5.keytab2、# system  restart  nfs-secure   //enable3、写/etc/fstab服务器的ip地址:/输出的文件夹   本地挂载点   nfs   defaults,sec=krb5p,v4.2  0  010、配置 NFS 服务一共有system1和system2 两台机器System1# yum  install  nfs-utils -y   //安装软件包# mkdir /securenfs     //创建共享文件# chmod 777  /securenfs# vim /etc/exports/securenfs   *(rw)      //添加共享目录#exportfs  -rv   //加载/etc/exports文件# systemctl  restart nfs-server# systemctl  enable nfs-server#firewall-cmd  --permanent  --add-service=nfs#firewall-cmd   --reload11、挂载一个 NFS 共享System2# mkdir  /mnt/secureshare# vim /etc/fstabsystem1:/securenfs       /mnt/secureshare   nfs  defaults  0  0# mount  -a# touch /mnt/nfssecure/secretSystem11、创建一个包含“hello world”的新文件#echo  “hello  world” > /securenfs/testfile.txtSystem2上在 /mnt/secureshare就可以看到system1上创建的新文件

(0)

相关推荐

  • Sersync实时同步

    关于Sersync 什么是实时同步 什么是实时同步 实时同步是一种只要当前目录触发事件,就马上同步到远程的目录 为什么使用实时同步 保证数据的连续性(定时任务是以分钟为单位的) 减少人力维护成本 实时 ...

  • [博客更新]Linux 下安装并配置 Maven

    项目里用到 Maven 来构建和管理工程,之前一直是在 Windows 中使用 Maven 的,今天在 Ubuntu 18.04 系统中也安装了 Maven,本篇就记录一下安装的过程. Apache ...

  • Linux下安装配置Tengine:Nginx

    Linux下安装配置Tengine:Nginx 简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性. Tengine的性能和 ...

  • Linux下安装HP打印机的驱动程序

    前言 在Linux下,我想通过惠普打印机打印文件,我房间的HP打印机型号为HP LaserJet 1020/1008. 一开始通过命令行安装hplip及其相关插件,由于我的电脑是Fedora 22 W ...

  • Linux下的域名解析:DNS服务器部署及配置文件详解

    DNS解析过程 1)客户机访问某个网站,请求域名解析,首先查找本地HOSTS文件,如果有对应域名的记录,直接返回给客户机,如果没有则将该请求发送给本地域名服务器. 2)本地DNS服务器能够解析客户机发 ...

  • linux下安装lxml包

    爬虫项目需要用到lxml包,解析html文件,但是linux服务器没有lxml包, 服务器中python版本是3.8. 直接使用命令安装: pip install lxml 中途会报错,错误提示我没有 ...

  • 在Kali linux下使用docker配置sqli-labs(国内源的配置和系统软件更新)

    本篇blog导航: ~前言 ~第一步:在安装好的kali配置国内源 ~第二步:安装docker ~第三步:docker下安装sqli-labs ~写在最后. 前言: 最近闲来无事,在闯关sqli-la ...

  • Linux下安装Redis

    环境 Centos7.6 redis-3.0.0 下载 官网下载:http://download.redis.io/releases/redis-3.0.0.tar.gz 安装 解压 tar -xzv ...

  • MySQL入门——Linux下安装后的配置文件

    MySQL入门--Linux下安装后的配置文件 摘要:本文主要了解了在Linux环境下安装MySQL后的配置文件的位置,以及如何创建配置文件. 查看配置文件的加载顺序 找到mysqld的路径 通过wh ...

  • linux下vsftpd的安装及配置使用详细步骤

    安装 yum install vsftpd 新建/home/uftp目录作为用户主目录 mkdir /home/uftp 新建用户uftp: useradd -d /home/uftp -s /bin ...