1,服务器端软件:安装nfs-utils和portmap(rpcbind)
nfs-utils: 提供rpc.nfsd 及 rpc.mountd这两个nfs daemons的套件
portmap: nfs其实可以被看作是一个rpc server program,而要启动一个rpc server program,都要做好port的对应工作,而且这样的任务就是由portmap来完成的。通俗的说portmap就是用来做port的mapping的。
nfs需要启动的daemons
pc.nfsd:主要复杂登陆权限检测等 必须
portmap:处理rpc程序客户端和服务器端的端口对应 必须
rpc.mountd:负责nfs的档案系统,当client端通过rpc.nfsd登陆server后,对clinet存取server的文件进行一系列的管理 必须
lockd:处理通过rpc包的锁定请求
statd:为nfs锁定服务提供crash恢复功能
rquotad:处理当用户通过nfsmount到远程服务器时的配额
守护进程启动顺序:rpc.portmap, rpc.mountd, rpc.nfsd, rpc.statd, rpc.lockd (新版本会自动跟着nfsd启动起来), rpc.rquotad
nf服务器端命令:
•yum install nfs-utils portmap
•chkconfig rpcbind on #chkconfig:更新和查询各运行级别的系统服务
•chkconfig nfs on
•service rpcbind start
•service nfs start
2,服务器端配置文件/etc/exports:指定要共享的目录及权限 man exports
复制代码 代码如下:
#:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。
/home/work 192.168.0.*(rw,sync,root_squash)
/home 192.168.1.105 (rw,sync)
/public * (rw,sync)
配置文件每行分为两段:第一段为共享的目录,使用绝对路径,第二段为客户端地址及权限。
地址可以使用完整ip或网段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以地址可以使用主机名,dns解析的和本地/etc/hosts解析的都行,支持通配符,例如:*.chengyongxu.com
权限有:
rw:read-write,可读写; 注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:nfs客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:nfs客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论nfs客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的uid值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的gid值。
nfs客户端用户映射:客户端登陆用户为root或者其他用户,然后根据服务器端nfs server配置,相应客户端连接映射到nfs服务器端的用户为root或者指定用户(通过anonuid或者anongid来设定)、nfsnobody等。最后这个映射用户和共享目录的权限共同影响该客户端连接是否有读写权限。
手动设定客户端、服务器端用户映射,参数:map_static=/etc/nfs.map
/etc/nfs.map文件映射内容如下:
# remote local
gid 500 1000
uid 500 2003
参考:关于nfs客户连接用户身份的描述,没有验证过下述的描述:
•客户端连接时候,对普通用户的检查,no.1如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户,no.2如果nfs server上面有同名用户,那么此时客户端登录账户的身份转换为nfs server上面的同名用户,no.3如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成nfsnobody
•客户端连接的时候,对root的检查,no.1如果设置no_root_squash,那么此时root用户的身份被压缩为nfs server上面的root,no.2如果设置了all_squash、anonuid、anongid,此时root 身份被压缩为指定用户,no.3如果没有明确指定,此时root用户被压缩为nfsnobody,no.4如果同时指定no_root_squash与all_squash 用户将被压缩为 nfsnobody,如果设置了anonuid、anongid将被压缩到所指定的用户与组
3,防火墙设置修改
默认情况下,centos6服务器版安装完成后,防火墙iptables配置中只放开了22端口。
在nfs配置文件/etc/sysconfig/nfs中指定nfs服务相关端口,并修改防火墙放开相应端口
复制代码 代码如下:
#port rpc.mountd should listen on.
#mountd_port=892
#port rpc.statd should listen on.
#statd_port=662
#/usr/sbin/rpc.rquotad port rquotad should listen on.
#rquotad_port=875
#tcp port rpc.lockd should listen on.
#lockd_tcpport=32803
#udp port rpc.lockd should listen on.
#lockd_udpport=32769
修改iptables配置文件/etc/sysconfig/iptables,放开111(portmap服务端口),2049(nfs服务端口)
4,/etc/hosts.allow配置修改
/etc/hosts.allow,/etc/hosts.deny 描述哪些主机允许使用本地的inet服务。
默认这里好像可以不需要修改,不过最好设置成只允许需要的客户端机器连接,然后其他机器的连接都deny
#服务进程名:主机列表:当规则匹配时可选的命令操作
server_name:hosts-list[:command]
在/etc/hosts.allow中添加允许客户端访问的规则
all:127.0.0.1 #允许本机访问本机所有服务进程
all:192.168.0.135 #允许192.168.0.135客户端机器访问本机所有服务进程
smbd:192.168.0.0/255.255.255.0 #允许网段的ip访问smbd服务
sshd:192.168.100.0/255.255.255.0 #允许192.168.100.网段的ip访问服务器上的sshd进程
sshd:60.28.160.244 #允许外网的60.28.160.244访问这个服务器上的sshd进程
在/etc/hosts.deny中 被禁制登陆的尝试连接信息也可以设置成记录下来并发到用户邮箱
sshd:all #禁止所有
5,修改共享出去的目录权限为760,并修改目录所有组为nfsnobody
参考:问题7
6,客户端挂载:执行下面的指令就可以把nfs服务器(ip地址为192.168.1.45)共享出来的/home挂装到本地的/mnt/nfs/home目录下。
showmount -e nfs-serverip: 查看nfs服务器共享出来的资源
mount -t nfs 192.168.1.45:/home /mnt/nfs/home
7,nfs性能测试:
•根据命令time dd if=/dev/zero of=/mnt/home bs=16k count=16384 来设置合理的wsize,rsize值
•根据nfs客户端数,在/etc/sysconfig/nfs配置文件中设置合适的nfs服务器端进程数rpcnfsdcount,默认为8
exportfs命令:如果我们在启动了nfs之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv] -a :全部mount或者unmount /etc/exports中的内容 -r :重新mount /etc/exports中分享出来的目录 -u :umount 目录 -v :在 export 的時候,将详细的信息输出到屏幕上。
showmount命令:显示nfs服务器的挂载信息。
showmount -e [nfs-server]:显示指定的nfs server上export出来的目录,不指定后面ip时查看的是本机作为nfs server时,对外共享的目录。。
rpcinfo -p命令:显示rpc信息 -p参数:用rpc协议来探测主机host上使用的rpcbind,并显示所有已注册的rpc程序。
nfsstat命令:查看nfs的运行状态,对于调整nfs的运行有很大帮助
过程中出现的问题解决:
1, 通过yum或者rpm安装完portmap后,发现执行命令service portmap start时报如下错误:portmap: unrecognized service。
centos6(linux kernel 2.6.32)中,portmap已经被rpcbind代替了,仔细查看安装信息就会发现,执行命令yum install portmap时安装的就是rpcbind。安装完成后也可以通过命令:yum whatprovides portmap来查看详细信息。
2, 客户端挂载时,报错误mount clntudp_create: rpc: port mapper failure - rpc: unable to receive。
•1,通过命令rpcinfo -p来查看portmap服务时候正常启动以及相应的端口(默认111)
•2,检查/etc/sysconfig/iptables防火墙设置,允许tcp,udp的111端口访问,然后service iptables restart
•3,检查/etc/hosts.deny,/etc/hosts.allow看客户端连接是否被阻止了
3, 客户端执行命令showmount -e nfs-server时,报错误:mount clntudp_create: rpc: program not registered。
nfs、rpcbind服务没有启动,使用chkconfig把nfs、rpcbind加到系统服务中并用service来启动
或者在/etc/hosts.allow中添加允许客户端访问的规则 all:192.168.0.135
4, 客户端执行命令showmount -e nfs-server时,报错误:rpc mount export: rpc: unable to receive; errno = no route to host
配置文件:/etc/sysconfig/nfs
找到nfs服务相关端口设置的地方,并移除注释后,在iptables防火墙设置中指定允许相应端口的udp,tcp流通过。
#mountd_port=892
#statd_port=662
#lockd_tcpport=32803
#lockd_udpport=32769
iptables -a input -p tcp --dport 662 -m state --state new -j accept
iptables -a input -p udp --dport 661 -m state --state new -j accept
5, showmount -e nfs-server成功,正式挂载时报错:mount: mount to nfs server '192.168.1.5' failed: system error: no route to host.这是由于nfs服务的默认端口2049被防火墙阻塞了,和上面类似修改iptables允许2049端口通过
6, showmount -e nfs-server成功,正式挂载时报错:mount: mount to nfs server '192.168.1.5' failed: timed out (retrying).
编辑/etc/sysconfig/iptables时,相关端口的tcp端口允许通过,而udp不允许。其他可能的原因参考:mount command fails with nfs server failed error.
disable name lookup requests from nfs server to a dns server.
or nfs version used by the nfs client is other than version 3.
7,exports配置文件中目录权限属性设置为rw(默认为root_squash),但是在客户端mount目录执行touch命令时报错误:touch: cannot touch `a': permission denied。解决:
•服务器端共享目录权限查看ll -d /home
•修改服务器端共享目录权限chown 760 /home(文件所有者root有全权限、文件所有组用户有读写权限、其他用户无权限,然后把目录的组设置为nfsnobody)
•修改服务器端共享目录权限组拥有者为nfsnobody(cat /etc/passwd | grep nob)
•chgrp nfsnobody /home
•成功在客户端创建新的文件!
以上是linux下NFS安装配置的方法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

Linux维护模式通过在启动时添加init=/bin/bash或single参数进入。1.进入维护模式:编辑GRUB菜单,添加启动参数。2.重新挂载文件系统为读写模式:mount-oremount,rw/。3.修复文件系统:使用fsck命令,如fsck/dev/sda1。4.备份数据并谨慎操作,避免数据丢失。

本文探讨如何在Debian系统上提升Hadoop数据处理效率。优化策略涵盖硬件升级、操作系统参数调整、Hadoop配置修改以及高效算法和工具的运用。一、硬件资源强化确保所有节点硬件配置一致,尤其关注CPU、内存和网络设备性能。选择高性能硬件组件对于提升整体处理速度至关重要。二、操作系统调优文件描述符和网络连接数:修改/etc/security/limits.conf文件,增加系统允许同时打开的文件描述符和网络连接数上限。JVM参数调整:在hadoop-env.sh文件中调整

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

选择适合Debian系统的Hadoop版本,需要综合考虑以下几个关键因素:一、稳定性与长期支持:对于追求稳定性和安全性的用户,建议选择Debian稳定版,例如Debian11(Bullseye)。该版本经过充分测试,拥有长达五年的支持周期,能够确保系统稳定运行。二、软件包更新速度:如果您需要使用最新的Hadoop功能和特性,则可以考虑Debian的不稳定版(Sid)。但需注意,不稳定版可能存在兼容性问题和稳定性风险。三、社区支持与资源:Debian拥有庞大的社区支持,可以提供丰富的文档和

本文介绍如何在Debian系统上使用TigerVNC共享文件。你需要先安装TigerVNC服务器,然后进行配置。一、安装TigerVNC服务器打开终端。更新软件包列表:sudoaptupdate安装TigerVNC服务器:sudoaptinstalltigervnc-standalone-servertigervnc-common二、配置TigerVNC服务器设置VNC服务器密码:vncpasswd启动VNC服务器:vncserver:1-localhostno

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

在Debian邮件服务器上安装SSL证书的步骤如下:1.安装OpenSSL工具包首先,确保你的系统上已经安装了OpenSSL工具包。如果没有安装,可以使用以下命令进行安装:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私钥和证书请求接下来,使用OpenSSL生成一个2048位的RSA私钥和一个证书请求(CSR):openss

在Debian系统上配置邮件服务器的虚拟主机通常涉及安装和配置邮件服务器软件(如Postfix、Exim等),而不是ApacheHTTPServer,因为Apache主要用于Web服务器功能。以下是配置邮件服务器虚拟主机的基本步骤:安装Postfix邮件服务器更新系统软件包:sudoaptupdatesudoaptupgrade安装Postfix:sudoapt


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器