centos 配置NFS服务器
转载:http://boloveyo.blog.163.com/blog/static/203926187201232383956558/
系统是CentOS5.6,假设NFS Server IP为192.168.1.2,NFS Clinet IP为192.168.0.100。
1.服务端安装NFS:
centos 5 :
yum install nfs-utils portmap
centos 6 :
yum install nfs-utils rpcbind
在Centos6下必须先启动rpcbind,而不是portmap:(这个要紧记啊)
nfs-utils包提供了NFS服务器程序和相应的管理工具。
protmap是一个管理RPC连接的程序,portmap服务对NFS是必须的,因为它是NFS的动态端口分配守护进程,如果portmap不启动,NFS就是启动不了的。
2.配置NFS服务端,编辑/etc/exports文件:
vim /etc/exports
设置共享文件目录:
/home/nfsdir *(rw)
/home/share 192.168.0.100(rw,sync,no_root_squash) *(ro)
其中:
/home/nfsdir *(rw)
表示共享/home/nfsdir目录,所有用户都有读写权限。
/home/share 192.168.0.100(rw,sync,no_root_squash) *(ro)
表示共享/home/share目录,192.168.0.100有读写权限并且root用户有完全管理访问权限,其他机器仅有只读权限。
配置文件的格式为:
[共享的目录] [主机名或IP(参数,参数)]
其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是sync,ro,root_squash,no_delay。
当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 同步写入资料到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
当exports文件修改后,使用以下命令,不需要重启NFS服务,就可以重新挂载/etc/exports里面的设定:
exportfs -arv
3.配置iptables:
因为NFS会为以上三个服务分配临时端口,所以很难在防火墙上控制要开放哪些端口。所以要将几个端口固定住。
vim /etc/services
在文件最后添加:
mountd 1011/tcp #rpc.mountd
mountd 1011/udp #rpc.mountd
在NFS-Server的防火墙里开放相关端口
要开放1011/tcp, 1011/udp, 111/tcp, 111/udp, 2049/tcp, 2049/udp这六个端口。如果是通过图形界面配置,可以手工添加前四个端口,而后面2049这两个端口,可以通过勾选上面的nfs4来开放。
4.先启动portmap服务:
service portmap restart
5.再启动NFS服务:
service nfs restart
如果之前没有先启动portmap服务,那么当启动NFS服务时会停在
Starting NFS daemon:
很长时间。
6.设置nfs、portmap开机自启动:
chkconfig –level 345 nfs on
chkconfig –level 345 portmap on
查看服务运行的相关端口情况
rpcinfo -p 192.168.1.2
程序 版本 协议 端口
100000 2 tcp 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
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 1011 mountd
100005 1 tcp 1011 mountd
100005 2 udp 1011 mountd
100005 2 tcp 1011 mountd
100005 3 udp 1011 mountd
100005 3 tcp 1011 mountd
如果你只需要配置一个简单的nfs服务器的话,那只需要开放3个守护进程端口就行了:
111,portmap启动的端口,用来提供nfs端口
2049,NFS启动的端口,用来管理Client登入主机的权限
1011,刚才配置的mountd端口,这个端口主要用来管理NFS文件系统权限的
7.客户端也需要安装nfs-utils、portmap软件包,并启动portmap服务和netfs服务:
yum install nfs-utils portmap
service portmap restart
service netfs restart
chkconfig –level 345 on
8.NFS服务端启动成功后,客户端可以利用showmount命令测试是否能连上服务端:
命令格式:showmount -e [hostname|IP],showmount命令需要安装了nfs-utils软件包才有。
showmount -e 192.168.1.2
显示如下:
/home/nfsdir *
/home/share (everyone)
9.客户端建立挂载的文件夹:
cd /mnt
mkdir nfs1
mkdir nfs2
10.客户端使用mount命令挂载NFS共享文件:
mount -t nfs 192.168.1.2:/home/nfsdir /mnt/nfs1
mount -t nfs 192.168.1.2:/home/share /mnt/nfs2
命令格式:mount – t nfs nfs服务器地址:目录共享 本地挂载目录点
11.客户端可使用df命令,mount命令查看挂载情况:
mount
192.168.1.2:/home/share on /mnt/nfs2 type nfs (rw,addr=192.168.1.2)
192.168.1.2:/home/nfsdir on /mnt/nfs1 type nfs (rw,addr=192.168.1.2)
或者
df -h
12.客户端卸载NFS文件命令:
umount /mnt/nfs1
umount /mnt/nfs2
13.客户端可以设置系统启动时自动挂载NFS文件:
需要将NFS的共享目录挂载信息写入/etc/fstab/文件,以实现对NFS共享目录的自动挂载。
编辑/etc/fstab文件:
vim /etc/fstab
在最后加入如
192.168.1.2:/home/nfsdir /mnt/nfsdir nfs defaults 0 0
在/etc/fstab里加上需要自动挂载的NFS
首先测试,使用mount -a,NFS能成功挂载上来,说明fstab文件语法没有问题,NFS服务也没有问题。
于是重启系统,期望它能自动挂载。奇怪的是,系统启动完后,NFS没有挂载上来,系统日志有下面的信息:
mount: mount: mount to NFS server ’192.168.1.2’ failed:
mount: System Error: No route to host.
但是,一旦系统启动完成,尝试mount -a命令时,一切OK。由此看来应该是网络的问题。也许是网络起来后,但是路由还没有完全准备好,或者网络还在初始化状态,那么我们需要再自动挂载NFS 的自动化脚本上来一个短暂的休眠而保证网络能够初始化完成。
修改/etc/init.d/netfs在(注意使用vim修改,不要使用图形化)
[ ! -f /var/lock/subsys/portmap ] && service portmap start
action $”Mounting NFS filesystems: ” mount -a -t nfs,nfs4
之间加上下面一行
action $”Sleeping for 30 secs: ” sleep 30
保存后,再测试,OK,你可以需要根据实际的环境来测试,不过30秒基本上能满足需求了。
如果你能在系统日志中看到类似下面的信息,那表示一切正常
kernel: bnx2: eth0 NIC Link is Up, 1000 Mbps full duplex
netfs: Sleeping for 30 secs: succeeded
netfs: Mounting NFS filesystems: succeeded
14.查看当前主机RPC状态:
rpcinfo -p localhost
centos 配置NFS服务器的更多相关文章
- centos配置nfs服务详细步骤(centos开启nfs服务)
一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...
- 配置NFS服务器
一.配置NFS服务器 1.安装软件包 [root@wjb10000 ~]# yum -y install nfs-utils.x86_64 2.修改配置文件[root@wjb10000 ~]# vim ...
- CentOS 6.5安装配置NFS服务器
OS:centos 6.5 服务端:10.1.11.201 客户端:10.1.11.202 10.1.11.203 10.1.11.204 1.服务端的配置 安装必须的yum包: yum -y ins ...
- centOS下NFS服务器的安装配置详解
一.NFS简介 NFS就是Network FileSystem的缩写,最早之前是由Sun公司所发展出来的.他最大的功能就是可以透过网络,让不同的机器.不同的操作系统可以彼此分享个别档案(share f ...
- linux 安装配置NFS服务器
一.Ubuntu安装配置NFS 1.安装NFS服务器 sudo apt-get install nfs-kernel-server 安装nfs-kernel-server时,apt会自动安装nfs-c ...
- Ubuntu 14.04安装配置NFS服务器
(一)安装NFS服务器1.1-安装Ubuntu nfs服务器端: sudo apt-get install nfs-kernel-server 1.2-安装nfs的客户端: sudo apt-get ...
- linux下配置NFS服务器
(声明:本文大部分文字摘自Linux NFS服务器的安装与配置) 一.NFS简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Su ...
- Manjaro Linux 配置nfs服务器
NFS客户端和NFS服务端通讯过程 1.首先服务器端启动RPC服务,并开启111端口 2.服务器端启动NFS服务,并向RPC注册端口信息 3.客户端启动RPC(portmap服务),向服务端的RPC请 ...
- Ubuntu配置NFS服务器
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可 ...
随机推荐
- STL底层数据结构实现
C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层 ...
- 为什么你写的Python运行的那么慢呢?
大约在一年前,也就是2013年在Waza(地名),Alex Gaynor提到了一个很好的话题:为什么用Python.Ruby和Javascript写的程序总是运行的很慢呢?正如他强调的,关键就是现在出 ...
- Python 变量 对象 引用
1.变量 变量第一次赋值时被创建,变量在使用前必须赋值 变量本身没有类型,变量类型为它引用的对象类型: 变量在使用时被替换成它引用的对象 2.对象 对象本身具有计数和类型,变量引用对象,当对象的引用变 ...
- DWZ使用笔记
DWZ使用笔记 一.前言 在最近的一个项目中,引入了DWZ这个富客户端框架,算是一次尝试吧.期间也遇到不少问题,总算一一解决了.特以此文记之. 本人用的是dwz-ria-1.4.5+A ...
- CDH5.5.1版HBase安装使用LZO压缩
1.安装 RHEL/CentOS/Oracle 5 Navigate to this link and save the file in the /etc/yum.repos.d/ dire ...
- android 拍照或者图库选择 压缩后 图片 上传
通过拍照或者从相册里选择图片通过压缩并上传时很多应用的常用功能,记录一下实现过程 一:创建个临时文件夹用于保存压缩后需要上传的图片 /** * path:存放图片目录路径 */ private Str ...
- .NET Reactor 命令行使用
安装.NET Reactor工具软件.例如你的安装目录为:D:\Program Files\Eziriz\.NET Reactor 按如下步骤设置系统环境变量path. 将path变量的值中加入.NE ...
- Cognos 增加全局类
Cognos使用版本10.1.1 由于我服务器装的是linux系统下的,所以window系统下的方法,提一下,但是没有实现过. 1.Linux系统下增加全局类 ●修改GlobalReportStyle ...
- Spring入门(5)-自动装配Bean属性
Spring入门(5)-自动装配Bean属性 本文介绍如何装配Bean属性. 0. 目录 ByName ByType constructor 默认自动装配 混合使用自动装配和显示装配 1. ByNam ...
- Educational Codeforces Round 3 E. Minimum spanning tree for each edge (最小生成树+树链剖分)
题目链接:http://codeforces.com/contest/609/problem/E 给你n个点,m条边. 问枚举每条边,问你加这条边的前提下组成生成树的权值最小的树的权值和是多少. 先求 ...