Linux 搭建NFS文件服务器实现文件共享
我们接着玩Linux,O(∩_∩)O哈哈~
1.什么是nfs
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
2.搭建nfs
首先你得有一个Linux服务器哈,这里我还是用我的廉价腾讯云~
2.1前期准备:
1.安装nfs-utils和rpcbind
yum install nfs-utils rpcbind
2.设置开机启动服务
chkconfig nfs on
chkconfig rpcbind on
3.启动相关服务
service rpcbind start
service nfs start
2.2服务端配置:
1.创建共享目录
mkdir /xjy/data/nfs/server
2.编辑/etc/exports文件添加如下内容
vim /etc/exports
/xjy/data/nfs/server *(rw,no_root_squash,no_all_squash,sync)
① /xjy/data/nfs/server —要共享的目录
② * 处代表限制访问的ip段
可以填192.168.0.* —允许访问的网段,也可以是ip地址、主机名(能够被服务器解析)
可以填192.168.0.123/24
*(所有人都能访问)
③ 括号内的常见参数有:
参数值 内容说明
rw ro 该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
sync async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
no_root_squash root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!
all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦!
no_subtree_check 关闭子树检查
anonuid anongid anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。
其他选项可以通过man exports查阅man文档
3.刷新配置立即生效
exportfs -r
4.重启nfs
service nfs restart
5.查看 RPC 服务的注册状况
[root@VM_15_8_centos server]# rpcinfo -p localhost
program vers proto port service
tcp portmapper
tcp portmapper
tcp portmapper
udp portmapper
udp portmapper
udp portmapper
udp mountd
tcp mountd
udp mountd
tcp mountd
udp mountd
tcp mountd
tcp nfs
tcp nfs
tcp nfs
tcp nfs_acl
tcp nfs_acl
udp nfs
udp nfs
udp nfs
udp nfs_acl
udp nfs_acl
udp nlockmgr
udp nlockmgr
udp nlockmgr
tcp nlockmgr
tcp nlockmgr
tcp nlockmgr
选项与参数:
-p :针对某 IP (未写则预设为本机) 显示出所有的 port 与 porgram 的信息;
-t :针对某主机的某支程序检查其 TCP 封包所在的软件版本;
-u :针对某主机的某支程序检查其 UDP 封包所在的软件版本;
6.本机查询nfs服务器
[root@VM_15_8_centos server]# showmount -e localhost
Export list for localhost:
/xjy/data/nfs/server *
选项与参数:
-a :显示目前主机与客户端的 NFS 联机分享的状态;
-e :显示某部主机的 /etc/exports 所分享的目录数据。
2.3客户端配置:
1.创建挂载点
mkdir /xjy/data/nfs/client
2.查看服务器抛出的共享目录信息
[root@VM_15_8_centos server]# showmount -e 192.168.0.123
Export list for 192.168.0.123:
/xjy/data/nfs/server *
3.挂载目录
为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议
mount -t nfs -o vers= 192.168.0.123:/xjy/data/nfs/server /xjy/data/nfs/client -o proto=tcp -o nolock
4.查看挂载的目录
[root@VM_15_8_centos server]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G .1G 16G % /
tmpfs 112M 112M % /dev/shm
/dev/sda1 477M 54M 398M % /boot
192.168.0.123:/data/lys
18G .1G 16G % /lys
3.测试:
服务端
[root@VM_15_8_centos xjy]# echo “test” > test.txt
客户端
[root@VM_15_8_centos xjy]# cat /xjy/test.txt
test
[root@VM_15_8_centos xjy]# echo “” >> /xjy/test.txt
服务端
[root@VM_15_8_centos xjy]# cat /data/xjy/test.txt
test
4.取消挂载:
[root@VM_15_8_centos server]# umount /xjy/data/nfs/client
[root@VM_15_8_centos server]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G .1G 16G % /
tmpfs 112M 112M % /dev/shm
/dev/sda1 477M 54M 398M % /boot 如果显示:device is busy,可以使用-lf参数强行删除
[root@VM_15_8_centos server]# umount –lf /xjy/data/nfs/client
5.重启和关闭:
重启:[root@VM_15_8_centos server]# service 服务名 restart
停止:[root@VM_15_8_centos server]# service 服务名 stop
开启:[root@VM_15_8_centos server]# service 服务名 start
6.固定nfs服务端口
为了方便配置防火墙,需要固定nfs服务端口
NFS启动时会随机启动多个端口并向RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。
[root@VM_15_8_centos server]# rpcinfo -p localhost
program vers proto port service
tcp portmapper
tcp portmapper
tcp portmapper
udp portmapper
udp portmapper
udp portmapper
udp mountd
tcp mountd
udp mountd
tcp mountd
udp mountd
tcp mountd
tcp nfs
tcp nfs
tcp nfs
tcp nfs_acl
tcp nfs_acl
udp nfs
udp nfs
udp nfs
udp nfs_acl
udp nfs_acl
udp nlockmgr
udp nlockmgr
udp nlockmgr
tcp nlockmgr
tcp nlockmgr
tcp nlockmgr
分配端口,编辑配置文件:
[root@VM_15_8_centos server]# vim /etc/sysconfig/nfs
添加:
RQUOTAD_PORT=
LOCKD_TCPPORT=
LOCKD_UDPPORT=
MOUNTD_PORT=
STATD_PORT=
重启
[root@VM_15_8_centos server]# service nfs restart
关闭 NFS 守护进程: [确定]
关闭 NFS mountd: [确定]
关闭 NFS 服务: [确定]
Shutting down RPC idmapd: [确定]
启动 NFS 服务: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
查看结果
[root@VM_15_8_centos server]# rpcinfo -p localhost
program vers proto port service
tcp portmapper
tcp portmapper
tcp portmapper
udp portmapper
udp portmapper
udp portmapper
udp mountd
tcp mountd
udp mountd
tcp mountd
udp mountd
tcp mountd
tcp nfs
tcp nfs
tcp nfs
tcp nfs_acl
tcp nfs_acl
udp nfs
udp nfs
udp nfs
udp nfs_acl
udp nfs_acl
udp nlockmgr
udp nlockmgr
udp nlockmgr
tcp nlockmgr
tcp nlockmgr
tcp nlockmgr
可以看到,随机端口以固定
iptables策略问题完美解决!!!
7.设置系统开机就挂载磁盘
在/etc/fstab中加入开机挂载命令
[root@VM_15_8_centos server]# vim /etc/fstab
10.10.159.68:/s4_attachment /data/nfs/client nfs defaults
8.Windows作为客户端挂载nfs
1.开启nfs客户端:打开控制面板》程序》启用或关闭windos功能》选中nfs客户端,点击确定
.2.挂载:mount 192.168.0.123:/xjy/data/nfs X: (此处注意只能定位到nfs目录,否则会报网络错误)
会创建一个网络盘X盘,里面挂载文件
3.取消挂载:右键X盘,点击取消连接或者执行命令:umount X:
OVER!
Linux 搭建NFS文件服务器实现文件共享的更多相关文章
- 使用Linux搭建FTP服务器实现文件共享
使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...
- Linux搭建tomcat文件服务器
Linux搭建tomcat文件服务器 Linux下配置Tomcat服务器和Windows下其实差不多,可以去官网下载安装包释放或者在线下载,只是当时下载的windows.zip文件,现在下载.tar. ...
- linux搭建FastDFS文件服务器
本文主要介绍在linux服务器如何搭建FastDFS文件服务器.大概分为9个步骤,由于内容较为繁琐.下面带你入坑! 首先简单介绍一下FastDFS是淘宝资深架构师余庆老师主导开源的一个分布式文件系统, ...
- Linux搭建NFS服务
一.NFS服务简单介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中, ...
- CentOS6.5下搭建NFS文件服务器
本文参考这里 CentOS下搭建NFS服务器总结 环境介绍: 1. 服务器: 192.168.0.100 2. 客户机: 192.168.0.101 安装软件包: 服务器和客户机都要安装nfs 和 r ...
- 在linux下搭建NFS服务器实现文件共享
目录 一.关于NFS 二.搭建一台NFS服务器共享特定资源 三.调优 一.关于NFS 1.NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系 ...
- Linux搭建nfs服务器
使用linux进行嵌入式开发的时候,为了方便开发,通常是将开发板挂载到宿主机的文件系统上,然后将代码放到共享给开发板的目录中,再通过开发板运行. 首先查看是否安装了 nfs 软件包,yum list ...
- Linux搭建NFS提供磁盘给Windows使用
在Windows2008系统下设置挂载Linux服务器磁盘 一.系统环境 系统平台:CentOS release 5.8 (Final) NFS Server IP:X....X...153.157 ...
- CentOS 6.5下搭建NFS文件服务器
环境介绍:服务器: 192.168.0.1客户机: 192.168.0.2安装软件包:服务器和客户机都要安装nfs 和 rpcbind 软件包:yum -y install nfs-utils rpc ...
随机推荐
- Mac安装并破解StarUML
1.下载与安装这里不做赘述,直接去官网下载即可 http://staruml.io/ 2.关键的事情来了,破解 一.打开安装包的目录 cd /Applications/StarUML.app/Cont ...
- WPS烦人问题
[原]彻底解决WPS弹出热点广告.WPS购物图标的办法 搜索wpsnotify.exe,删除并新建同名文件. 搜索updateself.exe,删除并新建同名文件. 关闭我的WPS,搜索khomepa ...
- [python] 获得所有的最长公共子序列
两句闲话 得到两个序列的最长公共子序列(LCS)是个经典问题,使用动态规划,实现起来并不难. 一般来说,我们只是输出一个LCS.但是,老师布置的作业是输出所有的LCS. 解法 按照一般的方法,我们首先 ...
- bzoj 3052 糖果公园
Written with StackEdit. Description \(Candyland\) 有一座糖果公园,公园里不仅有美丽的风景.好玩的游乐项目,还有许多免费糖果的发放点,这引来了许多贪吃的 ...
- 【转】IUSR和IIS_IUSRS
转自:http://blog.chinaunix.net/uid-20344928-id-3306130.html 概述 在早期的IIS版本中,随着IIS的安装,系统会创建一个IUSR_Mac ...
- Hbase 参数配置及优化
From:http://www.open-open.com/lib/view/open1346684547787.html 接触hbase已有半年的时间,查了很多资料,也参考了很多别人心得,也希望把自 ...
- iPhone之IOS5内存管理(ARC技术概述)
ARC(Automatic Reference Counting )技术概述 此文章由Tom翻译,首发于csdn的blog,任何人都可以转发,但是请保留原始链接和翻译者得名字.多谢! Automati ...
- thinkphp遇到的小问题,js文件中U方法不被解析
我想在js文件中写ajax, 写完发现异常, 本以为是js文件中不支持ajax 后来发现时地址解析错误. 也就是U方法在js文件中不被解析. 貌似thinkphp解析,tpl文件中的一些元素. js文 ...
- 子查询语句的thinkphp实现
语句 SELECT a.id as item_id,a.name as item_name,a.intro as item_intro,b.id,b.money FROM sh_incentive_i ...
- 小程序中WXSS样式控制
WXSS WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式. WXSS 用来决定 WXML 的组件应该怎么显示. 为了适应广大的前端开发者,WXSS 具 ...