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.
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.
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.
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.
SSD Samsung 860 EVO e ODroid HC1 após a compra.
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!
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.
Baixe a imagem “OMV_4_Odroid_XU4_HC1_HC2.img.xz” de Sourceforge.
Baixe qualquer programa de gravação de imagem de sua escolha. Neste artigo, trabalharemos com o Etcher (https://etcher.io/) porque é simples de usar.
Insira o cartão microSD no seu computador.
Abra o Etcher e selecione a imagem baixada, depois o seu drive.
Clique em Flash!
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.
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.
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.
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.
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.
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
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.
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!
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.
Isso provavelmente levará alguns minutos para ser concluído.
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.
O botão aplicar pode ser encontrado no canto superior direito da tabela de dispositivos.
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.
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.
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.
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.
Você quer selecionar a caixa de verificação Leitura/Escrita e então clicar em Salvar. Novamente, você precisa aplicar essas mudanças.
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.
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.
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.
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.
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.
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.
Vá para Serviços⇒FTP, marque a caixa Habilitar e clique em Salvar.
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.
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.