
sudo apt-get install nfs-kernel-server
二:配置该服务器
sudo vi /etc/exports
在打开的空的文件中,添加想要共享的目录
/srv/share (rw,sync,no_subtree_squash)
这里: /srv/share 是 ubuntu 给其他平台 ( 开发板,其他远程终端等 ) 提供的共享目录;
表示所有客户机都可以挂载上述共享目录,
rw 表示挂接此目录的客户机对该目录有读写的权力,
sync 同步写磁盘
no_root_squash 表示客户端root用户对该目录具备写权限
no_subtree_squash 表示允许挂接此目录的客户机享有该主机的 subtree 身份。
三:启动 NFS 服务
sudo /etc/initd/nfs-kernel-server start
有同学会出现这个情况:
exportfs :scandir /etc/exportsd no such file or directory
解决办法:sudo mkdir /etc/exportsd
启动NFS服务器成功后会出现:
Exporting directories for NFS kernel daemon [OK]
Starting NFS kernel daemon [OK]
然后,在开发板上做如下设置:
四:打开超级终端或者 DNW ,保持串口处于通信状态
五:通过交叉网线连接 PC 和开发板。这一步千万不能忘, NFS 靠的就是这根线啊,线路都不通了,如何能够配置成功?
六:确保 ubuntu 下的 IP 地址与开发板的 IP 地址在同一网段。二者皆可以通过 ifconfig 查询,以及通过它设置 IP 地址。如果不在同一网段,请手动设置为同一网段。
ifconfig eth0 19216814910
这时,开发板的 IP 就设置成 19216814910 了。
ping一下网络,看是否能ping通。
以上六步已经配置好 NFS 了,下面具体测试是否通信正常:
七:在开发板的 linux 启动后的命令行里输入如下指令:
mount –t nfs –o nolock 1921681103:/srv/share /mnt
其中 1921681497 为 PC 端 ubuntu 的 IP 地址。
前面的挂载命令将会把 PC 端的 ubuntu 下的 /srv/share 目录挂载到开发板的 /mnt 目录。当然,前提是开发板的 linux 系统必须具备这个目录了。
试试先在 ubuntu 的 /srv/share路径放个文件,然后在开发板的命令行终端敲入 ls /mnt ,是不是看到刚才所放的文件了。
八:如果第七步没有成功,请仔细检查以上七步,重复一到七步!
一、安装hane win nfs server,版本1169(官方最新版1223经试验不成功)。
二、设置如下:
三、在-输出->编辑表文件->添加你的目录,选择访问方式和别名->文件-选择保存->退出该软件
d:\nfs_folder -public -name:pc_nfs ip1921681101(ip可加可不加)
四、以管理员身份重启服务(注:软件界面上“重启服务”按钮无效,在安装目录下找到重启服务):
五、若发现还是没有相关的目录出现,重启电脑
六、在开发板的Linux上对nfs目录进行挂载:
1需将电脑的IP与开发板上的Ip设置在同一网段
2在embed linux(开发板)输入以下命令:
mount -t nfs -o nolock 1921681103:/pc_nfs_folder /mnt
电脑的IP 目录的别名 开发板上的目录
3cd 到mnt文件夹下
ls 可以看到pc中该目录对应内容
showmount -e 1921681200
若提示没有showmount这个命令,则安装nfs-common
sudo apt install nfs-common
可以看到在nfs server中挂载的文件夹,如下图所示。
sudo mkdir nfsfolder
挂载文件夹。
mount -e nfs 1921681200:/video /home/nfsfolder
此时,win10和ubuntu即实现了文件夹的共享,win10或ubuntu均可以对该文件夹进行 *** 作。NFS文件系统本来是liunx的服务想在win7下实现需要用软件,如果想在不想用软件会很麻烦!!!!
Windows 7中加入了NFS 客户端功能,可以通过控制面板中的“程序和功能”->“打开和关闭Windows功能”-> "NFS服务"
来开启,当然默认下Telnet客户端也是无效的,也可以在这里打开。安装完成后,就可以在Windows的命令行窗口中通过mount
以及showmount命令使用NFS的共享了。
C:\>showmount /
用法: showmount -e [server]
showmount -a [server]
showmount -d [server]
C:\>mount /
用法: mount [-o options] [-u:username] [-p:<password | >] <\\computername\sharename> <devicename | >
-o rsize=size 设置读取缓冲区的大小(以 KB 为单位)。
-o wsize=size 设置写入缓冲区的大小(以 KB 为单位)。
-o timeout=time 设置 RPC 调用的超时值(以秒为单位)。
-o retry=number 设置软装载的重试次数。
-o mtype=soft|hard 设置装载类型。
-o lang=euc-jp|euc-tw|euc-kr|shift-jis|big5|ksc5601|gb2312-80|ansi
指定用于文件和目录名称的编码。
-o fileaccess=mode 指定文件的权限模式。
这些模式用于在 NFS 服务器上创建的
新文件。使用 UNIX 样式模式位指定。
-o anon 作为匿名用户装载。
-o nolock 禁用锁定。
-o casesensitive=yes|no 指定在服务器上执行区分大小写的文件查找。
-o sec=sys|krb5|krb5i
简单的例子:
C:\Windows\SUA\bin>showmount -enfs_serv1
导出列表在nfs_serv1:
/vol/volz 所有计算机
/vol/volx 所有计算机
/vol/Do_NOT_Delete 所有计算机
/vol/vol7 所有计算机
/vol/vol0 nfs_cli1
/vol/vol0/home 所有计算机
/vol/isan 所有计算机
/vol/vsc 所有计算机
/vol/nfs_smvi nfs_cli1
/vol/vol_t1 所有计算机
C:\>mount \\nfs_serv1\vol\vol0 Z:
Z: 现已成功连接到 \\nfs_serv1\vol\vol0
需要注意的是,mount point和Linux和UNIX有所不同,不是使用一个目录作为挂载点,而是使用一个未使用的盘符。
例如上例中的"Z:"。这样就可以通过Z:盘访问你的共享了。非常方便。比起CIFS的方式更加快捷。
使用完后,可以用umount命令卸载共享。
C:\Users\leiz>umount
用法: [-f] <-a | drive_letters | network_mounts>
-a 删除所有 NFS 网络装入点
-f 强制删除 NFS 网络装入点
C:\Users\leiz>umount Z:
正在断开 Z: \\nfs_serv1\vol\vol0
连接上存在打开的文件和/或未完成的目录搜索。
要继续此 *** 作吗 (Y/N) [N]:y
命令已成功完成。
C:\Users\leiz>mount
本地 远程 属性
-------------------------------------------------------------------------------
Z: \\10128132175\vol\vol0 UID=-2, GID=-2
rsize=32768, wsize=32768
mount=soft, timeout=16
retry=1, locking=yes
fileaccess=755, lang=GB2312-80
casesensitive=no
1、NFS服务端安装nfs-utils软件yum install nfs-utils -y。
2、 mkdir -pv /u01/nps/volumes #nfs服务端创建共享目录。
3、 systemctl start nfs 启动nfs服务 systemctl status nfs 查看nfs状态,如图已经启动正常。
4、NFS客户端也使用命令yum install nfs-utils -y安装nfs软件,然后#如下命令验证是否可以访问nfs服务端。
5、在nfs客户端执行mount -t nfs 1019915095:/u01/nps/volumes /u01命令,然后df -h查看,nfs共享目录已经正常挂载到了/u01目录。
6、设置开机自动挂载,防止系统重启掉盘,将如下自动挂载写入/etc/fstab配置文件。
/etc/exports 添加目录比如是/usr/share/usr/share 19216810/24(rw,sync) (ro,sync)
表示1921681xxx可读可写 后面表示其他人可读!
服务器端
1检查所需要的包
[root@app71 ~]# rpm -qa | grep nfs
nfs-utils-123-36el6x86_64
nfs4-acl-tools-033-6el6x86_64
nfs-utils-lib-115-6el6x86_64
2 配置输出选项
[root@app71 ~]# vi /etc/exports
/mnt/iso 19216811(rw,sync,no_root_squash)
3 启动NFS服务
[root@app71 ~]# service nfs start
4 查看共享
[root@app71 ~]# showmount -e
Export list for app71:
/mnt/iso 3232990/24
5 开机启动
[root@app71 ~]# chkconfig --level 35 nfs on
客户端
创建挂载点mkdir -p /mnt/bk
mount -t nfs 192168110:/mnt/iso /mnt/bk
使用df -h查看/mnt/bk是否挂载成功。
将/etc/mtab中关于nfs的行增加到/etc/fstab中,实现自动挂载,注意先启动服务器。使用mount -av来查看自动挂载是否正常,正常情况文件系统挂载点无任何变化。
如果是oracle备份需要指定参数,包括读写缓冲,版本,超时等。更多信息可查看man 手册
Step 1:检查是否安装NFS和rpcbind两个软件。
打开linux终端,通过rpm -qa命令查看是否安装这两个包,如没有安装,请通过yum或源码包进行安装,这里不再说明安装方法。如图:
Step 2:修改配置文件:
用su切换成root用户,编辑/etc/exports文件,指定共享目录及权限等。 如图所示。我们来分析一下exports文件内容。
第一列是服务器要输出的共享目录。在本例中,共享目录是/db2Backup。
第二列指定允许哪些ip第一列的共享目录。
括号内的参数意义描述如下:
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,async,此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。修改文件后,保存退出。
Stet 3 :启动服务
在启动NFS服务器,要先启动portmap服务,然后再启动NFS服务。 *** 作方法如图所示:
在启动服务时,要用root。
Step 4:挂载目录
在另一台电脑上面,查看能否访问NFS服务,如果能访问,则挂载,如图所示。
首先查看能否访问NFS,命令返回的结果是可以正常访问。然后在本地建立/home/nfs文件夹,并把nfs挂载到该文件夹下面。mount -f参数指明了挂载类型是nfs。
5
Step 5:测试
经过以上4步,已经成功搭建了NFS服务,并加载到了本地文件系统中,接下来我们测试一下。cd到/home/nfs目录,mkdir一个文件夹,假设文件名是hello,然后进入到nfs服务器上,应该能看到hello文件。
6
以上就是简单的配置NFS服务的方法,未涉及防火墙等内容。如果在第4步时出现错误,请检查防火墙的设置。欢迎大家多多交流。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)