阿里云ECS上实现NFS挂载

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介:

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,如需转载请自行联系原作者

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
28天前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
415 4
|
29天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
1月前
|
弹性计算 监控 数据安全/隐私保护
阿里云ECS云监控界面
阿里云ECS云监控界面
792 2
|
1月前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
401 2
|
1月前
|
机器学习/深度学习 弹性计算 运维
ECS阿里云监控服务
ECS阿里云监控服务
73 3
|
1月前
|
存储 弹性计算 安全
创建阿里云ECS实例
创建阿里云ECS实例
172 4
|
14天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
150 1
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
152 1

热门文章

最新文章