设为首页 收藏本站
查看: 912|回复: 0

[经验分享] 一起来学linux:NFS服务器搭建

[复制链接]

尚未签到

发表于 2017-11-17 15:22:15 | 显示全部楼层 |阅读模式
  nfs是network file system的缩写,作用在于让不同的网络,不同的机器,不同的操作系统可以共享彼此的文件。也就是讲远程服务器共享的目录挂载到本地的文件系统中。远程目录看起来就像是自己的一个磁盘分区
  NFS运行在SUN的RPC(Remote Procedure Call, 远程过程调用)基础上, RPC定义了一种与系统无关的方法来实现进程间通信. 由此, NFS server也可以看作是RPC server.
正因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口——通过portmap设定.比如:某个NFSclient发起NFS服务请求时,它需要先得到一个端口(port).所以它先通过portmap得到portnumber.
  

  下面 来看下服务器测的安装方式:
  1首先nfs安装:apt-getinstall nfs-kernel-server
  2安装完nfs-kernel-server后,系统会自动为我们安装好portmap(端口映射器)和nfs-common(客户端软件,用于测试)
  3配置共享目录,在/etc/exports文件中添加如下命令:意思分别是
  /tmp:服务器需要共享的目录。
  192.168.0.11允许能访问服务器的IP地址。这里可以是具体的地址也可以是IP网络号。比如192.168.1.1/24。也可以采用通配符*,表示允许所有能访问到server的主机来连接共享目录
  rw:共享权限。
  rw:客户端拥有读写权限(ro:代码只有读权限)
sync:同步写入资料到内存和硬盘中
no_subtree_check:不检测子目录权限
root_squash:如果客户端使用root权限访问共享目录,则会被认为是匿名用户(权限缩小)
no_root_squash:如果客户端使用root权限访问共享目录,权限依旧为root
  

  另外在这里我们还可以设定对共享目录文件访问的权限,这里需要用到setfacl命令。比如
  setfacl-m -u:zhf:rwx /tmp   就代表zhf的用户对这个目录下的文件具有rwx的权限
  

  4配置完成后,重启nfs-server服务/etc/init.d/nfs-kernel-serverrestart。并执行showmount-e就可以看到下面的挂载点。
  root@zhf-virtual-machine:~#showmount -e
  /tmp192.168.0.11(rw,no_root_squash)
  

  5服务器测安装apt-getinstall nfs-common
  6挂载服务器共享目录到本地
  root@zhf-linux:/home#mount -t nfs 192.168.0.9:/tmp /home/nfs/public
  root@zhf-linux:/home#df
  Filesystem1K-blocks     Used Available Use% Mounted on
  udev1010832        0   1010832   0% /dev
  tmpfs205944     6528    199416   4% /run
  /dev/sda1238171776 11020944 215029284   5% /
  tmpfs1029712    30012    999700   3% /dev/shm
  tmpfs5120        4      5116   1% /run/lock
  tmpfs1029712        0   1029712   0% /sys/fs/cgroup
  cgmfs100        0       100   0% /run/cgmanager/fs
  tmpfs205944       56    205888   1% /run/user/1000
  192.168.0.9:/tmp19477248  1026432  17438464   6% /home/nfs/public
  

  7进入到/home/nfs/public就可以看到在192.168.0.9当中共享的文件
  root@zhf-linux:/home/nfs/public#ls -al
  total72
  drwxrwxrwt17 root root 4096 Oct 30 21:36 .
  drwxr-xr-x3 root root 4096 Oct 30 21:39 ..
  -rw-------1 zhf  zhf     0 Oct 30 21:08 config-err-C8mCtt
  drwxrwxrwt2 root root 4096 Oct 30 21:06 .font-unix
  drwxrwxrwt2 root root 4096 Oct 30 21:08 .ICE-unix
  drwx------3 root root 4096 Oct 30 20:57systemd-private-3b1f89764b29474681718903030213e2-colord.service-GtPb2r
  drwx------3 root root 4096 Oct 30 21:07systemd-private-3b1f89764b29474681718903030213e2-rtkit-daemon.service-eMi74n
  drwx------3 root root 4096 Oct 30 21:06systemd-private-3b1f89764b29474681718903030213e2-systemd-timesyncd.service-HMSDuI
  drwxrwxrwt2 root root 4096 Oct 30 21:06 .Test-unix
  drwx------9 root root 4096 Oct 30 21:09 ubuntu-release-upgrader-p9q1b5zo
  -rw-rw-r--1 zhf  zhf     0 Oct 30 21:08 unity_support_test.0
  drwxr-xr-x2 root root 4096 Oct 30 21:09 upgrade-chroot-ano169rw
  drwx------2 root root 4096 Oct 30 21:09 upgrade-rw-699p254l
  drwxrwxrwt2 root root 4096 Oct 30 21:07 VMwareDnD
  drwxr-xr-x2 root root 4096 Oct 30 20:57 vmware-root
  drwx------2 root root 4096 Oct 30 21:07 vmware-root-2689209388
  drwx------2 zhf  zhf  4096 Oct 30 21:08 vmware-zhf
  -r--r--r--1 root root   11 Oct 30 20:57 .X0-lock
  drwxrwxrwt2 root root 4096 Oct 30 20:57 .X11-unix
  drwxrwxrwt2 root root 4096 Oct 30 21:06 .XIM-unix
  

  前面讲了如何进行nfs的配置和使用。但是有一个问题就是每次登录系统后都需要手动利用mount命令来挂载一次。我们可不可以做到当客户端在有使用NFS文件系统的需求时才让系统自动挂载呢?那就要用到autofs。举例来说,当客户端要时候用/home/nfsfile/public的数据时,此时autofs才会去192.168.0.9上挂载/tmp目录。当隔了5分钟使用该目录下的数据后,则客户端系统将会主动卸载/home/nfsfile/public.autofs的配置很简单。下面来看下步骤:
  1建立主配置文件/etc/auto.master.设置如下:这个的意思是当要使用/home/nfsfile的数据时,会去读取/etc/auto.nfs的数据进行自动挂载
  /home/nfsfile/etc/auto.nfs
  2建立数据对应文件内/etc/auto.nfs的挂载信息与服务器对应的资源。下面的这个意思是当要使用/home/nfsfile/public的数据时,去自动挂载192.168.0.9的/tmp资源
  public-rw,bg,rsize=32768,wsize=32768  192.168.0.9:/tmp
  

  3去/home/nfsfile/public去实际查看的时候发现是自动挂载的
  root@zhf-linux:/home/nfsfile/public#mount | grep nfsfile
  /etc/auto.nfson /home/nfsfile type autofs(rw,relatime,fd=6,pgrp=5258,timeout=300,minproto=5,maxproto=5,indirect)
  192.168.0.9:/tmpon /home/nfsfile/public type nfs4(rw,relatime,vers=4.0,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.11,local_lock=none,addr=192.168.0.9)
  

  4文件的挂载也出现了
  root@zhf-linux:/home/nfsfile/public#df /home/nfsfile/public
  Filesystem1K-blocks    Used Available Use% Mounted on
  192.168.0.9:/tmp19477184 1018848  17445888   6% /home/nfsfile/public

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407928-1-1.html 上篇帖子: Linux:less 命令 下篇帖子: linux 常用命令:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表