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

[经验分享] NFS攻略

[复制链接]

尚未签到

发表于 2016-3-8 08:21:32 | 显示全部楼层 |阅读模式
NFS攻略 - Linux文件服务器搭建与使用实例

本文链接:http://codingstandards.iyunv.com/blog/816389  (转载请注明出处)
 
本文内容包括:
1 NFS概述及实例
2 Linux下NFS服务端的设置
3 Linux下NFS客户端的设置
4 Windows下NFS客户端的安装及设置
 
3 Linux下NFS客户端的设置
  
Unix/Linux系统把一切设备都当做文件来处理,NFS共享目录的使用也不例外。此处假定NFS服务器地址为192.168.6.55,共享目录为/vmsnfs。那么在其他Linux机器如果要访问这个共享目录,首先要挂载(mount)此nfs共享目录,比如也可以是/vmsnfs。这样对于所有Linux机器上的程序都可以访问/vmsnfs目录下的文件或子目录,如同这些文件就存储在本机之上。
 
3.1 通过mount命令来设置
  
  首先创建挂载点,就是Linux下一个普通目录。
mkdir /vmsnfs
 
然后使用mount命令将nfs共享目录挂载上来。
mount -t nfs 192.168.6.55:/vmsnfs /vmsnfs
 
如果不想再使用此nfs共享目录,可以使用umount命令卸载掉。
umount /vmsnfs
 
这种方式使用nfs共享目录有个问题,它是临时的,重新启动机器就会丢失。最好的方式是采用autofs来自动挂载。
 
3.2 使用autofs自动来设置
  
mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、 NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。
 
创建/etc/auto.nas文件
在文件中添加一行
vmsnfs -rw,rsize=8192,wsize=8192,soft,intr 192.168.6.55:/vmsnfs
 
修改/etc/auto.master
添加一行
/nas /etc/auto.nas --timeout=0
注意:--timeout=0表明一旦挂载就不会自动被卸载(umount)。也可以指定一个别的正数,比如600,那么如果600秒之内没有使用nfs就会自动被卸载。如果没有--timeout参数部分,则默认为600秒(10分钟),这个参数在/etc/sysconfig/autofs文件中可以用TIMEOUT项指定。
 
将autofs服务设置为开机自启动
先使用chkconfig --list autofs检查一下autofs服务是否已经设置为自启动了。
[iyunv@sunrise17 ~]# chkconfig --list autofs
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
如果你发现输出中全部为off,使用chkconfig autofs on设置为开机自启动。
[iyunv@sunrise17 ~]# chkconfig autofs on
注:autofs实际上是使用automount命令来处理的。
 
创建一个符号链接/vmsnfs指向/nas/vmsnfs
因为通过上述autofs配置自动挂载的路径为/nas/vmsnfs,而实际需要的是/vmsnfs,所以需要创建一个符号链接来达到这个目的。
首先确认一下是否已经有/vmsnfs这样的目录或文件已经存在。如果有,先把它改成别的名称,否则创建的符号链接可能变成了/vmsnfs/vmsnfs了。
[iyunv@sunrise17 /]# ln -s /nas/vmsnfs /vmsnfs
[iyunv@sunrise17 /]# ls -l /vmsnfs
lrwxrwxrwx 1 root root 11 Nov 18 18:21 /vmsnfs -> /nas/vmsnfs
使用mount命令不跟任何参数就可以看到系统所有挂载点的情况。
[iyunv@sunrise17 /]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hdc1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.6.55:/vmsnfs on /nas/vmsnfs type nfs (rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)
[iyunv@sunrise17 /]# 
 
  至此,在Linux下使用autofs来配置nfs客户端的任务就完成了。
 
重新启动机器之后再登录,执行mount命令,会发现/nas/vmsnfs并没有自动mount上来。如下所示:
[iyunv@sunrise17 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hdc1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
再访问一下/vmsnfs,也就是间接访问/nas/vmsnfs就会发现mount上来了。也就是说,使用autofs来自动挂载nfs文件系统时,只有首次使用之后才会自动挂载上来。
[iyunv@sunrise17 ~]# ls /vmsnfs
vms  vmsnfs  vox
[iyunv@sunrise17 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hdc1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.6.55:/vmsnfs on /nas/vmsnfs type nfs (rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)
[iyunv@sunrise17 ~]# 
 
通过上面的配置之后,重启系统之后,autofs会根据需要来自动挂载nfs共享目录。如果--timeout参数配置为正数,在不需要时会自动卸载,释放掉不必要的资源,而通过手工方式来挂载达不到这个效果。
 
3.3 在Linux下使用NFS客户端会碰到的问题
  
Q:使用touch创建文件时,怎么报“Permission denied”或“权限不够”错误?
A:检查NFS服务端的共享目录,看属主和组是否为nfsnobody。如果不是,更改之,如下所示:(在NFS服务端所在系统上操作)
chown -R nfsnobody /vmsnfs
chgrp -R nfsnobody /vmsnfs

chown -R nfsnobody:nfsnobody /vmsnfs
 
Q:怎么看共享目录的磁盘空间占用情况?
A:Linux会把挂载的共享目录当做一个文件系统,可以使用df来查看磁盘空间的占用情况。
[iyunv@sunrise17 ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                     941082332   2767796 889739256   1% /
/dev/hdc1               101086     12166     83701  13% /boot
tmpfs                  2069260         0   2069260   0% /dev/shm
192.168.6.55:/vmsnfs  54659136  46256872   5580944  90% /nas/vmsnfs
 
Q:在文件服务器重启之后,客户端已经使用mount挂载的nfs共享目录还能继续正常访问吗?
A:有待试验。

Q:在文件服务器重启之后,客户端已经使用autofs挂载的nfs共享目录还能继续正常访问吗?
A:有待试验。
 
点击下面的链接查看本文其他部分内容:
1 NFS概述及实例
2 Linux下NFS服务端的设置
3 Linux下NFS客户端的设置
4 Windows下NFS客户端的安装及设置
 
  待续。
  

运维网声明 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.iyunv.com/thread-187788-1-1.html 上篇帖子: Linux中的用户和权限管理 下篇帖子: CentOS 7 将命令行界面转换为图形界面的方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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