NFS存储服务(上)

第1章 NFS介绍

1.1 什么是NFS

NFS是Network File System的缩写,中文意思是网络文件系统

它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录

NFS==网络共享文件系统

互联网中小型网站集群架构后端常用NFS进行数据共享

如果大型网站,那么有可能还会用到更复杂的分布式文件系统,例如:Moosefs(mfs)、GlusterFS、FastDFS

扩展:NFS网络文件系统很像Windows系统的网络共享,但是无法部署在windows系统上,NFS服务

只能应用在Linux系统上,FTP 、Samba服务均都支持Linux和window

1.2 NFS在企业中的应用场景

1.2.1 为什么要用这个NFS软件?

实现web集群中服务器数据一致性

a.  实现数据信息的共享

b.  实现数据信息的一致

  NFS在网络文件共享服务作用总结:

  1.  负载均衡设备会将访问流量,进行分流,但不便于文件和数据的互相访问;

  2.  利用服务器间的数据同步可以使用户之间数据互访,但同步管理操作过于复杂;

  3.  利用NFS服务器可以统一管理数据,使用户之间可以顺利互访

1.3 共享存储服务分类

硬件存储:IBM oracle(sun)EMC(去IOE)

软件存储:NFS mfs ftp samba

第2章 NFS共享系统原理

2.1 NFS系统挂载结构

  简单描述NFS工作原理:

1. 部署好NFS服务,在NFS服务端创建一个video共享目录

2. web服务器(NFS客户端)创建一个本地video目录,作为一个挂载点

3. web服务器通过mount命令实现网络挂载,将nfs服务器上video目录挂载到本地video目录挂载点上

4. web服务器(NFS客户端)上在video目录中,增加 删除 修改数据的操作,都等价于在NFS服务端 

   video 目录中的操作

2.2 什么是RPC(Remote Procedure Call)

2.2.1 简单理解

  根据上图可以简单理解RPC相当于中介服务

  默认NFS服务启动会产生多个进程,多个端口号信息并且产生的多个端口号信息会在服务重启时,发生变化,因此不便于nfs客户端进行连接访问

  在拥有rpc服务端之后,可以让nfs客户端直接访问rpc服务,提供中介服务,便于nfs客户端进行连接访问

2.2.2 没有RPC服务的状况

因每个服务进程对应的端口号不同,并且是随机的,所有对于客户端来说不知道该访问哪个端口。

2.2.3 RPC服务的情况

NFS服务端的每个服务进程都会向RPC服务进程注册,客户端也只需访问RPC服务的111端口即可,由RPC服务来告诉客户端访问服务的端口号。

2.2.4 标准工作流程图

NFS服务工作流程图:

01. 启动rpc服务,建立中介服务

02. 启动nfs服务,开启进程信息(房源信息),向rpc服务进行注册

03. rpc服务接收到nfs服务进程信息(房源信息)

04. nfs客户端向rpc服务发出请求(访问共享目录)

05. rpc服务响应nfs客户端请求

06. nfs客户端与nfs服务端共享目录建立网络连接,实现数据网络存储

当访问程序通过NFS客户端向NFS服务器存取文件时,其请求数据流程大致如下:

1. 首先用户访问网站程序,由程序在NFS客户端上发出存取NFS文件的请求,这时NFS客户端(即执行程序的服务器)的RPC服务(rpcbind服务)就会通过网络向NFS服务器端的RPC服务(rpcbind服务)的111端口发出NFS文件存取功能的询问请求。

2. NFS服务器端的RPC服务(rpcbind服务)找到对应的已注册的NFS端口后,通知NFS客户端的RPC服务(rpcbind服务)。

3. 此时NFS客户端获取到正确的端口,并与NFS daemon联机存取数据。

4. NFS客户端把数据存取成功后,返回给前端访问程序,告知用户存取结果,作为网站用户,就完成了一次存取操作。

更多的NFS相关信息可以参考:

http://www.citi.umich.edu/projects/nfsv4/linux/

http://www.vanemery.com/Linux/NFSv4/NFSv4-no-rpcsec.html

http://www.ibm.com/developerworks/cn/linux/l-network-filesystems/

