Linux 下 NFS服务的搭建
2015-12-17 10:06
429 查看
NFS是Network File System的简写,即网络文件系统。
网络文件系统是许多操作系统都支持的文件系统中的一种,也被成为NFS。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户可以像访问本地文件一样访问远端系统上的文件。
NFS所提供的共享文件服务是建议在高度信任的基础上的,所以,向其他用户释放共享资源之前,一定要确保对方的可靠性。
NFS的应用:在我们嵌入式开发过程中,NFS是一个重要环节,我们常常·把“根文件”系统放在主机上,然后在开发板启动的时候通过NFS来挂载主机上的根文件系统。这样省去了每次都要把文件系统烧写到存储设备上的步骤,可以说比tftp更方便。
下面我们将以Ubuntu为例,讲解一下NFS的配置过程:
Server: PC
CLient : ARM(这里博主是用同一台机器模拟的,主要是安装过程)
一、配置服务器端
使用sudo apt-get install nfs-kernel-server命令,安装NFS服务器程序软件包。
博主这里以前安装好了NFS
二、配置NFS资源
NFS允许挂载的目录和权限在文件/etc/exports 中记性了定义。配置NFS服务器的关键也就是配置这些文件。
其中/home/fs/qiang 是要共享的目录,这里必须用绝对路径;
* 代表允许所有的网络段访问;当然这里也可以/home/fs/qiang 192.168.3.51(rw) 设置允许访问的IP地址;
insecure:NFS通过1024以上的端口发送;
rw是可读可写权限;
async是NFS在写入数据前可以相应请求;
root_squash 是 root 用户具有根目录的完全管理访问权限;
当然,这里参数还有好多,大家可以查阅下资料;
三、手动启停NFS服务
1、启动NFS服务
2、停止NFS服务
3、重新启动NFS服务
4、查看NFS服务当前状态
四、查看NFS服务器的共享资源
五、挂载共享资源
这里应该在客户端那儿执行,使用mount命令
-t 指类型,这里是NFS;
192.168.3.51是服务端的IP地址;
/home/fs/qiang 是服务端的共享目录;
/mnt/nfs是挂载点,是客户端的目录;
当客户端使用mount命令讲NFS服务器上的到处文件系统挂载到本地后,接下来对挂载的文件系统的操作与使用本地文件系统没有任何区别。
六、卸载共享资源
需要说明的是,当有用户正在使用某个已加载的共享目录上的文件时,则不能卸载该文件系统,如果用户确认无误,可以使用“umount -f”命令强行卸载共享的目录。
网络文件系统是许多操作系统都支持的文件系统中的一种,也被成为NFS。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户可以像访问本地文件一样访问远端系统上的文件。
NFS所提供的共享文件服务是建议在高度信任的基础上的,所以,向其他用户释放共享资源之前,一定要确保对方的可靠性。
NFS的应用:在我们嵌入式开发过程中,NFS是一个重要环节,我们常常·把“根文件”系统放在主机上,然后在开发板启动的时候通过NFS来挂载主机上的根文件系统。这样省去了每次都要把文件系统烧写到存储设备上的步骤,可以说比tftp更方便。
下面我们将以Ubuntu为例,讲解一下NFS的配置过程:
Server: PC
CLient : ARM(这里博主是用同一台机器模拟的,主要是安装过程)
一、配置服务器端
使用sudo apt-get install nfs-kernel-server命令,安装NFS服务器程序软件包。
fs@ubuntu:~$ sudo apt-get install nfs-kernel-server [sudo] password for fs: Reading package lists... Done Building dependency tree Reading state information... Done nfs-kernel-server is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded. fs@ubuntu:~$
博主这里以前安装好了NFS
二、配置NFS资源
NFS允许挂载的目录和权限在文件/etc/exports 中记性了定义。配置NFS服务器的关键也就是配置这些文件。
fs@ubuntu:~$ cat /etc/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) # /home/fs/qiang 192.168.3.51(rw) /home/fs/qiang *(insecure,rw,async,root_squash) fs@ubuntu:~$
其中/home/fs/qiang 是要共享的目录,这里必须用绝对路径;
* 代表允许所有的网络段访问;当然这里也可以/home/fs/qiang 192.168.3.51(rw) 设置允许访问的IP地址;
insecure:NFS通过1024以上的端口发送;
rw是可读可写权限;
async是NFS在写入数据前可以相应请求;
root_squash 是 root 用户具有根目录的完全管理访问权限;
当然,这里参数还有好多,大家可以查阅下资料;
三、手动启停NFS服务
1、启动NFS服务
fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server start * Exporting directories for NFS kernel daemon... exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.3.51:/home/fs/qiang". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/fs/qiang". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x [ OK ] * Starting NFS kernel daemon [ OK ] fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server start
2、停止NFS服务
fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server stop * Stopping NFS kernel daemon [ OK ] * Unexporting directories for NFS kernel daemon... [ OK ] fs@ubuntu:~$
3、重新启动NFS服务
fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server restart * Stopping NFS kernel daemon [ OK ] * Unexporting directories for NFS kernel daemon... [ OK ] * Exporting directories for NFS kernel daemon... exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.3.51:/home/fs/qiang". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/fs/qiang". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x [ OK ] * Starting NFS kernel daemon [ OK ] fs@ubuntu:~$
4、查看NFS服务当前状态
fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server status nfsd running fs@ubuntu:~$
四、查看NFS服务器的共享资源
fs@ubuntu:~$ showmount -e 192.168.3.51 Export list for 192.168.3.51: /home/fs/qiang (everyone) fs@ubuntu:~$
五、挂载共享资源
这里应该在客户端那儿执行,使用mount命令
fs@ubuntu:~$ sudo mount -t nfs 192.168.3.51:/home/fs/qiang /mnt/nfs fs@ubuntu:~$
-t 指类型,这里是NFS;
192.168.3.51是服务端的IP地址;
/home/fs/qiang 是服务端的共享目录;
/mnt/nfs是挂载点,是客户端的目录;
当客户端使用mount命令讲NFS服务器上的到处文件系统挂载到本地后,接下来对挂载的文件系统的操作与使用本地文件系统没有任何区别。
六、卸载共享资源
fs@ubuntu:~$ sudo umount /mnt/nfs
需要说明的是,当有用户正在使用某个已加载的共享目录上的文件时,则不能卸载该文件系统,如果用户确认无误,可以使用“umount -f”命令强行卸载共享的目录。
相关文章推荐
- Centos6.5 安装R
- Fedora, CentOS 查看网关地址
- ImageMagick在centOS安装 ,处理PNG JPG
- 金鳞岂是池中物,一遇风云便化龙
- Linux_SELinux使用
- linux挂载windows共享目录
- 添加网桥
- Linux dd 命令
- 【Unix/Linux编程实践】编写时间服务器(使用Socket)
- linux启动jmeter,执行./jmeter.sh报错解决方法
- linux上安装mysql
- GPIO的驱动模型——linux
- linux 常用命令解压压缩
- centos6.5下安装mysql
- Linux ls 自定义时间显示格式
- linux sort,uniq,cut,wc命令详解
- centos 6搭建tftp服务器
- Linux netstat命令详解
- Linux netstat命令详解
- linux svn conflict