网站建设服务器
NFS概况
NFS是网络文件系统的缩写,即网络文件系统。由Sun公司开发的分布式文件系统协议于1984年发布。功能是使不同的机器和不同的操作系统通过网络相互共享个体数据,并允许应用程序通过网络访问位于服务器磁盘中的数据,是一种实现类Unix系统之间磁盘文件共享的方法。
协议:
Rpc(远程过程调用协议)——远程过程调用协议
软件:
Nfs-utils-*:包括基本的Nfs命令和监控程序。
Rpcbind-*:支持安全NFS RPC服务的连接。
注意:通常,它是作为系统的默认包安装的。
CentOS6。*在rpcbind被称为portmap之前。
NFS系统守护进程
Nfsd:它是一个基本的NFS守护进程,主要功能是管理客户端是否可以登录服务器。
Mountd:它是一个RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端通过nfsd成功登录NFS服务器后,在使用NFS服务提供的文件之前,还必须通过文件使用权的验证。它将读取NFS配置文件/etc/exports来比较客户端权限。
Rpcbind:主要功能是端口映射。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,rpcbind会向客户端提供该服务对应的托管端口,这样客户端就可以通过该端口向服务器请求服务。
NFS服务器的配置
NFS服务器的配置比较简单,只需在相应的配置文件中进行设置,然后启动NFS服务器即可。
NFS常用目录
/etc/exportsNFS服务的主配置文件
/usr/sbin/exportfsNFS服务的管理命令。
/usr/sbin/showmount客户端的查看命令
/var/lib/nfs/etab记录了nfs共享的目录的完整权限设置。
/var/lib/nfs/xtab记录已经登录的客户机信息。
NFS服务的配置文件是/etc/exports,这是NFS的主要配置文件,但是系统中没有默认值,所以这个文件不一定存在。您可能需要用vim手动创建它,然后在文件中写入配置内容。
/etc/exports文件内容格式:
输出目录[客户端1选项(访问权限、用户映射、其他)][客户端2选项(访问权限、用户映射、其他)]
A.输出目录:输出目录是指NFS系统中需要与客户端共享的目录。
B.客户端:客户端是指网络中可以访问这个NFS输出目录的计算机。
客户的常用指定方法:
具有指定ip地址的主机:192.168.0.200。
指定子网中的所有主机:192 . 168 . 0 . 0/24 192 . 168 . 0 . 0/255 . 255 . 0。
指定域名的主机:david.bsmart.cn。
指定域中的所有主机:*。bsmart.cn。
所有主机:*
C.选项:选项用于设置输出目录的访问权限和用户映射。
NFS有三个主要选择:
访问选项:
将输出目录设置为只读:ro
将输出目录设置为读写:rw
用户映射选项:
All_squash:所有远程访问的普通用户及其组都被映射为匿名用户或用户组(NFS nobody);
no _ all _ squash:all _ squash的逆(默认设置);
root _ squash:root用户及其所属的组都映射为匿名用户或用户组(默认设置);
no _ root _ squash:root squash的反义词;
Anonuid=xxx:所有远程访问的用户都被映射为匿名用户,该用户被指定为本地用户(uid=XXX);
Anongid=xxx:所有远程访问用户组都映射到匿名用户组帐户,匿名用户组帐户被指定为本地用户组帐户(GID=XXX);
其他选项
安全:限制客户端只能从小于1024(默认设置)的tcp/ip端口连接到nfs服务器;
不安全:允许客户端从大于1024的tcp/ip端口连接到服务器;
Sync:将数据同步写入内存缓冲区和磁盘效率较低,但可以保证数据的一致性;
Async:先将数据保存在内存缓冲区,必要时再写入磁盘;
Wdelay:检查是否有相关的写操作,如果有,就一起执行这些写操作,这样可以提高效率(默认设置);
No_wdelay:如果有写操作,会立即执行,要和sync配合使用;
子树:如果输出目录是子目录,nfs服务器会检查其父目录的权限(默认设置);
No_subtree:即使输出目录是子目录,nfs服务器也不检查其父目录的权限,可以提高效率;
启动和停止NFS服务器
1.启动NFS服务器。
为了让nfs服务器正常工作,需要启动rpcbind和nfs两个服务,并且rpcbind必须在NFS之前启动。
#服务rpcbind启动
#服务nfs启动
2.查询NFS服务器的状态
#服务rpcbind状态
#服务nfs状态
3.停止NFS服务器。
要停止nfs运行,您需要首先停止NFS服务,然后停止rpcbind服务。当系统中有其他服务(如NIS)需要使用时,不需要停止rpcbind服务。
#服务nfs停止
#服务rpcbind停止
4.设置NFS服务器的自动启动状态。
将rpcbind和nfs服务设置为在系统运行级别2345自动启动。
# chkconfig级别2345 rpcbind on
# chkconfig打开2345级nfs
例子
1.NFS服务器的share/home/张三到192.168.115.0/24网段,有rw权限。
# vim/etc/出口
/home/张三
不同的网段需要一个网关(ping)来安装。
2.重新启动端口映射和nfs服务。
#服务rpcbindrestart
#服务nfs重新启动
# exportfs-rv(刷新配置文件)
3.服务器端检查nfs共享状态。
# showmounte本地ip
查看您共享的服务。
4.客户端检查nfs共享状态。
Showmount -e NFS服务器IP
5.客户端装载nfs服务器共享目录。
命令格式:mount NFS服务器IP:共享目录本地装载点目录。
# mount 192 . 168 . 115 . 10:/home/张三//media/张三/
# mount |grep nfs
验证客户端和nfs服务器文件是否一致:
[root @ NFS ~]# CD/media/张三/
-bash:CD:/media/张三/:权限不足。
[root@NFS ~]#
修改服务器上相应的权限,否则客户端将无法正常访问和使用。
6 nfs共享权限和访问控制
A.客户端根用户
使用客户端的root身份在nfs服务器上创建文件,文件的所有者和组是nfsnobody。
B.客户端的一般用户
以客户端普通用户的身份在nfs服务器上创建一个文件,所有者和组都是nobody或者普通用户。
C.原因:/var/lib/nfs/etab
1.客户端连接时检查根目录。
如果设置了no_root_squash,那么root用户的身份被压缩到NFS服务器之上的root;
如果设置了all_squash、anonymous和anonuid,则root身份将被压缩到指定的用户;
如果没有明确指定,root用户压缩到nfsnobody此时;
如果同时指定了no_root_squash和all_squash用户,则压缩到nfsnobody,如果设置了anonuid和anongid,则压缩到指定的用户和组;
2.当客户端连接时,检查普通用户。
如果明确设置了普通用户的压缩身份,那么此时客户端用户的身份转换为指定用户;
如果NFS服务器上有同名用户,那么客户端登录账号的身份将更改为NFS服务器上的同名用户;
如果没有同名用户,那么用户身份被压缩为nobody;
7.卸载和自动安装
1.卸载客户端的挂载目录。
卸载装载点
2.停止在服务器端共享
exportfsau
自动挂载:/etc/fstab
格式:服务器:/远程/导出/本地/目录选项0 0
# 192 . 168 . 115 . 10:/home/张三/media/张三nfs默认值0 0
#mount -a
相关命令
a .出口
如果我们在启动nfs后修改/etc/exports,我们必须重新启动NFS吗?此时,我们可以使用exportfs命令使更改立即生效。该命令的格式如下:
格式:exportfs [-aruv]
-a挂载或卸载/etc/exports中的所有内容。
-r重新读取/etc/exports中的信息,并同步更新/etc/exports、/var/lib/nfs/xtab。
-u卸载单个目录(与-a一起使用,卸载所有/etc/exports文件中的目录)
-v导出时,将详细信息输出到屏幕。
具体例子:
# exportfs -au卸载所有共享目录。
# exportfs -rv重新共享所有目录并输出详细信息。
B.rpcinfo可以用rpcinfo -p看看RPC打开的端口提供了哪些程序。
其中nfs是2049,portmapper(rpcbind)是111,其余都是rpc。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。