Configurar um Servidor de Armazenamento Conectado em Rede Robusto de Baixo Consumo

Mark Harris
|  Criada: Setembro 23, 2019  |  Atualizada: Marco 16, 2020

Construir um dispositivo da Internet das Coisas, ou talvez gravar vídeo continuamente, requer um sistema de armazenamento de alta capacidade e baixo consumo de energia, preferencialmente utilizando hardware barato. Em casos específicos, seu dispositivo pode ser remoto ou pode lidar com intensidades de vibração altas, como ser montado em um equipamento industrial, em um robô ou em um veículo. Tais circunstâncias tornam o armazenamento em estado sólido indispensável.

Raspberry Pi?

Comecei olhando para construir um servidor de armazenamento conectado à rede usando um Raspberry Pi; afinal, são ótimos pequenos computadores de placa única. No entanto, há algumas coisas que os tornam menos ideais para esse tipo de coisa. Primeiramente, a porta de rede é de apenas 300Mbit/s na última geração 3B+, e 100Mbit/s nas gerações mais antigas. Em segundo lugar, as portas USB são apenas USB 2.0 (480Mbit/s), então são significativamente mais lentas do que USB 3.0 (5Gbit/s). Conectores USB não são sempre os melhores para ambientes de alta vibração e podem ter erros de conexão intermitentes por causa disso, ou falhar por fadiga se o cabo não estiver bem fixado. Cabos USB, especialmente os 2.0, também não se saem particularmente bem em ambientes de alta EMI, como perto de motores acionados por VFD.

ODroid HC1!

