Por que uma unidade de disco não pode ser conectada (fisicamente) a mais de 2 computadores?

0

Um amigo meu se uma unidade de disco pode ser conectada a mais de um computador e eu pulei diretamente para a resposta "não", mas percebi que praticamente qualquer inconveniente que eu pudesse pensar seria fácil de resolver. Então estou repensando minha posição: se isso não for possível, por quê?

Eu estive pensando que os problemas mais óbvios seriam:

  • conflitos de leitura / gravação (mas seria solucionável por filas de operações ou transações)
  • disponibilidade (mas pelo menos uma fonte de energia seria suficiente para mantê-lo funcionando)
  • a maioria dos outros problemas que eu pude pensar não estão no nível do hardware, mas sim no nível do driver para cima

Além disso, há abordagens muito comuns em que várias unidades abrangem unidades lógicas e sistemas de arquivos de rede lidam com esses problemas de maneira bastante consistente.

No entanto, parece que isso não é uma coisa comum - onde está a minha suposição errada?

    
por Alpha 07.11.2014 / 02:49

5 respostas

4

I could think of would be easy to solve. So I am rethinking my position: if this is not possible, why?

Porque quase nenhum dos sistemas de arquivos existentes é projetado para suportar isso. A suposição da maioria dos sistemas de arquivos é que um único computador tem controle total.

MAS

Existem sistemas de arquivos e tecnologias que suportam vários computadores anexados a ele. As outras respostas sugerindo que isso é simples, não possíveis, estão incorretas ou, pelo menos, incompletas.

Uma configuração relativamente comum seria assim. Pegue uma unidade padrão, coloque-a em um gabinete de armazenamento que suporte iSCSI, configure dois hosts VMware ESXi no mesmo iSCSI lun e use o VMFS. O sistema de arquivos VMFS é cluster projetado especificamente para acesso por vários sistemas. Mas como mencionei, você precisa de hardware especificamente projetado para isso. Como iSCSI, Fibre Channel ou algumas outras tecnologias.

VMware VMFS (Virtual Machine File System) is VMware, Inc.'s cluster file system. It is used by VMware ESX Server and the company's flagship server virtualization suite, vSphere (and predecessor VMware Infrastructure).[4] It was developed and is used to store virtual machine disk images, including snapshots. Multiple servers can read/write the same filesystem simultaneously, while individual virtual machine files are locked.

O NTFS no Windows 2012R2 também suporta acesso simultâneo por dois sistemas. Isso está usando uma tecnologia que a Microsoft chama de Volumes Compartilhados Agrupados .

    
por 07.11.2014 / 05:56
1

É tudo sobre a interface e como seu sistema é arquitetado.

No começo, você tinha um controlador de unidade separado e um disco rígido que precisava de um design específico para funcionar. Então você tinha IDE que tinha a eletrônica para controlar as unidades embutidas nas unidades.

No entanto, os protocolos que seus computadores usam para conversar com unidades são projetados para um único host e um número X de dispositivos - SCSI e ATA, por exemplo, têm variantes de rede com comandos semelhantes, mas ainda são um host para muitos convidados. Você precisaria de um protocolo de comunicação de unidade que pudesse 'educadamente' manipular solicitações de mais de um sistema, armazenar em buffer as coisas e armazená-las. Acontece que a "melhor" maneira de fazer isso é lançar a complexidade em um sistema host que lida com ethernet, protocolos de armazenamento e tal, e dividir esse custo entre muitas unidades.

Suas interfaces físicas são também projetadas para serem expostas a um host (usando uma interface ponto a ponto ou barramento) em vez de muitos hosts (usando uma topologia em estrela ou barramento).

Ainda é realmente novo, mas algo como o novo drives cinemáticos da Seagate - são unidades que usam um nativo A interface Ethernet contaria como um 'disco rígido' que pode ser conectado diretamente (ou conectado através de um comutador) a várias unidades, usando um protocolo projetado para conectar-se a vários hosts. Em essência, você está tratando cada disco como seu próprio sistema. Os microprocessadores ficaram baratos e poderosos o suficiente para rodar um pequeno 'servidor' por unidade, conectando-o via ethernet / ip e enviando / recebendo / armazenando em buffer, e armazenar os dados pode ser feito na própria unidade.

Então, você poderia fazer isso, com escolhas de design drasticamente diferentes das que foram feitas historicamente. Não há nada que o impeça (se você for um fabricante de HDD) de lançar um pequeno sistema operacional, um processador de braço barato e uma interface ethernet e construir um disco rígido diretamente conectado à rede capaz de manipular muitos clientes. Você só precisa ser capaz / disposto a descartar os protocolos físicos, elétricos e de sinalização centrados no DAS que funcionaram muito bem até agora para sistemas pessoais, armazenamentos e vários arrays SAN / NAS.

    
por 07.11.2014 / 06:46
0

Eu coloquei para você o problema é com limitações na conexão com o PC. SATA e SAS não são eletricamente projetados para serem conectados a mais de um sistema, e sendo que é um protocolo serial, eu não acredito que o USB seja um deles. (IE eu coloquei para você o problema é a falta de demanda e baixo nível de hardware / lógica mais então a camada do sistema operacional)

Isso significa que a lógica para acessar a unidade precisará ser fisicamente abstraída - e, de fato, a maneira mais lógica de fazer isso seria usar algo como um cabo de rede e conversor, que de muitas maneiras (mas não exatamente ) é o que é um NAS.

(Eu notei como @Zordache disse que existem sistemas de arquivos que podem suportar isso - no mundo Linux GFS e OCFS são comuns, mas link lista um monte deles na seção "Sistemas de arquivos em discos compartilhados - assim seria possível no sistema operacional e em níveis mais altos).

Este artigo discute o problema em nível técnico - por definição, um NAS permite armazenamento compartilhado, único DAS apenas - e os protocolos de disco comuns são todos DAS.

    
por 07.11.2014 / 06:23
-1

Sua suposição está correta. Uma única unidade só pode ter um computador conectado a ela.

Work Arounds

Você pode transformar a unidade em um armazenamento NAS, mas o uso simultâneo pode resultar em um problema se a rede ficar congestionada. Isso inclui conectar a unidade a um roteador e usar o compartilhamento do Windows. Observe que o último só pode funcionar se o computador estiver ligado e for mais lento em comparação ao anterior.

Outra solução seria algum tipo de sistema que desmontasse a unidade em um sistema e montasse em outro. Isso precisaria de algum tipo de script automatizado e precisaria de um sistema para verificar se o outro sistema está ativado. Além disso, fatores externos como a inicialização podem representar um problema.

Veredicto final

Meu veredicto final é que o uso simultâneo é excedido se a unidade não for uma unidade NAS.

    
por 07.11.2014 / 03:49
-1

Você pode se conectar a uma única unidade através da rede (ele precisa de um servidor de arquivos especial, mas meu roteador doméstico barato pode fazê-lo). Sua lida com conflitos de arquivos, bloqueios e outras coisas. O arquivo base IO (SATA, PATA) não é compatível com esses casos, seus únicos setores de leitura e gravação.

Power - se você se conectar a diferentes fontes de energia, você pode gravá-las, devido a diferentes fases de energia.

    
por 07.11.2014 / 06:06