NFS文件系统详解

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

nfs工作流程图:

server:

安装:

[[email protected] ~]# yum install nfs-utils rpcbind    -y

启动:

[[email protected] ~]# /etc/init.d/rpcbind start
[[email protected] ~]# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]   #磁盘检查
Starting NFS mountd:                                       [  OK  ] #等待客户端挂载 挂载守护进程,负责客户端来源认证的进程
Starting NFS daemon:                                       [  OK  ]#守护进程   文件读写nfs
Starting RPC idmapd:                                       [  OK  ]#id号映射

进程说明:

[[email protected] ~]# rpcinfo  -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper         #rpc
    100005    3   tcp  48973(随机)  mountd
    100003    2   tcp   2049  nfs                 #文件读写
    100227    3   tcp   2049  nfs_acl             #访问控制列表
    100021    1   udp  41315(随机)  nlockmgr      #锁管理器
    100011    2   tcp    875  rquotad               #磁盘资源配额

配置文件:

帮助:

[[email protected] ~]# man exports
/etc/exports:
	文件系统 	客户端1(文件系统导出属性)     客户端2(文件系统导出属性) 
		文件系统
		客户端:
			IP: 172.16.100.8
			Hostname: *.magedu.com
			Network: 
               常用文件系统导出属性:
			rw
			async 默认异步  
			sync  同步性能差
			root_squash:默认 压缩root用户,基于imapd,将root通过网络访问时转换为nfsnobody用户 
			no_root_squash: 不压缩root用户;
			all_squash: 压缩所有用户;
			anonuid, anongid: 指定匿名用户映射为的UID和GID;
[[email protected] nfsshared]# vim /etc/exports 
/nfsshared/node1  192.168.1.0/24(rw) 
#/nfsshared/node1  192.168.1.0/24(rw,anonuid=304)  304 nginx
#/nfsshared/node1  192.168.1.0/24(rw,all_squash)  nfsnobody

重启服务:

[[email protected] nfsshared]# /etc/init.d/nfs restart
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

client:

[[email protected] ~]# yum install nfs-utils rpcbind -y   
[[email protected] ~]# rpcinfo -p sherry      #nfs客户端执行 需要安装rpcbind
 program vers proto   port  service  (每项都多个)
    100000    2   udp    111  portmapper
    100011    2   tcp    875  rquotad
    100005    3   tcp  33671  mountd
    100003    2   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100021    4   tcp  36734  nlockmgr
[[email protected] ~]# showmount -e sherry   #nfs客户端执行  需要安装nfs-utils
Export list for sherry:
/nfsshared 192.168.1.0/24

客户端挂载:

