嵌入式 Linux下搭建nfs服务器
2019-07-12 14:52 发布
生成海报
Ubuntu:
apt-get install nfs-kernel-server
vim exports
{
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/opt/(nfs的目录) (rw,sync)
}
/etc/init.d/nfs-kernel-server restart
linux搭建NFS服务器
一、什么是NFS服务
NFS是Network File System的简写,即网络文件系统.
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
二、NFS的优势
1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
2.用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。
3.诸如软驱,CDROM,和 Zip® 之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。
NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。
三、NFS的搭建
1、服务器端
安装NFS的服务程序
yum install -y nfs-utils
写配置文件
vim /etc/exports
写入
/music 192.168.0.0/255.255.255.0(rw,sync)
格式是:
要共享的目录 共享的IP及掩码或者域名(权限,同步更新)
启动服务
/etc/init.d/portmap restart
/etc/init.d/nfs restart
chkconfig nfs on
chkconfig portmap on
然后关闭防火墙以及更改Selinux关于NIS的选项
/etc/init.d/iptables stop (防护墙服务关闭)
chkconfig iptables off
system-config-selinux (设置selinux)
2、客户端
编辑fstab文件,实现开机自动挂载
mount -t nfs IP:/目录 挂载到的目录 (此为临时挂载)
如:mount -t nfs 192.168.0.9:/doce /doc
编辑FSTAB文件
vim /etc/init.d/fstab
IP:/目录 挂载到的目录 nfs defaults 0 0
然后关闭防火墙以及更改Selinux关于NIS的选项
/etc/init.d/iptables stop (防护墙服务关闭)
chkconfig iptables off
system-config-selinux (设置selinux)
搭建嵌入式nfs时,嵌入式开发板上的系统必须支持nfs客户端。 1. 在电脑服务器端下载并安装nfs $ sudo apt-get install nfs-kernel-server nfs-common portmap 2.配置共享文件 将服务器端(电脑)上一个文件夹作为共享文件夹,以后客户端(开发板)将通过网络文件系统NFS访问这个文件夹。 我这里把/work/nfs_root作为共享目录。 打开配置文件 $ sudo gedit /etc/exports 将下面这句话添加在这个文件最后。 /work/nfs_root *(rw,sync,no_root_squash) 注意 nfs_root与*之间一定要有空格。而*号与后面就没有空格。*号代表ip地址( 也可以是一确定的网段 )。*代表允许所有的网络段访问,rw是可读写权限。保存。 可以通过 sudoexportfs -rv 来更新 这个文件 3.重启NFS服务 sudo /etc/init.d/portmap restart //可改用 sudo service portmap restart
sudo /etc/init.d/nfs-kernel-server restart 4.服务器安装完之后可以这样测试。( 这步只是检测 , 若只想与开发板相连这步可略 ) 本地测试: $sudo mount 192.168.1.109:/work/nfs_root /mnt 执行后,可以在mnt目录下发现我的共享目录下的文件。 这样nfs应该就搭建成功了。 其中192.168.1.109为服务端(电脑)的IP 。 碰到的问题:如果设定了主机IP,而不是用*号时,在进行本地测试时,进行Mount时会遇到 mount.nfs: access denied by server while mounting 192.168.1.2:的问题 因为本地测试默认在127.0.0.1范围内寻址,所以当然不会寻找到192.168. . 所以用*号可以解决这个问题。 5.客户端(开发板)连接服务端 将客户端(开发板)插上网线接入网络,设置好IP。 在客户端终端输入: #mount -t nfs -o nolock 192.168.1.109:/work/nfs_root /mnt (/mnt为实验板上的目录,也可是其他目录) 如果无任何输出说明连接成功了。 #cd /mnt
#ls 可以看到这个目录下有我主机的共享目录的中的内容了。这样NFS连接就成功了。 如果能正常挂载,而不能对文件进行copy,mv等操作,可能是文件大了。可用如下命令挂载: #mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.109:/work/nfs_root /mnt (/mnt为实验板上的目录,也可是其他目录) 本文来
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