http://www.tldp.org/HOWTO/NFS-HOWTO/index.html

第3章 NFS网络共享文件系统服务部署流程

3.1 NFS服务端部署流程

3.1.1 第一个里程:检查nfs服务相关软件是否安装

rpm -qa|grep -E "nfs-utils|rpcbind"

yum install -y nfs-utils rpcbind


[[email protected] ~]# rpm -qa|grep -E "nfs-utils|rpcbind"

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

[[email protected] ~]# rpm -qa|grep -E "nfs-utils|rpcbind"

nfs-utils-lib-1.1.5-13.el6.x86_64

rpcbind-0.2.0-13.el6_9.1.x86_64

nfs-utils-1.2.3-75.el6_9.x86_64

3.1.2 第二个里程:编写nfs服务配置文件

NFS服务的默认配置文件/etc/exports是安装完软件就有的,并且默认是空的,需要用户自行配置。

vim /etc/exports

1. 定义共享目录      --------->    /data

2. 定于允许使用共享目录的主机或网段地址信息

3. 定义共享目录权限信息(注意:“24和(”之间没有空格)

/data  172.16.1.0/24(rw,sync,all_squash)


[[email protected] ~]# vim /etc/exports

# 01.定义共享目录    02.定于允许使用共享目录的主机或网段地址信息(03.定义共享目录权限信息)

/data  172.16.1.0/24(rw,sync,all_squash)

3.1.3 第三个里程:创建共享目录

mkdir /data

chown -R nfsnobody.nfsnobody /data/


[[email protected] ~]# mkdir /data

[[email protected] ~]# chown -R nfsnobody.nfsnobody /data/

[[email protected] ~]# ll /data/ -d

drwxr-xr-x 2 nfsnobody nfsnobody 4096 Jan 24 12:11 /data/

 nfsnobody是默认用户

3.1.4 第四个里程:启动nfs相关服务

/etc/init.d/rpcbind start

/etc/init.d/nfs start


[[email protected] wuhuang]# /etc/init.d/rpcbind start

Starting rpcbind:                                          [  OK  ]

[[email protected] wuhuang]# /etc/init.d/nfs start

Starting NFS services:                                       [  OK  ]

Starting NFS quotas:                                        [  OK  ]

Starting NFS mountd:                                      [  OK  ]

Starting NFS daemon:                                      [  OK  ]

Starting RPC idmapd:                                       [  OK  ]

注意:要先启动rpcbind ,后启动 nfs

3.1.5 第五个里程:本地检查测试

rpcinfo -p 172.16.1.31      ---检查rpc服务中是否有注册的进程服务和对应端口号信息

showmount -e 172.16.1.31  ---检查是否有可以共享的目录


[[email protected] wuhuang]# rpcinfo -p 172.16.1.31

program vers proto   port  service

100000    4   tcp    111  portmapper

100000    3   tcp    111  portmapper

100000    2   tcp    111  portmapper

100000    4   udp    111  portmapper

100000    3   udp    111  portmapper

100000    2   udp    111  portmapper

100011    1   udp    875  rquotad

100011    2   udp    875  rquotad

100011    1   tcp    875  rquotad

100011    2   tcp    875  rquotad

100005    1   udp  62058  mountd

100005    1   tcp  53154  mountd

100005    2   udp  22521  mountd

100005    2   tcp  30878  mountd

100005    3   udp  56674  mountd

100005    3   tcp  12281  mountd

100003    2   tcp   2049  nfs

100003    3   tcp   2049  nfs

100003    4   tcp   2049  nfs

100227    2   tcp   2049  nfs_acl

100227    3   tcp   2049  nfs_acl

100003    2   udp   2049  nfs

100003    3   udp   2049  nfs

100003    4   udp   2049  nfs

100227    2   udp   2049  nfs_acl

100227    3   udp   2049  nfs_acl

100021    1   udp   9976  nlockmgr

100021    3   udp   9976  nlockmgr

100021    4   udp   9976  nlockmgr

100021    1   tcp  24261  nlockmgr

100021    3   tcp  24261  nlockmgr

100021    4   tcp  24261  nlockmgr

[[email protected] wuhuang]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

3.2 NFS客户端部署流程

3.2.1 第一个里程碑:确认是否安装nfs服务相关软件

rpm -qa|grep -E "nfs-utils|rpcbind"

yum install nfs-utils rpcbind -y


[[email protected] ~]# rpm -qa|grep -E "nfs-utils|rpcbind"

nfs-utils-lib-1.1.5-13.el6.x86_64

rpcbind-0.2.0-13.el6_9.1.x86_64

nfs-utils-1.2.3-75.el6_9.x86_64

3.2.2 第二个里程碑:检查局域网中是否存在共享存储服务(目录)

   rpcinfo -p 172.16.1.31       ---rpcinfo命令需要安装rpcbind软件才能拥有

   showmount -e 172.16.1.31


[[email protected] ~]# rpm -qf `which rpcinfo`

rpcbind-0.2.0-13.el6_9.1.x86_64

[[email protected] ~]# rpm -qf `which showmount`

nfs-utils-1.2.3-75.el6_9.x86_64

[[email protected] ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

3.2.3 第三个里程碑:实现共享目录应用(网络挂载应用)

当客户端没有安装nfs相关软件

挂载失败:没有安装nfs相关软件


[[email protected] ~]# mount -t nfs 172.16.1.31:/data/ /mnt/

mount: wrong fs type, bad option, bad superblock on 172.16.1.31:/data/,

missing codepage or helper program, or other error

(for several filesystems (e.g. nfs, cifs) you might

need a /sbin/mount.<type> helper program)

In some cases useful info is found in syslog - try

dmesg | tail  or so

当客户端安装nfs相关软件

挂载成功:安装好nfs先关软件


[[email protected] ~]# mount -t nfs 172.16.1.31:/data/ /mnt/

[[email protected] ~]#  df -h

Filesystem          Size  Used Avail Use% Mounted on

/dev/sda3            20G  1.5G   17G   9% /

tmpfs               238M     0  238M   0% /dev/shm

/dev/sda1           190M   40M  141M  22% /boot

172.16.1.31:/data/   20G  1.5G   17G   9% /mnt

 第4章 NFS服务常见进程详解


[[email protected] ~]# ps -ef |egrep "rpc|nfs"

rpc        1833      1  0 10:41 ?        00:00:00 rpcbind

root       1869      2  0 10:41 ?        00:00:00 [rpciod/0]

root       1878      1  0 10:41 ?        00:00:00 rpc.rquotad   < -磁盘配额进程(remote quote                                                                                                                                                       server)

root       1883      1  0 10:41 ?        00:00:00 rpc.mountd      < - 权限管理验证等(NFS                                                                                                                                         mount daemon)

root       1890      2  0 10:41 ?        00:00:00 [nfsd4]

root       1891      2  0 10:41 ?        00:00:00 [nfsd4_callbacks]

root       1892      2  0 10:41 ?        00:00:00 [nfsd]             < -  NFS主进程

root       1893      2  0 10:41 ?        00:00:00 [nfsd]             < -  NFS主进程,管理登录,

ID身份判别

root       1894      2  0 10:41 ?        00:00:00 [nfsd]

root       1895      2  0 10:41 ?        00:00:00 [nfsd]

root       1896      2  0 10:41 ?        00:00:00 [nfsd]

root       1897      2  0 10:41 ?        00:00:00 [nfsd]

root       1898      2  0 10:41 ?        00:00:00 [nfsd]              < -  NFS主进程

root       1899      2  0 10:41 ?        00:00:00 [nfsd]

root       1930      1  0 10:41 ?        00:00:00 rpc.idmapd         < - name mapping                                                                                              daemon 用户压缩/用户映射(记录)

root       2509   1231  0 17:42 pts/0    00:00:00 egrep rpc|nfs


服务或进程名


用途说明


nfsd(rpc.nfsd)


rpc.nfsd的主要功能是管理NFS客户端是否能够登入NFS服务器端主机,其中还包括登入者的ID判别等


mountd (rpc  mountd)


rpc.monutd的主要功能则是管理NFS文件系统,当NFS客户端顺利通过rpc.nfsd登入NFS服务器端主机时,在使用NFS服务器提供数据之前,它会读NFS的配置文件/etc/esports来对比NFS客户端的权限,通过这一关之后,还要经过NFS服务器端本地文件系统使用权限(就是owner、group、other权限)等认证程序。如果都通过了,NFS客户端就可以取得使用NFS服务器端文件的权限。

注意:这个/etc/exports文件也是我们用来管理NFS共享目录的使用权限与安全设置的地方,特别强调,NFS本身设置的是网络共享权限,整个共享目录的权限还和目录自身的系统权限有关


rpc.lockd (非必要)


用来锁定文件,用于多客户端同时写入


rpc.statd(非必要)


检查文件的一致性,与rpc.lockd有关。c 、d 两个服务需要客户端,服务器端同时开启才可以;rpc.statd监听来自其他主机重启的通知,并且管理当本地系统重启时主机列表


rpc.idmapd


名字映射后台进程

 重点掌握:

  rpc.statd主要作用:检查数据存储的一致性

  rpc.rquotad主要作用:控制磁盘配额

  rpc.mountd主要作用:核对/etc/exports配置文件中的权限,和NFS服务器端本地文件系统权限

  rpc.idpamd主要作用:实现用户压缩/映射(经用户压缩后,身份转换为nfsnobody)

第5章 NFS服务配置文件格式信息说明

   /etc/exports文件配置格式为:

  NFS共享目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...)

    或

  NFS 共享目录 NFS客户端地址(参数1,参数2,...)

查看exports语法文件格式帮助的方法为:

执行man exports 命令,然后切换到文件结尾,可以快速查看如下样例格式:


EXAMPLE

# sample /etc/exports file

/               master(rw) trusty(rw,no_root_squash)

/projects       proj*.local.domain(rw)

/usr            *.local.domain(ro) @trusted(rw)

/home/joe       pc001(rw,all_squash,anonuid=150,anongid=100)

/pub            *(ro,insecure,all_squash)

/srv/www        -sync,rw server @trusted @external(ro)

/foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)

