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 / 问题 / 9800
Accepted
Daniel Schneller
Daniel Schneller
Asked: 2009-05-20 01:15:11 +0800 CST2009-05-20 01:15:11 +0800 CST 2009-05-20 01:15:11 +0800 CST

在集群文件系统上使用 CVS 的经验

  • 772

我会对在具有多个服务器访问它的集群文件系统上使用 CVS 的任何经验感兴趣。我想这类似于像 SourceForge 这样的供应商所做的。

目前,我们使用基于 RHEL 的 CVS 服务器和 SAN 上的 ext3 存储库文件系统。

这个想法是使用多台机器来处理来自客户端的 CVS 连接,这些客户端都在快速 SAN 上的同一文件系统上工作。这种冗余可以同时用于负载平衡和故障转移目的(例如使用循环 DNS,如果其中一个服务器发生故障,可以重新配置)。

由于各种原因,SVN 不是替代品,请不要开始讨论 CVS/SVN。

storage-area-network cluster cvs
  • 3 3 个回答
  • 332 Views

3 个回答

  • Voted
  1. Best Answer
    Trey
    2009-05-30T14:43:13+08:002009-05-30T14:43:13+08:00

    VCS 扩展问题的最佳答案是您在问题中给出的答案。不要使用 CVS。不过我同意你的观点,SVN 是解决任何问题的方法。有很多高度可扩展的版本控制系统(Perforce、Rational 就是例子)。

    我认为总的来说,尽管您会发现集群文件系统无法提供您正在寻找的性能,但它们的主要目标是可用性。如果您需要选择任何集群 FS,那么我认为您需要研究类似 http://oss.oracle.com/projects/ocfs/ 之类的东西,它是为高性能数据库集群而构建的。但是,高性能数据库不像 CVS 那样依赖于群发或类似的文件锁定机制,它只是无法扩展。您需要添加某种事务性分布式锁管理器。CVS 和高性能不适合同一个球场。

    我确实有一种感觉,尽管您并没有尝试扩展源代码控制系统,而是尝试将 CVS 用于特定应用程序。在这种情况下,我建议直接向 RCS 编码,并滚动您自己的锁管理器。我会避免分布式或集群文件系统的复杂性和昂贵性,并专注于使用某种分布式哈希桶方法构建更智能的应用程序。

    • 3
  2. Kjetil Joergensen
    2009-05-28T16:59:12+08:002009-05-28T16:59:12+08:00

    在您的 san 和运行 CVS 的机器之间,您将需要某种形式的网络文件系统(至少,我想不出任何文件系统可以处理对同一设备的并发访问,我假设 SAN您的意思是作为存储设备呈现给服务器/操作系统的存储)。几年前有关于CVS over NFS的讨论,您可能会遇到任何网络文件系统的相同/相似类型的问题。

    • 您需要一个能够很好地处理锁的网络文件系统
    • 理想情况下,您还需要一个网络文件系统来处理 CVS 前端之间的文件系统缓存一致性

    现在,我不确切知道 sourceforge 是如何为 CVS 构建的,但是,我的猜测是:

    • 少数允许 CVS 提交的盒子,这可能以这样一种方式进行分区,即一个项目与一个盒子/文件系统相关联,它们在其中进行提交。
    • CVS 提交框的状态然后被复制到大量的框/文件系统,它们负载平衡并处理匿名 CVS 读取、CVS->html 浏览等的故障转移。

    (我的猜测背后的原因是匿名 CVS 有时会服务于一个已经存在几个小时的 CVS 状态,我模糊记得与 sf CVS 提交框说话有时爬行非常缓慢)。

    • 0
  3. Adam D'Amico
    2009-05-23T16:02:43+08:002009-05-23T16:02:43+08:00

    我真的没有答案,但为了进一步讨论......

    我假设 CVS 使用某种事务数据库作为后备存储(我知道 SVN 就是这样做的)。如果是这样的话,在我看来,这些文件结构上的多个编写者实际上并不安全。更好的方法不是在数据库接口上创建抽象层吗?例如,使用 SQL 服务而不是本地 BDB/LDBM 或任何可能的服务(假设 CVS 支持这样的东西)。

    • -2

相关问题

  • 构建 Beowulf 集群时的问题 [关闭]

  • SQL Server 的廉价集群

  • ISCSI SAN 上的 SQL Server 磁盘设计

  • SQL Server 文件本地或 NAS 或 SAN?

  • 从 2003 年迁移到 2008 年 Microsoft 群集技术

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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