[[email protected] ~]# mkdir /mnt/nfs/node1 -pv
mkdir: created directory `/mnt/nfs‘
mkdir: created directory `/mnt/nfs/node1‘
[[email protected] ~]# mount -t nfs sherry:/nfsshared/node1 /mnt/nfs/node1/ 
[[email protected] ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv1      5.7G  2.6G  2.9G  47% /
tmpfs                    491M     0  491M   0% /dev/shm
/dev/sda1                194M   29M  155M  16% /boot
/dev/mapper/vg0-lv3      3.0G   69M  2.8G   3% /mydata
sherry:/nfsshared/node1  2.5G   67M  2.3G   3% /mnt/nfs/node1

模拟nginx程序写文件:

服务器:

[[email protected] nfsshared]# vim /etc/exports /nfsshared/node1  
192.168.1.0/24(rw,anonuid=304)   
[[email protected] nfsshared]# /etc/init.d/nfs start
[[email protected] nfsshared]# setfacl -m user:nginx:rwx node1/

测试:

#client
[[email protected] node1]# touch a
#server
[[email protected] nfsshared]# cd node1/
[[email protected] node1]# ll
total 0
-rw-r--r-- 1 nginx nfsnobody 0 May 26 23:02 a

配置文件reload:

exportfs  -rav
exportfs:
		-a: 操作所有文件系统
		-ra: 重新导出所有文件系统
		-ua: 取消导入的所有文件系统
		-v: 显示详细信息

over

时间: 2024-08-13 20:58:57

NFS文件系统详解的相关文章

[转帖]Linux文件系统详解

Linux文件系统详解 https://www.cnblogs.com/alantu2018/p/8461749.html 贼复杂.. 从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系统的存储结构.不同存储介质的区别(RAM.ROM.Flash).存储节点inode.本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.ch

[鸟哥linux视频教程整理]02_03_Linux根文件系统详解

一.根文件系统详解: FHS:Linux /boot: 系统启动的相关文件,如内核.initrd,以及grub(bootloader) /dev: 设备文件 块设备:随机访问 字符设备:线性访问,按字符为单位. 设备号:主设备号(major)和次设备号(minor) /etc:配置文件 /home:用户的家目录,每个用户的家目录通常默认为/home/USERNAME /root: /lib:库文件 /lib/modules:内核模块文件 动态库:.dll .so(share object) 静态

linux 下跟文件系统详解

什么是根文件系统 根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行. 我们首先从主机上所安装的Linux操作系统中了解一些根文件系统的信息.比如在笔者工作的Linux桌面系统中可以得到下面的结果: # mount /dev/hda2 on / type ext3 (rw) none on /proc

NFS网络文件系统详解

第1章 NFS基本概述 1.1 什么是nfs NFS是Network File System的缩写及网络文件系统. 主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. NFS系统和Windows网络共享.网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS 1.2 为什么要使用NFS服务进行数据存储 1.实现多台服务器之间数据共享 2.实现多台服务器之间数据的一致 1

Linux文件系统详解(文件系统层次、分类、存储结构、存储介质、文件节点inode)

从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系统的存储结构.不同存储介质的区别(RAM.ROM.Flash).存储节点inode. 本文参考:http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.chinabyte.com/os/142/12315142.shtml http://www.ibm.com/developerworks/

[转] Linux文件系统详解

从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系统的存储结构.不同存储介质的区别(RAM.ROM.Flash).存储节点inode.本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.chinabyte.com/os/142/12315142.shtml http://www.ibm.com/developerworks/

Linux学习之文件系统详解

本文和大家分享的主要是 linux文件系统 相关内容,一起来看看吧,希望对大家学习使用这部分内容有所帮助.   1 . linux 文件系统分配策略:  块分配 (blockallocation) 和扩展分配 (extentallocation) :  块分配:磁盘上的文件块根据需要分配给文件,避免了存储空间的浪费.但当文件扩充时,会造成文件中文件块的不连续,从而导致过多的磁盘寻道时间.  每一次文件扩展时,块分配算法就需要写入文件块的结构信息,也就是 meta-dada . meta-data

nfs 原理详解

nfs :Network File System(网络文件系统) 首先说一下nfs的一些原理吧: (这里说的可能不大精确 ,主要是理解整个工作流程) nfs 本身只是一种文件系统(只具有文件管理的功能),并不具备网络功能. 所以 nfs 必须借助rpc进行网络通信. RPC: Remote Rrocedure Call (远程过程调用)  相对于LPC(本地过程调用) rpc 的客户端 stub  服务端 rpc Server rpc 对于用户是透明的,但是实际上需要 rpc 客户端和服务端的协

NFS配置详解

NFS网络文件系统,它允许网络中的计算机之间通过TCP/IP共享资源,本地NFS客户端可以NFS服务器上的文件,就像访问本地文件一样 安装nfs yum -y install rpcbind nfs-utils #nfs-utils:nfs服务的主程序 #rpcbind:远程过程调用,能使客户端执行其他系统中程序 配置nfs服务: /etc/exports #主配置文件,默认为空 配置文件语法:共享目录   允许访问ip或网段(权限) 例: /var/www/html 192.168.0.0/2