linux nfs文件共享
linux nfs文件共享
◆一、概念
NFS是网络文件系统(Network File System)的简称,是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统。
NFS由SUN公司开发,目前已成为文件服务的一种标准(RFC1904,RFC1813)。其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据,所以也可以看作是一个文件服务器。NFS是除了SAMBA之外Windows与Linux及Unix与Linux之间通信的方法。
理想条件下的NFS 网络拓扑结构 |
1、设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务);
2、NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享;
3、NFS为C/S架构;
◆二、服务器配置
1、配置文件
主要配置文件为:/etc/exports
格式为: 共享目录 可mount主机IP(参数1,参数2,……)
如:/var/nfs 172.20.*.*(rw,sync,no_rootl_squash)
ro: 只读
rw: 可读写
sync: 同步写入
async: 不同步写入
root_squash: 将root用户映射为来宾账号
no_root_squash: 将root用户映射为非来宾账号
all_squash: 所有帐号为来宾帐号
anonuid,anongid: 指定映射的来宾帐号的UID和GID;
说明:必须注意nfs/目录的访问权限,必须设置成777权限;父目录/var权限无要求,普通的755即可;
2、启动相关服务
然后依次启动相关服务:portmap,nfslock,nfs
service portmap start
service nfslock start
service nfs start
关闭顺序相反。
3、检查共享目录
随后可以采用showmount –e查看一下,看看共享的目录情况:
[root@ns var]# showmount -e
Export list for ns.osserver:
/var/nfs 172.20.*.*
OK,到此为止,NFS服务器搭建完毕;
◆三、客户端配置
1、确保portmap运行
客户端必须确保RPC协议相应的portmap正常运行,否则mount将失败;
2、挂载/var/nfs目录(本地挂载点为/mnt/nfs)
mount -t nfs 172.20.65.16:/var/nfs /mnt/nfs
成功mount以后,即可同本地目录一样随意操作;
◆四、其它相关命令
1、当修改了/etc/exports文件后,可以不用重新启动nfs服务,直接采用exports –rv 即可重新导出共享目录;
该命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的时候,将详细的信息输出到屏幕上。
具体例子:
[root@ns var]# showmount -e
Export list for ns.osserver:
/var/nfs 172.20.*.*
[root@ns var]# exportfs –au #全部卸载
[root@ns var]# showmount -e
Export list for ns.osserver:
[root@ns var]# exportfs –rv #全部重新 export 一次
exporting 172.20.*.*:/var/nfs
[root@ns var]#
2、showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法
showmout
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVER上export出来的目录。
例如:
[root@localhost ~]# showmount -e 172.20.16.139
Export list for 172.20.16.139 :
/root/share 172.20.16.137
[root@ns var]# showmount -a
All mount points on localhost.localdomain:
*:/root/share
172.20.16.139:,172.20.16.139
172.20.16.139:DEFAULT
◆五、常见问题解答
1、提示:mount to NFS server '172.20.67.203' failed: server is down.
解决方案:可能是NFS服务器的防火墙有问题;
2、提示:mount: RPC: Timed out
解决方案:由于RPC协议没运行;启动portmap服务;
也有可能是防火墙问题;Server/Client均有可能。
[root@test conn]# service nfslock status #服务器端查看
rpc.statd (pid 3041) is running...
[root@test conn]# service portmap status
portmap (pid 2983) is running...
[root@test conn]# service nfs status
rpc.mountd (pid 22877) is running...
nfsd (pid 22874 22873 22872 22871 22870 22869 22868 22867) is running...
rpc.rquotad (pid 22862) is running...
[root@test conn]# showmount -e
Export list for test:
[root@test conn]# vi /etc/exports
/var/nfs 10.109.131.*(rw,async)
[root@test conn]# exportfs -arv
exporting 10.109.131.*:/var/nfs
[root@test conn]# showmount -e
Export list for test:
/var/nfs 10.109.131.*
[root@test ~]# mkdir /var/nfs
[root@test nfs]# cd /var/nfs
[root@test nfs]# touch a.123
[root@jacktest ~]# mount -t nfs 10.109.131.209:/var/nfs/ /mnt/nfs/ #客户端查看
[root@jacktest ~]# ll /mnt/nfs/a.123
-rw-r--r-- 1 root root 0 Jan 15 16:28 /mnt/nfs/a.123
[root@jacktest ~]# mount
...
10.109.131.209:/var/nfs/ on /mnt/nfs type nfs (rw,addr=10.109.131.209)
[root@jacktest ~]# showmount -e 10.109.131.209
Export list for 10.109.131.209:
/var/nfs 10.109.131.*
特例:NSF权限是通过ID号来确认权限,因此root默认为
[root@test conn]# id hbase #服务器端查看,hbase的ID号为502
uid=502(hbase) gid=502(hbase) groups=502(hbase)
[root@test conn]# setfacl -m u:hbase:rwx /var/nfs/
[root@test conn]# ll /var/nfs/
total 0
-rw-r--r-- 1 root root 0 Jan 15 16:28 a.123
[root@test conn]# su - hadoop
[hadoop@test ~]$ cd /var/nfs/
[hadoop@test nfs]$ touch 11.hadoop
[hadoop@test nfs]$ ll
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-r--r-- 1 root root 0 Jan 15 16:28 a.123
[hadoop@test nfs]$ su - hbase
[root@test conn]# setfacl -m u:hbase:rwx /var/nfs/
[root@test conn]# ll /var/nfs/
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 hbase hbase 0 Jan 15 16:57 321.hbase
-rw-r--r-- 1 root root 0 Jan 15 16:28 a.123
[root@jacktest ~]# groupadd -g 502 openstack #客户端查看,openstack的ID号为502
[root@jacktest ~]# useradd -g 502 -u 502 openstack
[root@jacktest ~]# id openstack
uid=502(openstack) gid=502(openstack) groups=502(openstack)
[root@jacktest ~]# ll /mnt/nfs/
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 openstack openstack 0 Jan 15 16:57 321.hbase
-rw-r--r-- 1 root root 0 Jan 15 16:28 a.123
[root@jacktest ~]# su - openstack
[openstack@jacktest ~]$ cd /mnt/nfs/
[openstack@jacktest nfs]$ ll /mnt/nfs/
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 openstack openstack 0 Jan 15 16:57 321.hbase
-rw-r--r-- 1 root root 0 Jan 15 16:28 a.123
[openstack@jacktest nfs]$ touch b.openstack
[openstack@jacktest nfs]$ ll
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 openstack openstack 0 Jan 15 16:57 321.hbase
-rw-r--r-- 1 root root 0 Jan 15 16:28 a.123
-rw-rw-r-- 1 openstack openstack 0 Jan 15 17:04 b.openstack
[root@test conn]# ll /var/nfs/ #服务器端查看
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 hbase hbase 0 Jan 15 16:57 321.hbase
-rw-r--r-- 1 root root 0 Jan 15 16:28 a.123
-rw-rw-r-- 1 hbase hbase 0 Jan 15 17:04 b.openstack
统一用一个权限访问:
[root@test nfs]# useradd -u 511 nfstest #服务器端查看
[root@test nfs]# touch nfstest
[root@test nfs]# ls
11.hadoop 321.hbase b.openstack nfstest
[root@test nfs]# ll
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 hbase hbase 0 Jan 15 16:57 321.hbase
-rw-rw-r-- 1 hbase hbase 0 Jan 15 17:04 b.openstack
-rw-r--r-- 1 root root 0 Jan 15 17:16 nfstest
[root@test nfs]# chown nfstest.nfstest /var/nfs/nfstest
[root@test nfs]# ll
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 hbase hbase 0 Jan 15 16:57 321.hbase
-rw-rw-r-- 1 hbase hbase 0 Jan 15 17:04 b.openstack
-rw-r--r-- 1 nfstest nfstest 0 Jan 15 17:16 nfstest
[root@test nfs]# vi /etc/exports
[root@test nfs]# cat /etc/exports
/var/nfs 10.109.131.*(rw,async,all_squash,anonuid=511,anongid=511)
[root@test nfs]# exportfs -ra
[root@test nfs]# exportfs -rav
exporting 10.109.131.*:/var/nfs
[root@test nfs]# showmount -e 10.109.131.209
Export list for 10.109.131.209:
/var/nfs 10.109.131.*
[root@test nfs]#
[root@jacktest nfs]# ll #客户端查看
total 0
-rw-rw-r-- 1 hadoop hadoop 0 Jan 15 16:52 11.hadoop
-rw-rw-r-- 1 openstack openstack 0 Jan 15 16:57 321.hbase
-rw-rw-r-- 1 openstack openstack 0 Jan 15 17:04 b.openstack
-rw-r--r-- 1 511 511 0 Jan 15 17:16 nfstest
[root@jacktest nfs]# vim /etc/fstab
...
192.168.1.5:/var/nfs /mnt/nfs nfs default,-rnetdev 0 0
[root@test var]# vi /etc/sysconfig/nfs #固定监控端口
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
# Port rquotad should listen on.
RQUOTAD_PORT=875
# Optinal options passed to rquotad
#RPCRQUOTADOPTS=""
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
#RPCMOUNTDOPTS=""
# Port rpc.mountd should listen on.
MOUNTD_PORT=892
[root@test var]# rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 676 status
100024 1 tcp 679 status
100011 1 udp 991 rquotad
100011 2 udp 991 rquotad
100011 1 tcp 994 rquotad
100011 2 tcp 994 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 39240 nlockmgr
100021 3 udp 39240 nlockmgr
100021 4 udp 39240 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 tcp 37209 nlockmgr
100021 3 tcp 37209 nlockmgr
100021 4 tcp 37209 nlockmgr
100005 1 udp 1005 mountd
100005 1 tcp 1008 mountd
100005 2 udp 1005 mountd
100005 2 tcp 1008 mountd
100005 3 udp 1005 mountd
100005 3 tcp 1008 mountd
◆六、示例
1. 服務器端配製:
[root@MyLinux ~]# useradd -u 510 nfstest
[root@MyLinux ~]# mkdir /shared
[root@MyLinux ~]# touch /shared/nfstest
[root@MyLinux ~]# ll /shared/nfstest
-rw-r--r-- 1 root root 0 Apr 6 16:22 /shared/nfstest
[root@MyLinux ~]# tail /etc/passwd
.
nfstest:x:510:510::/home/nfstest:/bin/bash
[root@MyLinux ~]# chown nfstest.nfstest /shared/nfstest
[root@MyLinux ~]# ll /shared/nfstest
-rw-r--r-- 1 nfstest nfstest 0 Apr 6 16:22 /shared/nfstest
[root@MyLinux ~]# vi /etc/exports
/shared 10.109.0.0/16(rw,all_squash,anonuid=510,anongid=510)
[root@MyLinux ~]# exportfs -ra
[root@MyLinux ~]# showmount -e 10.109.132.126
Export list for 10.109.132.126:
/shared 10.109.0.0/16
2. 客戶端手动挂载:
[root@MyLinux ~]# mkdir /mnt/nfs
[root@MyLinux ~]# mount -t nfs 10.109.132.126:/shared /mnt/nfs
3. 客戶端自动挂载:
[root@MyLinux ~]# vim /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
10.109.132.126:/shared /mnt/nfs nfs defaults,_rnetdev 0 0 #若挂载不成功则跳过不挂载
---END---
转载于:https://blog.51cto.com/wangfx/1896858
linux nfs文件共享相关推荐
- Linux上(Redhat7)实现NFS文件共享服务
NFS(Network File System)网络文件系统基于TCP/IP 主要功能:通过网络(局域网)让不同的主机系统之间可以共享文件或目录,可以像使用本地主机资源那样远程读写文件夹 主要用途:N ...
- Linux配置NFS文件共享存储
一.NFS简介 NFS是一种基于TCP/IP传输的网络文件系统协议.通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源. 对于大多数负载均衡群集来说,使用NFS协议来共享数据存 ...
- nfs文件共享+netstat相关 记录
经常要创建nfs文件共享,每次都要重新找一下笔记,特记录下来方便查找: 一般linux自带有nfs应用,所以要使用时,只要启用即可,启动过程如下: 服务端: 在/etc/exports 里面加入要nf ...
- linux nfs 配置_centos7 NFS 配置
NFS是什么 最近项目上有这么个需求,客户端上传文件的时候,想把文件上传到另外一台服务器. 本来想用ftp的,觉得太麻烦,就各种查资料,请教别人,后来发现,NFS这个东东真不错. NFS(网络文件系统 ...
- Linux——SAMBA文件共享
文章目录 一.SAMBA概念 1. 什么是SAMBA 2. SAMBA主要进程 3. SAMBA软件安装(服务器搭建) 4. smb配置文件 二.SAMBA使用案例 1. 环境准备 1)配置静态ip ...
- Linux 网络文件共享服务详细介绍
Linux 网络文件共享介绍 一.常见的存储类型 1.1 DAS 类型的存储 1.2 NAS 类型的存储 1.3 SAN 类型的存储 1.4 三种存储类型的比较 二.文件传输协议 FTP 2.1 FT ...
- linux 协议文件,下面支持UNIX和Linux的文件共享协议是() - 问答库
问题: [单选] 下面支持UNIX和Linux的文件共享协议是() A . CIFS B . NFS C . iSCSI D . FCP Which log contains the output g ...
- NFS 文件共享的创建过程
nfs 文件共享的服务器 nfs服务需要两个软件包nfs-utils和portmap 启动nfs服务 # service portmap start # service nfs start # chk ...
- AIX 访问Linux NFS共享错误案例
AIX 访问Linux NFS共享错误案例 系统环境: 操作系统: RedHat EL4.AIX 5.3 错误现象: Linux 作为NFS Server ,AIX host 作为NFS Client ...
最新文章
- Linux系统mongdb还原数据库,linux下mongodb数据库备份与还原
- 使用Docker迁移与备份
- LeetCode 795. 区间子数组个数
- java线程礼让yield
- 学生使用计算机中怎么关机,学会正确开关机初中计算机教案
- CYQ.DBImport 数据库反向工程及批量导数据库工具 V2.0 发布[增加批量导出数据库脚本及数据库设计文档]...
- 手机qq音乐qmc0文件转mp3_录音添加背景音乐最新教程
- idea运行maven:No URLs will be polled as dynamic configuration sources
- qtcreator下拉列表怎么制作_如何用WPS制作月度记账表
- UVa 12174 (滑动窗口) Shuffle
- Cocoa中Core Data的简单介绍
- 阅读材料:信息技术年谱
- lzg_ad: FBWF配置详解
- 让游戏画面会说话,游戏音效制作有讲究
- 超越前作,实现动漫风格迁移——AnimeGANv2
- C++几个常用的排序
- java程序假死_分析一个常见的java多线程通信问题(假死现象)
- 微信开放平台创建应用时应用官网的问题
- Mifare UltraLight 卡存储结构
- cee怎么把大图片放进小盒子_PS的实际应用:怎么给盒子制作包装图片
热门文章
- cesium 圆形波纹
- linux dd来加载驱动,linux 加载raid驱动
- 七乐彩中奖规则表_双色球第2020118期开奖结果出炉!你中奖了吗?
- c语言 统计数量用count_C语言编程中统计输入的行数以及单词个数的方法
- c语言 waveout用法,用C语言发声
- 若依微服务部署遇到问题
- mysql语句优化 explai_mysql使用explain优化sql语句
- responseentity 详解_大六壬毕法赋精注详解(1)【六壬】
- mysql索引数据结构图解_干货:mysql索引的数据结构
- python求小数部分_python-numpy数组的小数部分