如果您在多服务器应用程序环境中工作,您需要在多个服务器之间共享文件系统,那么您必须设置 NFS(网络文件系统)。
NFS 允许您在多台服务器上共享文件系统,但实施需要一些管理技能。
在传统的基础架构环境中,您可能需要涉及多个团队,并且创建 NFS 需要时间。 但是,如果您使用的是 AWS,则可以使用他们的 EFS(弹性文件系统)服务在几分钟内完成。
AWS EFS 允许您创建可在 EC2 上使用的可扩展文件存储。 您不必担心容量预测,因为它可以按需扩展或缩减。
从 AWS 页面中获取了一个快速说明,让您了解它的工作原理。
EFS 的一些优点是:
- 完全由 AWS 管理。
- 成本低,用多少就买多少。
- 高可用性和耐用性
- 自动放大或缩小。
- 可扩展的性能
我有两个 EC2 Ubuntu 实例正在运行,在本教程中,我将创建一个 EFS,然后将它安装在两台 EC2 服务器上。
让我们开始吧。
- 登录 AWS 控制台
- 转到服务并选择存储下的 EFS (直接链接)
- 单击“创建文件系统”。
- AWS 将自动在可用区中分配一个 IP 地址。 如果需要更改,可以在下一个屏幕上进行。
- 如果需要,请添加标签并在通用或最大 I/O 之间选择性能模式
- 检查配置,如果一切正常,请单击“创建文件系统”。
这可能需要几秒钟,一旦完成,您将收到一条成功消息。
成功!
您已经创建了一个文件系统。 您可以从安装了 NFSv4.1 客户端的 EC2 实例挂载文件系统。 您还可以通过 AWS Direct Connect 连接从本地服务器挂载文件系统。
您将能够在列表中看到新创建的弹性文件系统。
至此,您已创建 EFS 并准备好挂载到 EC2 实例上。
在 EC2 上挂载 EFS
在挂载之前,您需要安装 NFS 客户端。 如果您展开列表并单击“Amazon EC2 挂载说明”,您将获得详细信息。
但让我们看看情况如何。
- 登录到两个 EC2 实例并安装 NFS 客户端。 我有 Ubuntu,所以我将使用以下内容。
apt-get install nfs-common
- 让我们创建一个要挂载 EFS 的文件夹。
例如:/应用程序
cd / mkdir apps
使用说明中给出的命令挂载文件系统。
前任:
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps
注意:如果您在挂载过程中遇到任何问题,请参阅此 故障排除指南,并且不要忘记检查安全组以确保以下内容。
- EC2 实例入站规则中允许 NFS 端口 (2049)
- EFS 安全组中允许 EC2 安全组
这将需要几秒钟,如果您执行 df -h 命令,您会注意到 /apps 已安装
[email protected]:/# df -h | grep apps fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /apps [email protected]:/#
现在,您必须登录到另一个您希望 /apps 可用的服务器,然后重复创建文件夹并安装 EFS。
为了验证,我将我的 EFS 安装在另一台服务器上,并且可以看到 /apps 在两台服务器上都可以访问。
[email protected]:/apps# df -h | grep apps fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /apps [email protected]:/apps#
这很容易,不是吗?
我尝试创建一些文件,总体而言,性能看起来不错。 AWS EFS 看起来很有前景,如果您需要跨 EC2 实例共享文件系统,请尝试一下,我相信您会喜欢的。
您有兴趣了解有关 AWS 的更多信息吗? 看看这个 Udemy课程.
喜欢阅读这篇文章吗? 与世界分享如何?