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

0

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

Eu estive pensando que os problemas mais óbvios seriam:

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

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

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

Alfa
fonte
@ PaulA.Clayton, desculpe, mas eu discordo, existem sistemas que permitem acesso simultâneo. Eles não são particularmente comuns, mas certamente existem.
Zoredache

Respostas:

4

Eu poderia pensar que seria fácil de resolver. Então, estou repensando minha posição: se isso não é possível, por quê?

Porque quase nenhum dos sistemas de arquivos existentes foi 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 conectados a ele. As outras respostas sugerindo que isso é simples, impossível, 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 compatível com iSCSI, configure dois hosts VMware ESXi no mesmo iSCSI e use o VMFS. O VMFS é um sistema de arquivos em cluster projetado especificamente para acesso por vários sistemas. Mas, como mencionei, você precisa de um hardware projetado especificamente para isso. Como iSCSI, Fibre Channel ou algumas outras tecnologias.

VMware VMFS (Sistema de arquivos de máquinas virtuais) é o sistema de arquivos em cluster da VMware, Inc. É usado pelo VMware ESX Server e pelo principal pacote de virtualização de servidores da empresa, o vSphere (e o VMware Infrastructure predecessor). [4] Foi desenvolvido e é usado para armazenar imagens de disco da máquina virtual, incluindo instantâneos. Vários servidores podem ler / gravar o mesmo sistema de arquivos simultaneamente , enquanto os arquivos individuais da máquina virtual estão bloqueados.

O NTFS no Windows 2012R2 também oferece suporte ao acesso simultâneo por dois sistemas. Isso está usando uma tecnologia que a Microsoft chama Volumes Compartilhados em Cluster .

Zoredache
fonte
+! Vincular à lista de sistemas de arquivos de disco compartilhado da Wikipedia pode valer a pena.
Paul A. Clayton
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 o IDE que possuía os componentes eletrônicos para controlar as unidades incorporadas nas unidades.

No entanto, os protocolos que seus computadores usam para conversar com as unidades são projetados para um único host e um número X de dispositivos - o SCSI e o 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 possa 'educadamente' lidar com solicitações de mais de um sistema, armazenar itens em buffer e armazená-los. Acontece que a melhor maneira de fazer isso é lançar a complexidade em um sistema host que lida com Ethernet, protocolos de armazenamento e outros, e dividir esse custo entre muitas unidades.

Suas interfaces físicas também foram 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 as novas unidades cinéticas da Seagate - são unidades que usam uma interface Ethernet nativa , contariam como um 'disco rígido' que pode ser conectado diretamente (ou conectado através de um comutador) a muitas unidades, usando um protocolo projetado para conectar-se a vários hosts. Em essência, você está tratando cada unidade como seu próprio sistema. Os microprocessadores tornaram-se baratos e poderosos o suficiente para executar um pequeno 'servidor' por unidade, conectando-o via ethernet / ip e enviando / recebendo / buffer e armazenando os dados, podendo ser feito na própria unidade.

Então, você poderia fazê-lo, com escolhas de design drasticamente diferentes das que foram feitas historicamente. Não há nada que impeça você (se você for um fabricante de HDD) de instalar um sistema operacional pequeno, um processador de braço barato e uma interface Ethernet e criar um disco rígido totalmente minúsculo conectado à rede, capaz de lidar com muitos clientes. Você só precisa estar apto / disposto a descartar os protocolos físicos, elétricos e de sinalização centrados em DAS que funcionaram muito bem até agora em sistemas pessoais, armazenamentos e várias matrizes SAN / NAS.

Journeyman Geek
fonte
Não seria "semelhante ao NAS". Seria simplesmente um NAS.
7119 kinokijuf
Ponto aceito e corrigido.
Journeyman Geek
0

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

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

(Como o @Zordache disse que existem sistemas de arquivos que podem dar suporte a isso - no mundo Linux, GFS e OCFS são comuns, mas http://en.wikipedia.org/wiki/List_of_file_systems lista muitos deles na seção "Shared- seção de sistemas de arquivos em disco - para que isso seja possível no SO e nos níveis superiores).

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

davidgo
fonte
-1

Sua suposição está correta. Uma única unidade pode ter apenas 1 computador conectado a ela.

Trabalho 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 com o anterior.

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

Veredicto final

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

QuyNguyen2013
fonte
-1

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

Energia - se você se conectar a diferentes fontes de energia, poderá queimar devido a diferentes fases de energia.

Alexey
fonte
As fases de energia não são um problema, porque o inversor aceita DC.
7119 kinokijuf
Ок. Eu tenho três fases, entrando no meu quarto e duas delas alimentam duas fontes DC diferentes. Assim, a distância betwen zeros seria perto de 100 V.
Alexey
Os zeros devem estar aterrados.
precisa saber é o seguinte