Após comparar várias opções atraentes no mercado, adquiri um ODroid HC1 (Home Cloud 1) através do seu distribuidor no Reino Unido (https://odroid.co.uk). É um computador de placa única muito compacto e com um preço razoável. Os benchmarks anunciados são bastante impressionantes para o HC1, comparados a outros computadores de placa única na mesma faixa de preço.

Quando comprado diretamente da Hard Kernel, a unidade custaria US$49, sem incluir o envio, uma fonte de alimentação ou um disco rígido. A Hard Kernel também oferece algumas placas muito impressionantes no formato RasPi, com uma grande quantidade de poder de processamento para aqueles que estão dispostos a pagar por isso. O HC1 me atraiu por ser dedicado ao controle de armazenamento conectado à rede, completamente desprovido de qualquer funcionalidade desnecessária. Ele também é bastante compacto, apesar de estar montado em um grande dissipador de calor que serve como uma caixa aberta, com a opção de incluir uma tampa superior para aqueles que preferirem.

Gostaria de ter funcionalidade WiFi integrada, bem como a capacidade de executar múltiplos discos para RAID e segurança de dados no caso de falha de um disco. Embora o Odroid HC1 não possua tais recursos, ele mantém uma única porta USB, que poderia opcionalmente ser usada para conectar um dongle WiFi USB. Eu estava interessado em WiFi por conveniência, para poder verificar o conteúdo do disco a partir de um dispositivo móvel, em vez de escrever ou ler grandes volumes de dados. RAID, por outro lado, é um pouco mais complicado em computadores de placa única, a menos que você comece a olhar para máquinas baseadas em x86, adicionando processadores gráficos ou considerando recursos adicionais que consomem muita energia. Foi difícil encontrar uma opção compacta e de baixo consumo, então tive que desistir do RAID.

Armazenamento

Acabei optando por um SSD SATA Samsung 860 Evo de um terabyte para o dispositivo de armazenamento e um cartão microSDHC Sandisk de 16 gigabytes para o dispositivo de inicialização. Tentei me virar com um antigo cartão microSD de dois gigabytes, mas era muito lento para o sistema operacional. O Sandisk microSDHC de 16gb era o cartão de marca conhecida mais barato disponível. Se você está procurando uma configuração extremamente robusta, os drives Samsung 860 Evo PRO são o dobro do preço, mas oferecem quase quatro vezes a durabilidade do flash do Evo, o que pode valer muito a pena para uma instalação remota que coleta dados críticos. A versão PRO também consome consideravelmente menos energia. Uma opção um pouco mais voltada para o orçamento da Samsung é a linha Qvo, que tem cerca de metade da durabilidade do flash do Evo. Decidi optar pelos Samsungs em vez de qualquer outra marca porque meu hardware não oferece a opção para RAID. Não tive nenhum problema com eles no passado e tenho 9 deles em operação contínua, então decidi continuar com o que funcionou bem para mim antes.

Discos mecânicos não são uma boa ideia para ambientes de baixo consumo de energia, intensos em vibração ou severos. Eles são muito baratos pela capacidade de armazenamento que oferecem comparados a um SSD de qualidade, mas a vibração os danifica muito rapidamente, assim como a poeira e a umidade. Um SSD consome muito menos energia do que um disco mecânico e não sofre do tempo de inicialização ao sair do modo de espera quando você quer começar a escrever dados.

Boxed Samsung 860 EVO SSD and ODroid HC1

SSD Samsung 860 EVO e ODroid HC1 após a compra.

Sistema Operacional

Existem vários sistemas operacionais de armazenamento conectado à rede disponíveis para computadores de placa única. Decidi usar OpenMediaVault porque ele funciona em um número considerável de computadores de placa única baseados em ARM, permitindo que você acompanhe mesmo se escolher um caminho diferente (como um Raspberry Pi). Ele também tem uma interface web muito fácil de usar para configurá-lo e gerenciar compartilhamentos/usuários, não exigindo assim linha de comando ou SSH!

Preparando o SO

Configurar e executar o ODroid HC1 é simplesmente uma questão de conectar o disco rígido, gravar e conectar o cartão SD, e finalmente, conectar ethernet e energia. Vamos passar por esses passos passo a passo.

Primeiramente, vamos colocar a imagem do firmware no cartão SD.

  1. Baixe a imagem “OMV_4_Odroid_XU4_HC1_HC2.img.xz” de Sourceforge.

  2. Baixe qualquer programa de gravação de imagem de sua escolha. Neste artigo, trabalharemos com o Etcher (https://etcher.io/) porque é simples de usar.

  3. Insira o cartão microSD no seu computador.

  4. Abra o Etcher e selecione a imagem baixada, depois o seu drive.

  5. Clique em Flash!

Preparando o Hardware

Enquanto o Etcher está gravando e validando a imagem no seu cartão SD, você pode montar o ODroid HC1 e o disco rígido simplesmente conectando o disco rígido ao conector SATA do HC1.

An ODroid HC1 connected to a Samsung EVO SSD

O ODroid HC1 conectado ao disco da Samsung forma um armazenamento em rede muito compacto.

Depois, vire e use os parafusos inclusos para fixar o disco.

Você pode então conectar o cabo de rede.

An ethernet cable connected to an ODroid HC1 in its casing and connected to a Samsung EVO SSD

Uma vez que você conectar o cabo de rede, terá terminado de conectar todo o hardware.

Uma vez que o Etcher tenha terminado de gravar o cartão SD, você pode prosseguir e conectá-lo ao HC1 e, em seguida, conectar a energia. OpenMediaVault requer crucialmente uma conexão estável com a internet em seu primeiro boot. Tentei iniciar meu HC1 pela primeira vez conectado a uma rede que incluía um link sem fio, o qual não era particularmente de alta qualidade, e tive dificuldades significativas para fazer o dispositivo funcionar. No entanto, tive sucesso imediato ao conectar o HC1 diretamente à parte com fio da rede.

Pode levar um tempo para o primeiro boot, então faça um chá ou café, ou confira alguns dos outros artigos neste blog. Deixe o HC1 inicializar e instalar por pelo menos 15 minutos; não há indicação visual de que terminou, então é melhor deixar o dispositivo um pouco mais do que fazer algo com ele muito cedo.

Configure o Vault

Você vai querer verificar o que fornece endereços DHCP na sua rede (tipicamente o seu roteador de internet em uma casa ou pequeno escritório) para olhar os clientes conectados e encontrar o endereço IP do ODroid. Alternativamente, você pode usar uma ferramenta de varredura de IP para encontrá-lo—uma escolha popular é Angry IP Scanner (eu prefiro a versão legada pois ela não requer Java). Se este for o seu único ODroid na rede, você provavelmente pode pular a etapa de encontrar o endereço IP e navegar para http://odroidxu4/ no seu navegador web. Caso contrário, vá para o endereço IP com o seu navegador.

OpenMediaVault login screen

Configurar o OpenMediaVault começa com o login.

O nome de usuário e senha padrões são admin / openmediavault.

A primeira coisa que você vai querer fazer é ir para Sistema⇒Configurações Gerais e depois Senha do Administrador Web para mudar sua senha.

eb administrator password change interface in OpenMediaVault

Então você pode ir para Sistema⇒Gerenciamento de Atualizações para garantir que você tem todos os pacotes mais recentes. Clique no botão Verificar, depois clique na caixa de seleção ao lado de Informações do Pacote para selecionar todos e pressione o Botão de Atualização

OpenMediaVault checking for updates interface

 

OpenMediaVault installing updates window

Por favor, aguarde um momento enquanto o OpenMediaVault instala suas atualizações.

Uma vez que as atualizações estiverem concluídas, você vai querer reiniciar. Você pode clicar no ícone do menu ⋮ no canto superior direito do painel e selecionar reiniciar.

OpenMediaVault menu, with mouse hovered over the reboot button

Configuração do Disco Rígido

Se você está usando um disco rígido existente, ou se o seu disco rígido vem pré-formatado, você precisará deletar as partições antes de prosseguir. Você pode ir ao menu Armazenamento⇒Sistemas de Arquivos, selecionar quaisquer entradas /dev/sda* e Deletá-las. No entanto, certifique-se de não tocar no item /dev/mmc, pois esse é o cartão SD do qual você está iniciando!

OpenMediaVault storage management interface

Configurar um disco rígido requer que você crie um sistema de arquivos.

Uma vez que você tenha um disco vazio, você pode clicar no botão Criar. Dê um rótulo de volume para o seu disco, certifique-se de que EXT4 está selecionado para o sistema de arquivos e clique em OK.

OpenMediaVault create file system window asking for device, label, and file system type

Isso provavelmente levará alguns minutos para ser concluído.

Create file system process window in OpenMediaVault

Uma vez que isso esteja feito, clique em Fechar, então selecione /dev/SDA1 e depois clique no botão Montar. Você então precisará clicar em Aplicar para que o disco seja montado.

OpenMediaVault storage management interface after a file system has been created

O botão aplicar pode ser encontrado no canto superior direito da tabela de dispositivos.

Obtendo Acesso

A seguir, você precisará de um usuário para acessar o compartilhamento de arquivos. Vá até Gerenciamento de Direitos de Acesso⇒Usuário no menu e clique em Adicionar.

Access right management interface in OpenMediaVault with the Add User button being highlighted

Agora que terminamos com o armazenamento, precisamos configurar o gerenciamento de direitos de acesso.

Defina o nome de usuário e senha e clique em Adicionar. Então, você precisará Aplicar as alterações como fez ao montar o novo sistema de arquivos. Agora você tem um usuário para acessar o compartilhamento de arquivos.

Add user interface with data for name, comment, email, and password filled in

Precisaremos configurar opções básicas ao criar um novo usuário.

Vá até Gerenciamento de Direitos de Acesso⇒Pastas Compartilhadas e clique em Adicionar.

Simplemente dê um nome para o compartilhamento como “logdata” e clique em Adicionar. Idealmente, você também deve definir as permissões para negar o acesso a “outros”, assim apenas usuários podem acessar a pasta.

OpenMediaVault add shared folder interface

Criar uma pasta compartilhada permite ao usuário que acabamos de criar transferir dados de e para o armazenamento conectado à rede.

Uma vez que o compartilhamento é criado, você pode selecioná-lo e então clicar no botão Privilégios para adicionar seu usuário.

Access rights management window with emphasis on the privileges button above the folders table

Você quer selecionar a caixa de verificação Leitura/Escrita e então clicar em Salvar. Novamente, você precisa aplicar essas mudanças.

Shared folder privileges window with the recently created user highlighted

Finalmente, clique no botão ACL, ao lado do botão Privileges que você clicou anteriormente, e faça o mesmo, então Aplique e Feche.

Modify shared folder ACL window in OpenMediaVault

Habilitando Acesso à Rede

Vá até a opção de menu Serviços - SMB/CIFS. Esta é o servidor de arquivos no dispositivo.

Clique em Habilitar, depois em Salvar e Aplicar.

Services > SMB/CIFS settings window in OpenMediaVault

Não se esqueça de clicar no botão aplicar para salvar as alterações que você fez.

Uma vez que você habilitou o servidor SMB, clique na aba Compartilhamentos e depois clique no botão Adicionar. Você pode selecionar o compartilhamento previamente criado e então clicar no botão Salvar, depois Aplicar as alterações.

Add share interface for the recently created shared folder in OpenMediaVault

No Windows, você pode ir para \\odroidxu4\ (ou \\endereçodeip\) no Explorador de Arquivos para ver se o compartilhamento está configurado corretamente. Insira as credenciais que você criou anteriormente quando solicitado.

Windows security prompting for credentials to connect to the ODroid HC1

Windows operating system network folder showing the accessible shared folder on the OCDroid

Podemos usar nossas credenciais para ver e acessar a pasta compartilhada no OCDroid de qualquer outro computador na rede.

Ao copiar para ou do drive, você deve ver taxas de transferência de cerca de 95-115Mbytes/segundo em uma rede cabeada, o que é aproximadamente tão rápido quanto uma rede gigabit pode transferir. O throughput no HC1 é bastante impressionante.

Outros Métodos de Acesso

OpenMediaVault também suporta outros meios de transferência de arquivos. Se o dispositivo que gera todos os dados que você precisa armazenar não suporta sistemas de arquivos SMB (compartilhamentos Windows), então você pode querer também habilitar o FTP. O FTP não é tão rápido quanto o SMB, geralmente falando, no entanto, se você está usando um microcontrolador, é mais fácil de implementar do que os compartilhamentos SMB são.

O servidor FTP também pode ser bastante útil para navegar no servidor de um local remoto. Se você deseja acessar o servidor FTP de um microcontrolador básico, provavelmente não vai querer que o SSL seja obrigatório, apenas opcional. Se você precisa executar o servidor FTP sem SSL, você deve acessar o servidor pela internet via um túnel VPN para a rede à qual o NAS está conectado.

Habilitando o FTP

Vá para Serviços⇒FTP, marque a caixa Habilitar e clique em Salvar.

Services > FTP settings window in OpenMediaVault

Agora você pode ir para a aba Compartilhamentos e Adicionar o compartilhamento assim como fez para o compartilhamento SMB acima. Não esqueça de clicar em Salvar e depois Aplicar as mudanças de configuração.

dd share interface with the enable checkbox ticked

Conclusão

Se você está procurando construir um servidor de armazenamento de dados remoto que use muito pouca energia e ocupe apenas um pequeno espaço, o Odroid HC1 é uma excelente opção. Se você estiver em um ambiente muito úmido ou molhado, talvez queira aplicar uma camada de revestimento conformável e dar à placa uma generosa cobertura em ambos os lados, e potencialmente no interior do seu disco rígido também (apenas se você estiver usando um disco de estado sólido). O revestimento conformável garantirá que as placas não sofram de corrosão.

O grande dissipador de calor no Odroid adiciona uma grande rigidez à configuração, então há uma preocupação mínima de que o conector SATA sofra alguma fadiga devido a vibrações ou impactos. Combinado com um disco de estado sólido, isso lhe dá um dispositivo de armazenamento conectado à rede robusto.

Como mencionado anteriormente, para a máxima robustez, seria ideal ter os dados espelhados automaticamente em dois discos. Melhor ainda, poderíamos ter vários discos em RAID 6, mas então estaríamos bem além dos escopos de ‘compacto’, ‘baixo consumo de energia’ e ‘custo efetivo’. Os dissipadores de calor/gabinetes Odroid HC1 são empilháveis, então seria possível simplesmente usar dois NAS juntos e usar sincronização de software como o RSync, que o OpenMediaVault pode configurar para você, no segundo sistema para copiar arquivos do primeiro. Ao sincronizar os dois sistemas, você possuiria alguma capacidade de failover e retenção de dados caso um disco falhe.

Gostaria de saber mais sobre como o Altium Designer® pode ajudá-lo com seu próximo design de PCB? Fale com um especialista na Altium.

Sobre o autor

Sobre o autor

Mark Harris is an engineer's engineer, with over 16 years of diverse experience within the electronics industry, varying from aerospace and defense contracts to small product startups, hobbies and everything in between. Before moving to the United Kingdom, Mark was employed by one of the largest research organizations in Canada; every day brought a different project or challenge involving electronics, mechanics, and software. He also publishes the most extensive open source database library of components for Altium Designer called the Celestial Database Library. Mark has an affinity for open-source hardware and software and the innovative problem-solving required for the day-to-day challenges such projects offer. Electronics are passion; watching a product go from an idea to reality and start interacting with the world is a never-ending source of enjoyment. 

You can contact Mark directly at: mark@originalcircuit.com

Recursos relacionados

Documentação técnica relacionada

Retornar a página inicial
Thank you, you are now subscribed to updates.