linux NFS白话文 服务及客户端配置和问题解决

特别更新下(2018-06-16):因为这个NFS共享的硬盘还想放电影用电视盒看电影,但KODI这个软件能找到NFS的服务器地址,但是打不下一级目录,所以经过各种百度终于找到了一个参数insecure,把这个加到exports这文件的目录参数中就可以了,这个意思好像允许大于1024这个端口号访问,问题解决。

因为弄了几个小开发板玩,但发现个问题是如果弄数据库的话,如果把数据文件放在TF卡上的话,时间一长TF卡就会出现问题,导至LINUX系统无法运行,最明显问题就是重启后再也无法启动了,只能重做了,所以就考虑把数据文件移到外面的设备上,比如外置的机械硬盘,试过SAMBA的共享模式,但因为这种共享方式因为权限问题无法处理我所用数据库(postgresql)建立的数据文件,所以再次测试NFS后成功,NFS果然是给LINUX系统用的,真是完美,哈哈,下面我就把我实际操作的设置记录下

一、所使用的设备

设备NanoPI neo一个,做postgresql服务端,及NFS的客户端,因为要把postgresql的数据文件放在NFS的目录中

设备其它设备,我现在用的是OrangePI zeo,加的一个U盘,U盘使用的是EXT2格式的分区,因为LINUX分区才可以完全使用LINUX系统文件管理的特性,EXT2还不会频繁读写U盘,不会对U盘有太大的影响,如果是接的机械硬盘就建议使用EXT3格式了

所有设备都使用armbian系统,相当于ubuntu,所以都是参考ubuntu的安装配置使用的,其实LINUX都是相通的

PS:因为现在已经测试成功,所以下一打算把家里路由器在网上找固件也刷上NFS,这样就可以省个小硬件,并且用机械硬盘了,完美,哈哈

二、服务端

1、安装nfs-kernel-server

sudo apt-get install nfs-kernel-server

2、配置nfs文件

sudo vim /etc/exports

在最后一行添加下面内容并保存

/mnt/u *(rw,sync,no_root_squash,no_subtree_check)

说明:

/mnt/u    这个是要共享的目录,我是因为把U盘挂载在这个目录中,所以就共享这个目录了

*    这个是让哪个网段可以访问,*代表所有可以PING通这个服务器的机器,如需限定网段才可以访问,也可以写192.168.1.0

括号里的是各种参数,我这只是参照各个资料后写的常用的,详细的自己看man说明吧

rw    可以读写

sync    这个不知道,我别人也有没写的,也没看有啥影响

no_root_squash    这个不写容易出现客户端挂载后只能是只读,因为权限问题

no_subtree_check    这个意思是忽略父目录的权限

注意:  

(1)配置文件中的*和左括号之间不能有空格,否则括号内的参数不能生效

(2)如果要多个目录,就每个目录写一行就行

(3)保存后要运行下exportfs -rv重新更新下配置生效,正常不应该有错误信息

(4)重启nfs服务/etc/init.d/nfs-kernel-server restart 或 service nfs-kernel-server restart 都可以

(5)如果是外接的U盘或移动硬盘,建议分区要使用LINUX的分区,比如EXT2,3,4都行,U盘建议EXT2,相对不伤U盘,但异常断电容易丢数据,机械盘建议使用EXT3,相对安全,速度较快,EXT4好像各种评测都说这个资源消耗太大,性能不怎么高,也许有什么更高级的功能,我是没弄明白


三、客户端

1、安装nfs-common

sudo apt-get install nfs-common

2、查看NFS服务端有哪些个共享的目录

showmount -e 服务端的IP地址

3、加载NFS的目录到本地就可以了

mount 服务端IP地址:查看到的共享的目录(比如/mnt/u) 要挂载到的本地的目录(比如/mnt/nfs)

挂载完后就可以跟本地目录一样的使用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章