AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 646293
Accepted
Simone Nigro
Simone Nigro
Asked: 2014-11-23 03:38:41 +0800 CST2014-11-23 03:38:41 +0800 CST 2014-11-23 03:38:41 +0800 CST

多个 AWS EC2 实例之间的共享文件系统

  • 772

我有几个在 Amazon EC2 上运行的 Windows 服务器实例,并希望通过运行具有负载均衡器的重复实例来使它们更具容错性。

问题是特定数据,例如,如果文档根目录的内容即 C:/htdocs/ (Apache) 或 C:/Repositories (VisualSvn 服务器),则从一个 Web 服务器故障转移到另一个 Web 服务器是没有好处的不相同。

有没有办法在两个或更多实例之间共享一个卷?

我的想法是在 EC2 实例之间共享文件夹:

在此处输入图像描述

阅读不可能将相同的 EBS 卷附加到多个实例。如果我想跨 NFS 安装它们,我相信 AWS 也不是 NFS 友好的。

最后,我还检查了安装有 s3fs 的 S3 存储桶,但我发现这也不是一个好选择。

谁能帮我指出正确的方向?

amazon-ec2
  • 4 4 个回答
  • 29519 Views

4 个回答

  • Voted
  1. Scott
    2015-06-04T10:43:07+08:002015-06-04T10:43:07+08:00

    这是一个在 AWS 中被追捧了一段时间的用例。如该线程中所述,实现此目的的两种常见方法是使用 S3 或 NFS 在实例之间共享数据访问。

    2015年4 月 9 日,Amazon 发布了Amazon Elastic File System (Amazon EFS),它提供了您在图表中所要求的内容。

    • 12
  2. Best Answer
    Matt Houser
    2014-11-23T10:24:52+08:002014-11-23T10:24:52+08:00

    无法在多个 EC2 实例之间共享单个 EBS 卷。

    您的图表正在将数据卸载到共享服务器。然而,这个共享服务器只是另一个单点故障。因此,您不会为自己节省任何东西:如果该服务器的 AZ 出现故障,那么您就丢失了数据,即使另一个 AZ 中的 Web 服务器/VisualSVN 服务器仍在运行。

    您应该将服务器的两个独立功能拆分为两个独立的服务器/集群,以便可以相互独立地处理它们:

    1. 网络服务器,以及
    2. VisualSVN 服务器

    对于 Web 服务器,您真的需要在多实例场景中镜像卷,还是可以让您的实例随时终止而不会丢失数据?理想情况下,您不会将任何数据本地保存到实例中。相反,您会将所有数据在服务器外保存到数据库或 Amazon S3。这样,数据始终可供所有实例使用。如果服务器丢失,则没有数据。制作您的“主”AMI 并从该主 AMI 创建自动扩展组中的所有实例。当您的 Web 服务器代码更改时,部署新的 AMI,终止旧实例并从新 AMI 创建新实例。

    对于 VisualSVN 服务器,要问的问题是 VisualSVN 是否可以在运行进程不关心的情况下处理其上的卷数据变化。例如,如果正在运行的进程在 RAM 中缓存了一些数据,如果某个硬盘驱动器同步进程出现在它后面并更改了它上面的硬盘驱动器,会发生什么?可能是 VisualSVN 服务器根本无法处理多实例场景。根据答案,您可能无法集群 VisualSVN 服务器。VisualSVN 服务器可能有它自己的集群功能。如果是这样,那么您应该对此进行调查。

    • 4
  3. Steve S.
    2015-02-03T13:14:57+08:002015-02-03T13:14:57+08:00

    我相信解决架构问题的标准 Windows Server 方法是使用集群的 Windows 共享存储空间实现图表中的“共享文件系统”块,将节点分布在至少两个可用区域中。

    从理论上讲,这为您提供了一些看起来像标准文件共享但没有单点故障的应用程序。对于您的情况,这可能有点矫枉过正,但如果您要进行容错,这将有助于防止出现其他故障情况。

    虽然不是针对您的问题,但这篇关于 Windows Server 故障转移群集的文章可能有助于了解工作的范围:http: //aws.amazon.com/microsoft/whitepapers/microsoft-wsfc-sql-alwayson/

    • 2
  4. Satya
    2016-09-27T21:34:03+08:002016-09-27T21:34:03+08:00

    这可以通过 Amazon EFS 实现,请通过链接。https://aws.amazon.com/blogs/aws/amazon-elastic-file-system-shared-file-storage-for-amazon-ec2/

    • 0

相关问题

  • 权限被拒绝(公钥)。从本地 Ubuntu 到 Amazon EC2 服务器的 SSH

  • 管理员如何管理他们的 EC2 EBS 和快照?

  • 云有多大?[关闭]

  • EC2 映像启动

  • 如何将安全组添加到正在运行的 EC2 实例?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve