阿里云ECS上实现NFS挂载

本文涉及的产品
云防火墙,500元 1000GB
简介:

1. 背景

由于项目需要,现在需要在阿里云上多台服务器上共享一些静态的文件数据。开始时选型方案有:OSS对象存储、NAS存储、自己搭建NFS;考虑成本需要,选择了自己搭建NFS。 项目在阿里金融云上,金融云上产品比公有云贵多了。 下面讲解过程。

注意:你的ECS是否在一个区,且是否在一个安全组。如果两台ECS不在同一个安全组,因此需要在各自的安全组设置规则,在内网进出方向分别添加对方的IP地址。

image

 

2. 过程

2.1 服务端

 

2.1.1 安装     
yum install nfs-utils –y

 

2.1.2 修改配置文件     
[root@test02 home]# vim /etc/exports     
/home/nfstest 10.0.18.1(rw,sync,no_root_squash)     
/home/nfstest 10.0.16.120(rw,sync,no_root_squash)

#新建目录

mkdir –p /home/nfstest

no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!    
root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份;


2.1.3 启动服务     
service rpcbind start #启动端口转发     
service nfs start #启动NFS

chkconfig rpcbind on #rpcbind 加入启动项   
chkconfig nfs on #nfs加入启动项   
启动后如果修改了目录,可执行exprotfs -rv 实现刷新

 

2.1.4 添加防火墙规则

iptables -I INPUT -p tcp -m multiport --dports 875,2049,111,28300,5076,39927,46286 -j ACCEPT    
iptables -I INPUT -p udp -m multiport --dports 875,2049,111,37747,31166,9292,57181 -j ACCEPT

注意:由于要开放的端口较多且不连续,最好的做法是修改相应的端口。 可以参考我的另外一篇博文

http://pizibaidu.blog.51cto.com/1361909/1662428

 

2.2 客户端

 

2.2.1 安装     
yum install nfs-utils –y


2.2.2 挂载     
a. 立一个目录用来作挂接点     
mkdir -p /home/nfs     
b、进行挂接     
mount -t nfs 10.0.16.122:/home/nfstest /home/nfs -o proto=tcp -o nolock     
c、取消挂接     
umount /home/nfs

 

3. 遇到的问题

 

3.1 如果客户端不安装nfs-utils会报如下错误:

mount: wrong fs type, bad option, bad superblock on 10.0.16.122:/home/nfstest,    
        missing codepage or helper program, or other error     
        (for several filesystems (e.g. nfs, cifs) you might     
        need a /sbin/mount.<type> helper program)     
        In some cases useful info is found in syslog - try     
        dmesg | tail  or so

解决方法:yum install nfs-utils –y

 

 

3.2 clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

挂载时报的错误。

解决方法: 由于服务端防火墙的阻止,需要把所有的端口都加进去。需要把那些端口加入防火墙,可以执行命令: rpcinfo -p 10.0.16.122

或者关掉防火墙

   # rpcinfo -p 10.0.16.122

    100000    4   tcp    111  portmapper    
     100000    3   tcp    111  portmapper     
     100000    2   tcp    111  portmapper     
     100000    4   udp    111  portmapper     
     100000    3   udp    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     
     100005    1   udp  37747  mountd     
     100005    1   tcp   5076  mountd     
     100005    2   udp  31166  mountd     
     100005    2   tcp  39927  mountd     
     100005    3   udp   9292  mountd     
     100005    3   tcp  28300  mountd     
     100003    2   tcp   2049  nfs     
     100003    3   tcp   2049  nfs     
     100003    4   tcp   2049  nfs     
     100227    2   tcp   2049  nfs_acl     
     100227    3   tcp   2049  nfs_acl     
     100003    2   udp   2049  nfs     
     100003    3   udp   2049  nfs     
     100003    4   udp   2049  nfs     
     100227    2   udp   2049  nfs_acl     
     100227    3   udp   2049  nfs_acl     
     100021    1   udp  57181  nlockmgr     
     100021    3   udp  57181  nlockmgr     
     100021    4   udp  57181  nlockmgr     
     100021    1   tcp  46286  nlockmgr     
     100021    3   tcp  46286  nlockmgr     
     100021    4   tcp  46286  nlockmgr

 

3.3 nfs rpc.mountd: svc_tli_create: could not open connection for udp6

启动NFS报错如下:    
Starting NFS mountd: rpc.mountd: svc_tli_create: could not open connection for udp6     
rpc.mountd: svc_tli_create: could not open connection for tcp6     
rpc.mountd: svc_tli_create: could not open connection for udp6     
rpc.mountd: svc_tli_create: could not open connection for tcp6     
rpc.mountd: svc_tli_create: could not open connection for udp6     
rpc.mountd: svc_tli_create: could not open connection for tcp6

解决办法:

修改如下配置文件,然后重启服务即可。    
[root@localhost ~]# vi /etc/netconfig     
udp tpi_clts v inet udp - -     
tcp tpi_cots_ord v inet tcp - -     
#udp6 tpi_clts v inet6 udp - -     
#tcp6 tpi_cots_ord v inet6 tcp - -     
rawip tpi_raw - inet - - -     
local tpi_cots_ord - loopback - - -     
unix tpi_cots_ord - loopback - - -



本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1982748,如需转载请自行联系原作者

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
228 10
|
2月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
2月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
362 8
|
2月前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。
|
2月前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
226 2
|
2月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
424 1
|
2月前
|
存储 弹性计算 安全
阿里云渠道商:新手如何选择阿里云ECS实例?
阿里云ECS凭借弹性扩展、稳定可靠与安全防护,助力企业高效上云。本文系统解析实例规格选择关键因素:业务场景匹配、性能评估、成本优化、地域部署与扩展规划,结合计费模式与实际需求,提供科学选型建议,助您精准匹配资源,提升云上效能。(238字)
|
2月前
|
存储 弹性计算 安全
阿里云渠道商:新手怎么选阿里云ECS实例规格?
本文深入解析阿里云ECS的弹性、稳定与安全优势,详解实例规格选择的关键因素,涵盖应用场景、性能需求、成本预算、地理位置与扩展性,助力用户精准选型,优化业务部署与成本效益。
|
2月前
|
弹性计算 运维 安全
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
在阿里云当下的活动中,38元/年的轻量应用服务器与99元/年的云服务器ECS成为众多新用户的关注焦点。但是有部分用户并不是很清楚二者之间的区别,因此就不知道应该如何选择。接下来,笔者将为您详细剖析ECS云服务器与轻量应用服务器的差异,以供您参考和选择。
309 4
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考