Linux下搭建NFS服务
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NFS文件服务器搭建:
1、NFS包
检查linux系统中NFS需要5个RPM是否已安装:
Rpm –qa |grep
setup-*: 共享NFS目录在/etc/exports中定义
initscripts-*: 包括引导过程中装载网络目录的基本脚本
nfs-utils-*: 包括基本的NFS命令与监控程序
portmap-*: 支持安全NFS RPC服务的连接
quota-*: 网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)
2、基本监控程序
运行NFS,需要五个Linux服务,这些服务通过/etc/rc.d/init.d目录中的nfs,nfslock和portmap脚本启动。每个监控程序作用:
(1) 基本NFS
rpc.nfsd是NFS服务器监控程序,它通过/etc/rc.d/init.d目录中的nfs脚本启动。NFS监控程序还启动rpc.mountd装载监控程序,并导出共享目录。
(2) RPC装载
可以用mount命令连接本地目录或网络目录,但还需要一个装载NFS目录的特殊监控程序rpc.mountd
(3) 端口映射器
portmap监控程序只是定向RPC通信数据流,但它对于NFS服务很重要。如果不运行portmap,则NFS客户机无法找到从NFS服务器共享的目录。
(4) 重新启动与statd
当NFS服务需要中断或者重新启动时,rpc.statd监控程序和rpc.lockd在服务器重新启动之后使客户机恢复NFS连接。
(5) 锁定
通过共享NFS目录打开文件时,锁定可以使用户不能覆盖同一个文件。锁定通过nfslock脚本并使用rpc.lockd监控程序启动运行。
3、配置NFS
将共享的NFS目录/backup在/etc/exports中列出,这个文件控制对目录的共享。
配置NFS服务器上/backup共享目录,以读写方式共享给需要数据库复制的7个主机上
Vi /etc/exports
输入:
/backup 10.124.96.1(rw,sync)
/backup 10.124.83.79(rw,sync)
/backup 10.124.81.193(rw,sync)
/backup 10.124.81.17(rw,sync)
/backup 10.124.84.13(rw,sync)
/backup portdb1(rw,sync)
NFS共享的常用参数:
ro:只读访问
rw:读写访问
sync:所有数据在请求时写入共享
async:NFS在写入数据前可以相应请求
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_squas:root用户具有根目录的完全管理访问权限
anonuid=xxx:
指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的GID
4、启动NFS
# service portmap start
# service nfs start
检查NFS的运行级别:
# chkconfig --list portmap
# chkconfig --list nfs
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
调整linux的iptables
NFS默认端口为111,调整iptable防火墙启动111端口访问
#iptables -I INPUT -p tcp --dport 111 -j ACCEPT
#service iptables save
#service restart save
5、重新输出共享目录
命令#exportfs–rv可以让新设置的“exports”文件内容生效
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的?r候,将详细的信息输出到屏幕上。
6、客户机配置
NFS服务器上(192.168.0.203)
#vi /etc/exports
在exports里增加
/home/cqxs3/data 192.168.0.119(rw)
启动NFS服务
#/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)
#/etc/rc.d/init.d/nfs start
退出后,使挂接立既生效
#exportfs -rv
共享客户机(192.168.0.119)
#mount -t nfs 192.168.0.203:/home/cqxs3/data /home/cqxs3/data
也可以配置成客户机启动即生效
#vi /etc/fstab
加入以下内容
192.168.0.203:/home/cqxs3/data /home/cqxs3/data nfs defaults 0 0
/etc/fstab参数
fs_spec fs_file fs_type fs_options fs_dump fs_pass
fs_spec :该字段定义希望加载的文件系统所在的设备或远程文件系统,对于nfs这个参数一般设置为这样:192.168.0.1:/NFS
fs_file :本地的挂载点
fs_type :对于NFS来说这个字段只要设置成nfs就可以了
fs_options :挂载的参数,可以使用的参数可以参考上面的mount参数。
fs_dump :该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
fs_pass :该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0 。