/build          buildhost[0-9].local.domain(rw)

5.1 NFS共享目录:

为NFS服务器端要共享的实际目录,要用绝对路径,如(/data)。注意共享目录的本地权限,如果需要读写共享,一定要让本地目录可以被NFS客户端的用户(nfsnobody)读写。

5.2 NFS客户端地址

为NFS服务器端授权的可访问共享目录的NFS客户端地址,可以为单独的IP地址或主机名、域名等,也可以为整个网段地址。还可以用“*”来匹配所有客户端服务器,这里所谓的客户端一般来说是前端的业务的业务服务器,例如:web服务。

5.3 权限参数集

对授权的NFS客户端的访问权限设置。

nfs权限(共享目录) nfs配置的/etc/exports /data 172.16.1.0/24(rw)

本地文件系统权限, 挂载目录的权限rwxr-xr-x root root /data

5.3.1 重要配置文件参数说明——权限相关       


参数名称


参数用途


rw         < -重点掌握


read-write,表示可读可写模式---设置共享目录读写模式


ro


read-only,表示只读权限---设置共享目录只读模式


sync       < -重点掌握


请求或写入数据时,数据同步写入到NFS Server的硬盘后才返回。

优点:数据安全不会丢;缺点:性能比不启动该参数要差

---采用同步方式存储数据,存储数据到硬盘中


async      < -重点掌握


写入时数据会先写到内存缓冲区,直到硬盘有空挡才会写人磁盘,这样可以提升写入效率!风险为若服务器宕机或不正常关机,会损失缓冲区中未写入磁盘的数据(解决办法:服务器主板电池或加UPS,AB(双路电源)不间断电源)!

停电---ups---发电机

---采用异步方式存储数据,存储数据到内存中


no_root_squash


保持root用户不进行压缩

访问NFS Server共享目录的用户如果是root的话,它对该共享目录具有root权限,这个配置原本是为无盘客户端准备的,用户应避免使用。


root_squash


如果访问NFS Server共享目录的用户是root,则它的权限将被压缩成匿名用户,同时,它的UID和GID通常会变为nfsnobody账号身份


all_squash   < -重点掌握


不管访问NFS Server共享目录的用户身份如何,它的权限都将被压缩成匿名用户,同时它的UID和GID都会变成nfsnobody账号身份。在早期多个NFS客户端同时读写NFS Server数据时,这个参数很有用

在生产中配置NFS的重要技巧

1. 确保所有客户端服务器对NFS共享目录具备相同的用户访问权限。

a. all_squash把所有客户端都压缩成固定的匿名用户(UID相同)

b. 就是anonuid,anongid指定的UID和GID的用户

2. 所有的客户端和服务器端都需要有一个相同的UID和GID的用户,即nfsnobody(UID必须相同)

总结:

1. rw参数:可读写

2. ro参数:只读

   /data 172.16.1.0(ro,sync,all_squash) :ro权限给开发人员用于读取配置文件,而不能修改

3. sync参数的作用:同步,保证数据的可靠性

4. async参数:ups  AB双路电源

5.3.2 用户压缩映射相关参数

1. no_all_squash参数:所有用户都不映射(什么身份过来就是什么身份)

2.  all_squash参数:所有用户都映射(成指定nfsnobody)

3. root_squash参数:root用户映射(成指定nfsnobody)

4. no _root_squash参数:不对root用户映射(进来NFS服务器后是root身份,权限 很大)

 

注意:

  /etc/init.d/nfs reload  ---平滑重启(只是重新加载了配置文件,已有的连接不会断开)

  /etc/init.d/nfs restart  ---重启(重新将服务关闭再开启,已有的连接会断开)

5.4 企业生产环境常见NFS案例

5.5 企业实战需求

1.  /data/共享目录权限固定为www用户管理

2. 在nfs配置文件中,设置all_squash全部用户都映射参数

3. 让nfs客户端可以向共享目录存储数据

5.5.1 第一个里程:设置/data/权限信息

chown -R www.www /data/


[[email protected] ~]# chown -R www.www /data/

[[email protected] ~]# ll -d /data/

drwxr-xr-x 2 www www 4096 Jan 25 21:04 /data/

5.5.2 第二个里程:编写nfs配置文件

1. 查看www用户的UID,GID信息

id  www


[[email protected] ~]# useradd -s /sbin/nologin -M www -u 502

[[email protected] ~]# id www

uid=502(www) gid=502(www) groups=502(www)

2. 编辑配置文件:vim /etc/exports

  /data  172.16.1.0/24(rw,sync,all_squash,anonuid=502,anongid=502)

3. 平滑重启:


/etc/init.d/nfs reload

anonuid和anongid参数作用说明:

 将客户端所有用户,映射为指定用户,而不再是默认nfsnobody用户了

 ps:两点注意

 01. 客户端要有nfs配置文件anonuid或者anongid指定用户,此处是www

 02. 客户端和服务端创建默认映射用户,uid和gid信息需要保持一致,即客户端的www用户的UID和

     GID也要是502

5.5.3 第三个里程:重新挂载共享目录

(1) 先卸载   umount /mnt

(2) 再挂载   mount -t nfs 172.16.1.31:/data /mnt


[[email protected] ~]# mount -t nfs 172.16.1.31:/data /mnt

[[email protected] ~]# df -h

Filesystem         Size  Used Avail Use% Mounted on

/dev/sda3           20G  1.5G   17G   9% /

tmpfs              238M     0  238M   0% /dev/shm

/dev/sda1          190M   40M  141M  22% /boot

172.16.1.31:/data   20G  1.5G   17G   9% /mnt

5.5.4 第四个里程:进行数据存储测试

创建测试文件查看属主信息是否为www


[[email protected] mnt]# touch /mnt/wuhuang.txt

[[email protected] mnt]# ll /mnt/wuhuang.txt

-rw-r--r-- 1 www www 0 Jan 25 21:04 /mnt/wuhuang.txt

服务端

[[email protected] ~]# ll /data/wuhuang.txt

-rw-r--r-- 1 www www 0 Jan 25 21:04 /data/wuhuang.txt

原文地址:http://blog.51cto.com/12805107/2065220

时间: 2024-10-09 21:42:58

