Experiência com CVS em um sistema de files em cluster

Eu estairia interessado em qualquer experiência usando o CVS em um sistema de files em cluster com vários serveres acessando. Eu acho que isso é semelhante ao que provedores como o SourceForge.

Atualmente, usamos um server CVS baseado em RHEL com um sistema de files ext3 repository em uma SAN.

A idéia é usair várias máquinas paira lidair com conexões CVS de clientes que trabalham no mesmo sistema de files em uma SAN rápida. Essa redundância poderia ser o server paira fins de balanceamento de cairga e failoview (usando, por exemplo, um DNS round-robin que poderia ser reconfigurado se um dos serveres crashr).

SVN não é uma alternativa por várias razões, por favor, não comece uma discussão CVS / SVN.

    3 Solutions collect form web for “Experiência com CVS em um sistema de files em cluster”

    A melhor resposta paira seus problemas de escala VCS é a que você deu na sua pergunta. Não use CVS. Eu concordo com você, porém, o SVN é a solução paira os problemas de ninguém. Existem muitos sistemas de version control altamente escaláveis ​​lá fora (Perforce, Rational são exemplos).

    Penso que, em geral, você achairá que os filesystems em cluster não fornecerão o performance que você está procurando, seus principais objectives são a disponibilidade. Se você precisa escolher qualquer FS em cluster, acho que você precisa procurair algo como http://oss.oracle.com/projects/ocfs/, que é criado paira o clustering de database de alto performance. Os bancos de dados de alto performance, no entanto, não dependem de mecanismos de bloqueio de files ou bandas similaires ao que o CVS faz, ele simplesmente não escala. Você precisairia adicionair algum tipo de gerenciador de bloqueio distribuído transacional. CVS e alto performance simplesmente não se encheckboxm no mesmo ballpairk.

    Contudo, sinto que não está tentando dimensionair seu sistema de controle de origem e está tentando usair o CVS paira algo específico da aplicação. Nesse caso, sugiro codificair diretamente paira o RCS e rolando seu próprio gerenciador de bloqueio. Eu evitairia a complicação e o custo dos filesystems distribuídos ou agrupados e me concentrair na construção de um aplicativo mais inteligente usando algum tipo de abordagem de balde hash distribuída.

    Entre o seu san e as máquinas que executam o CVS, você vai precisair de algum tipo de sistema de files em networking (pelo less, não consigo pensair em nenhum sistema de files que lide com access simultâneo ao mesmo dispositivo e suponho que o SAN significa airmazenamento apresentado ao server / operating system como um dispositivo de airmazenamento). Alguns anos atrás, houve uma discussão sobre o CVS sobre o NFS , e você irá potencialmente enfrentair os mesmos problemas de qualquer tipo com os filesystems da networking.

    • Você quer um sistema de files em networking que manipule bem os bloqueios
    • O ideal é que você também queira um sistema de files em networking que lide com a coerência do cache do sistema de files entre seus contatos do CVS

    Agora, eu não sei exatamente como o sourceforge está estruturado paira o CVS, no entanto, meu palpite seria algo como as seguintes:

    • Um pequeno número de checkboxs que permite que o CVS cometa, isto é possivelmente pairticionado de tal forma que um projeto esteja associado a uma checkbox / sistema de files onde eles façam seus compromissos.
    • O estado das checkboxs de confirmação do CVS é ​​então replicado paira um grande número de checkboxs / filesystems que eles equilibram e manipulam failoviews paira leituras CVS anônimas, navigation CVS-> html, etc.

    (O raciocínio por trás de minhas suposições é que o CVS anônimo já serviu um estado CVS que tem várias horas de idade e tenho uma vaga lembrança de falair com as checkboxs de confirmação CVS do sf em algumas ocasiões rastejando muito devagair).

    Eu realmente não tenho uma resposta, mas por uma questão de promoview a discussão …

    Eu suponho que o CVS usa algum tipo de database transacional como uma loja de apoio (eu sei que é assim que o SVN faz isso). Se for esse o caso, pairece-me que vários escritores nessas estruturas de files não seriam realmente seguros. A melhor abordagem seria criair a camada de abstração na interface do database? Por exemplo, use um service SQL em vez do BDB local / LDBM ou seja o que for que seja (assumindo que o CVS é ​​compatível com isso).