redhat enterprixe 5.0 NFS服务配置与管理
一、了解NFS
Samba 是主要用于实现Linux和Windows操作系统之间文件共享的协议,而NFS则是实现UNIX和Linux操作系统之间文件共享的协议。
NFS可以把网络上远程的文件挂载到本机机器上。
二、安装
需要安装 portmap和nfs-utils这两个包,用rpm安装或者直接用yum安装都可以。好像一般都默认安好了...贴心~
rpm -ivh portmap-4.0-65.2.2.1.i386.rpm
rpm -ivh nfs-utils-1.0.9-50.el5.i386.rpm
三、配置
只有一个配置文件是/etc/exports,如果不存在需要自己创建。
/etc/exports文件内容格式:
<输出目录> [客户端1域名/IP(选项(访问权限,用户映射,其他))] [客户端2域名/IP 选项(访问权限,用户映射,其他)]
(共享目录和客户端之间、客户端与客户端之间都需要使用空格分隔,但是客户端和选项的小括号挨着,选项之间以逗号分隔)
如果客户端写的域名要保证DNS服务器可以解析到正确的IP,如果是IP,要保证服务器和客户端之间能够ping通,gg,这个必须有啊...
NFS主要的选项有3类:
A 访问权限选项
设置输出目录只读:ro
设置输出目录读写:rw
B 用户映射选项
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash相反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash相反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
C 其它选项
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
例如,我们在namenode1机器上配置做如下配置
/home/dfs/nfs_share_edits/ namenode2(rw)
这个配置是把namenode1上的/home/dfs/nfs_share_edits目录设置成共享,可以给namenode2来访问,访问权限是可读写。
四、启动
sudo service portmap start
sudo service nfs start
查询状态
service portmap status
service nfs status
停止服务
service nfs stop
service portmap stop
五、 客户端测试
1、服务器端 showmount -e 查看服务器的共享目录
客户端 showmount -e NFS服务器IP 查看指定IP的服务器共享的目录
2、在本地计算机种创建挂载点目录
如:mkdir -p /xiaotao/share
3、挂载服务器上的共享目录
mount -t nfs NFS服务器IP/域名:共享文件目录 本地挂载目录
例如,在namenode2机器上运行mount命令挂载namenode1的NFS共享目录
mkdir /home/dfs/nfs_share_edits
sudo mount namenode1:/home/dfs/nfs_share_edits /home/dfs/nfs_share_edits
这是把namenode2把namenode1的NFS共享目录挂载到本地,这样就可以访问远程的共享目录了,挂载前需要先创建本地的挂载目录。
挂载之后,可以用mount命令查看挂载状态
sudo mount | grep -i nfs
卸载命令
umount 本地挂载目录
如果卸载的时候提示,device is busy,可能原因是一个进程仍然在使用这个目录。
六、 相关的守护进程
nfsd
它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd
它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
portmap
主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
七、 相关的命令
#查看配置
exportfs
#默认查看共享的服务
showmount -e
#查看已经与客户端连接上的目录信息
showmount -a
八、停止服务
service nfs stop
service portmap stop
如果当前还有客户端正在连接NFS服务器,此时要想将NFS服务器所在的主机关机,应先关掉portmap和nfs这两个服务,否则可能要等待很久才能正常关机。如果无法正确地将potrmap和nfs这两个服务关掉,那么可先用命令netstat -utlp找出它们的PID,然后使用kill命令杀掉,这样才能正常关机。
当然,还可以先用exportfs -auv命令将当前主机中NFS服务器的所有输出目录停止掉,再关机。
很有爱的NFS...没有遇见bug...
redhat enterprixe 5.0 NFS服务配置与管理的更多相关文章
- redhat enterprixe 5.0 DNS 服务配置与管理
一.了解DNS相关概念 DNS是一个分布式数据库,在本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户机/服务器模式在整个网络上存取.通过采用复制技术和缓存技术使得整个数据库稳定可靠的同时, ...
- redhat enterprixe 5.0 web 服务配置与管理
一.Web服务及工作原理 Web服务的实现采用客户/服务器模型.客户机运行Web客户程序(浏览器),作用是解释和显示Web页面,相应用户的输入请求,并且通过http协议将用户请求传递给Web服务器.W ...
- linux的基本操作(NFS服务配置)
服务配置 [什么是NFS] NFS会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不太了解,笔者不妨举一个例子来说明一下NFS是用来做什么的.假如有三台机器A.B.C,它们需要访问同一个目录, ...
- linux nfs服务配置挂载以及oracle使用nfs存储挂载注意事项
服务端共享目录 /home/XXX/nfs_shared 172.16.22.0/24(rw,no_root_squash) service nfs restart 常用命令: 查看所有nfs共享目录 ...
- NFS 服务配置篇
安装.配置NFS服务 1.NFS简介 NFS(network file system) NFS是一个主机A通过网络,允许其他主机B可以来共享主机A的一个目录文件的一个文件系统 2.需要安装两个包nfs ...
- NFS服务配置总结
目录 介绍 原理 适用场景 安装 NFS服务端 NFS客户端 配置 服务端配置 客户端配置 介绍 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器.不 ...
- NFS服务配置
FS服务会经常用于在网络上共享存储. 比如有3台机子A,B,C;他们都需要访问同一个目录,使用NFS, 只需要把图片都放在A上,然后A共享给B和C即可. 访问B和C时,是通过网络的方式访问A上的哪个目 ...
- 【转】NFS服务配置与mount nfs时-o nolock的问题
NFS文件系统挂载步骤 1.创建共享目录 #mkdir /home/hellolinux/nfs 2.创建或修改/etc/exports文件 #vi /etc/exports home/helloli ...
- Linux系统中NFS服务配置
文章目录: 一.NFS服务简介 二.NFS服务端配置 三.NFS客户端配置 四. ...
随机推荐
- mysql优化技巧《转》
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- windos多线程编程
随机数滚动发生器 #include <stdio.h> #include <Windows.h> #include <ctime> #include <pro ...
- poj3855Blast the Enemy!(多边形重心)
链接 #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- C# ?(问号)的三个用处(转载)
public DateTime? StatusDateTime = null; 脑子便也出现个问号,这是什么意思呢?网上搜下,总结如下: 1. 可空类型修饰符(?): 引用类型可以使用空引用表示一个不 ...
- mysql 主主复制的配置流程
1.先关闭B,把A的数据导出来,mysqldump -hlocalhost -uroot -p123456 --database ibprpu >ibprpu.sql2.关闭A,启动B,进入my ...
- 使用bufferevent进行libevent服务端和客户端的开发
参考了网上的一些例子,实验了基于bufferevent的开发. 首先是服务端: #include <netinet/in.h> #include <sys/socket.h> ...
- OpenGL的glScalef缩放变换函数详解
glScalef是openGL中的模型缩放函数,就是把当前矩阵与一个表示延各个轴对物体进行拉伸.压缩.反射的矩阵相乘.这个物体的每个点的x,y,z坐标与对应的xyz参数相乘. 先看函数定义void g ...
- 将cantk runtime嵌入到现有的APP中
1,先取cantk-runtime-demos到本地: git clone https://github.com/drawapp8/cantk-runtime-demos 2,创建一个Android ...
- ios使用webview浏览指定网页
#import "EDRViewController.h" @interface EDRViewController () @property(nonatomic,weak) UI ...
- 关于json的理解
一. 获取数组长度 array.length 获取对象长度 Object.keys(objs).length 二. 如何抉择{}和[] 先说两者区别, {}:父类下面直接是子类名称 []:父类下会追 ...