NFS存储服务(上)的相关文章

NFS存储服务部署(上)

作者:George 归档:学习笔记 2018/1/24 NFS存储服务部署(上) 1.1 NFS服务介绍 1.1.1 什么是NFS? 1. NFS--Network File Systemt网络文件系统,叫称为网络共享文件系统 2. 作用:通过网络(一般为局域网)让不同主机系统之间可以共享文件 3. NFS服务和winodws系统的网络共享很相似,但NFS无法部署在windows上 4. windows与linux网络共享使用FTP.samba,它们都支持windows与linux之间共享 5.

部署NFS存储服务(下)

作者:Georgekai 归档:学习笔记 2018/1/25 部署NFS存储服务(下) 2.1 服务端有关的配置 2.1.1 练习题:共享不同的俩个目录,分别赋予读和写权限 服务端部署过程: 第一个里程:编写nfs配置文件 vim /etc/exports /data/w  172.16.1.0/24(rw,sync,all_squash) /data/r  172.16.1.0/24(ro,sync,all_squash) 注:服务端配置文件中,尽量避免继承权限的发生(因权限大的会生效) 第二

NFS存储服务(下)

第1章 回顾及练习 1.1  回顾总结 1.1.1 NFS存储服务是什么? 网络文件系统,实现数据共享统一一致 1.1.2 NFS工作原理 1. 什么是rpc服务 rpc服务类似于中介,nfs服务将启动的进程和端口信息,向rpc服务进行注册 nfs客户端向rpc服务发出请求,进行共享目录挂载,从而实现通过网络存储数据信息 2. 服务端做了三件事: ①. 首先启动rpc服务 ②. 其次启动nfs服务 ③. nfs服务向rpc服务进行注册,只注册一次(如果nfs服务进行了重启,会再次注册) 3. 客

NFS存储服务及部署

1 NFS简介 1.1 什么是NFS NFS=Network File System=网络文件系统.主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下).从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录.分布式文件系统:Moosefs(mfs).Glu

NFS存储服务深度实践

第1章 NFS介绍 1.1 什么是NFS? NFS 是Network File System的缩写,中文意思是网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下).从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录. NFS网络文件系统

Linux(10):期中架构(2)--- NFS存储服务

1. 共享存储服务概念: # NFS是Network File System的缩写,中文意思是网络文件系统, # 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录. 2. NFS共享存储服务的应用: # 将数据存储到一台服务器上,实现数据统一一致,共享访问 # NFS存储服务器中主要存储哪些信息:用户上传的图片 音频 视频 附件等信息 # NFS服务是分为服务端和客户端 # 存储服务器:NFS服务端 网站web服务器:NFS客户端 # 实现共享存储好处: 01. 实现

LAMP集群项目五 部署NFS存储服务并设置WEB服务挂载

yum install nfs-utils portmap -y 在centos6.5中portmap已经改为rpcbind 先启动rpcbind /etc/init.d/rpcbind start /etc/init.d/nfs start mkdir /backup   创建一个共享目录\ 确保nfsnobody都是同一个uid : 65534 ,否则不是一个权限 grep  nfsnobody  /etc/passwd vim  /etc/exports /backup 192.168.1

NFS存储服务

一.NFS 原理图 二.NFS 原理描述 2.1:什么是NFS NFS中文名字:网络共享存储,就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录的数据(NFS一般都是用来存放视频.附件.图片等静态数据的). NFS是通过网络来进行服务端和客户端数据传输的,那么只要是通过网络的就一定会有端口,那NFS的端口是什么呢?很失望的是NFS的端口是随机的,每次重启服务端口都会改变. 那么客户端是怎样知道服务端的端口的呢?其实NFS服务器是通过远程过程调用(RPC)协议/服务来实现的,也就是说R

nfs存储服务实时同步

1.NFS简介 NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过网络共享资源.将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样. RPC,基于C/S模型.程序可以使用这个协议请求网络中另一台计算机上某程序的服务而不需知道网络细节,甚至可以请求对方的系统调用. 对于Linux而言,文件系统是在内核空间实现的,即文件系统比如ext3.ext4等是在Kern