您的位置:首页 > 运维架构 > Linux

在linux中教你通过NFS实现文件共享

2013-04-17 19:27 507 查看
在linux中如何实现文件共享呢?其实很简单,它的共享是基于nfs的,nfs是网络文件系统,它能实现不同主机之间文件共享,就像windows的网上邻居!在linux中如何实现此功能呢?实现其功能也非常简单,只需通过安装nfs包(redhat默认安装),配置其相应的文件即可!
常用命令: showmount -e NFS_SERVER:查看NFS服务器"导出"的各文件系统 showmount -a NFS_SERVER:查看NFS服务器所有被挂载的文件系统及其挂载的客户端对应关系列表 showmount -d NFS_SERVER:查看NFS服务器所有导出的文件系统中被客户端挂载了文件系统列表 exportfs -a:表示重新导出所有的文件系统,跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统 exportfs -r:重新导出 exportfs -u:取消导出 exportfs -v:显示详细信息 mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT /PATH/TO/SOME_EXPORT:将共享的目录挂载至某处编辑/etc/exports文件,要写明要共享的磁盘、文件、目录路径及共享的客户端列表,客户端列表有多个要使用空格分隔,其后必须要用小括号写上访问权限!操作如下:服务器端:IP=172.16.15.5客户端:IP=172.16.15.4共享的文件为/shared服务器端配置:
# mkdir /shared
# touch /shared/gong
# vim /etc/exports
/shared 172.16.15.4(ro)
在启动nfs服务器时,要先启动rpc,应为nfs是基于rpc上工作的!
# service portmap start
# service nfs restart
共享成功,在客户端挂载即可!客户端操作:查看其NFS服务器共享的信息,并在172.16.15.4中挂载共享文件!
# showmount -e 172.16.15.5
# mount -t nfs 172.16.15.4:/shared /root/abc



访问属性(导出属性):ro:只读 rw:读写sync:同步 async:异步root_squash:将root用户映射为来宾账户no_root_squash:将root用户不映射为来宾账户all_squash:将所有用户映射为来宾账号anonuid,anongid:指定映射的来宾账号的UID和GID如何将所有用户映射为来宾账号?创建一个用户作为来宾账号,在将共享文件的属主、属组均改为来宾账号。
# useradd -u 510 nfstest
# touch /shared/test
# chown nfstest.nfstest /shared/test
# vim /etc/exports
/shared 172.16.15.4(rw,all_squash,anonuid=510,anongid=510)
# exportfs -ra
# showmount -e 172.16.15.5
客户端查看结果:


客户端实现开机自动挂载:编辑/etc/fstab添加要挂载的项;
# vim /etc/fstab
172.16.15.5:/shared /root/abc nfs defaults,_rnetdev 0 0
说明:_rnetdev:开机时,如果挂载错误,可以跳过此挂载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: