E ai pessoal, hoje vamos falar sobre armazenamento de arquivos

Como sempre não vou enrolar com contando a história do freenas ou dos sistemas de arquivos, se você está procurando por um artigo com este conteúdo é bem provável que conheça sobre Linux / JAILS / ZFS e Rclone.

O que me motivou a escrever este guia

Foi muito difícil encontrar algum artigo na internet que tratasse deste assunto, para muitos técnicos de T.I atualmente tratar de arquivos não passar de compartilhar uma estação Windows com todos os dados gravados em um único disco, isso não é nenhum problema porém é um ambiente extremamente básico que para algumas cargas de trabalhos pode significar Inoperância desnecessária.

No final do artigo vou deixar alguns links de canais no youtube que você deveria assistir, não relacionados diretamente com este artigo mais atualmente eu acredito que é conhecimento essencial para qualquer técnico ou entusiasta em T.I.

Avisos importantes

Para os Haters, informo que a versão escolhida para este laboratório do Freenas foi a 9.10.2-U6 devido a sua possibilidade de instalação com menos que 4GB de memória ram, o que as novas versões do Freenas não permite.

Questões de segurança de acesso e compartilhamento não serão abordadas neste laboratório.

Propósito deste LAB

  • 1 – Instalar o FREENAS 9.10.2-U6 em uma máquina virtual com Virtual Box.
  • 2 – Montar o RAID – Z1 para unidade de disco que recebera os arquivos do OneDrive.
  • 3 – Instalar o RCLONE em um JAIL do BSD para realizar a conexão com OneDrive.
  • 4 – Configurar o RCLONE e executar comandos básicos de sincronização.
  • 5 – Compartilhar os arquivos em rede Windows com SMB Share.

Neste primeiro passo não iremos configurar a sincronização automática com scripts automatizados devido que o foco é a configuração do ambiente

Então vamos la “MÃO NA MASSA”

1. Instalar o FREENAS 9.10.2-U6 em uma máquina virtual com Virtual Box.

Crie uma nova maquina virtual no Virtual Box, com as seguintes configurações

  • TIPO: BSD
  • Versão: FREEBSD (64-bits)
  • Memória 2048 MB (se você tiver mais disponível fique a vontade para disponibilizar)
  • Disco VDI Dinamicamente alocado de 16GB (Freenas O.S)
  • Controladora Sata adicional com mais 3 Disco VDI Dinamicamente alocado de 16GB como no exemplo abaixo.
  • Placa de rede em modo Bridge para acesso ao sistema Guest pelo nosso navegador

Inicie a instalação da maquina virtual e siga estes passos abaixo

Ele vai reclamar da quantidade de memória informando que o sistema pode ficar terrivelmente lento, como o nosso propósito é apenas um laboratório pode prosseguir, em casos de instalações para ambiente de produção utilize mais memória para seu NAS.

Após esta tela será apresentado o tipo de boot de inicialização escolha a opção BIOS, quando finalizar a instalação reinicie o Freenas e aguarde a tela do sistema subir, e vamos para o próximo passo.

2 – Montar o RAID – Z1 para unidade de disco que recebera os arquivos do OneDrive.

Acesse o Freenas pelo endereço de IP informado na sua maquina virtual no meu caso foi o http://192.168.0.54, na janela de login informe a senha do usuário root que foi cadastrada durante a instalação.

Na configuração inicial selecione suas opções de time zone e clique em avançar (NEXT)

Vamos criar um novo Pool com o nome de ONEDRIVE e tipo de armazenamento MEDIA (RAID Z1), neste formato nossos 3 discos de 16GB irá fornecer um POOL com 28GB.

Atenção todos os dados dos discos serão apagados neste procedimento então cuidado quando for realizar o procedimento em ambiente de produção.

Os próximos passos você pode clicar em (NEXT) sem configurar nada e confirme o Wizard Inicial, será criado o novo Pool solicitado e reiniciado os serviços do freenas

Após finalizar já é possível verificar o volume do ONEDRIVE na aba STORAGE, e agora vamos iniciar a configuração da JAIL com RCLONE

3 – Instalar o RCLONE em um JAIL do BSD para realizar a conexão com OneDrive.

Acesse a aba Jails e realize a primeira configuração, você poderia inserir outro volume para armazenar as suas JAILS lembrando que os plugins também são instalados neste formato, por hora vamos utilizar o próprio volume ONEDRIVE.

Após realizar a configuração clique novamente em JAILS Adicionar Jail e nomeie ela como rclone, aguarde até finalizar a instalação, este processo pode ser bem demorado se você estiver utilizando os 2GB de memória.

Assim que concluir de dois cliques na JAIL rclone para entrar na edição escolha Modo Avançado, remova o DHCP e insira manualmente um endereço de IP livre em sua rede, também é importante desabilitar o modo VIMAGE.

Selecione novamente a JAIL e clique no menu SHELL,

Agora a instalação do rclone é bem simples, siga estes passos.

Primeiro de um PING para certificar que o sua JAIL está acessando recursos de internet, vamos fazer um teste com o comando abaixo

ping google.com

Se estiver tudo certo ele irá responder ao PING, caso contrário reinicie a JAIL no ícone restart no menu de ferramentas e tente realizar o PING novamente. Tudo deve funcionar agora.

Abra o SHELL novamente e digite o comando abaixo para instalar.

pkg update && pkg install rclone 

Será atualizado o catálogo do repositório e iniciado a instalação do RCLONE, quando solicitado confirme com “y” para prosseguir, repita também o procedimento quando solicitado a instalação do RCLONE.

Assim que finalizado execute o comando abaixo para consultar a versão e se o pacote foi instalado

rclone -V

Agora vamos adicionar um armazenamento / storage para nossa JAIL

Comece criando um novo data set em /mnt/ONEDRIVE, chamado cloud (ou qualquer nome que preferir), com o tipo de compartilhamento para Windows.

Clique em Armazenamento -> Adicionar Armazenamento e informe a Jail rclone, o diretório de origem /mnt/ONEDRIVE/Cloud e o diretório de destino /media, e precione OK/.

Mais um passo finalizado agora vamos configurar o RCLONE

4 – Configurar o RCLONE e executar comandos básicos de sincronização.

Primeiramente nós vamos acompanhar o guia de configuração no site oficial do RCLONE, MICROSOFT OneDrive

Acesse novamente o Shell da JAIL rclone e execute os comandos nesta ordem obs:(execute os comando que estão em negrito)

# rclone config

n/s/q> n (selecione n para nova configuração)

name> onedrive

Storage> onedrive

client_id> (deixe e branco e de enter)

client_secret> (deixe e branco e de enter)

y/n> n (selecione n para negar a configuração avançada)

b/p> p (selecione p para personal account caso seja uma conta pessoal do OneDrive)

y/n> y

Agora que você confirmou que irá utilizar configuração automática informado no último “y”, o RCLONE está aguardando o acesso de auto configuração, acesse o navegado da sua maquina host com o endereço de ip da sua JAIL que no meu caso ficou assim http://192.168.0.55:53682/auth

Você será endereçado para a página de login no portal da Microsoft

Ao fazer login o redirecionamento retorna para localhost o que vai gerar um erro, altere apenas localhost para o endereço da sua JAIL que está instalado o RCLONE e de enter

E pronto SUCESS!

Agora o seu RCLONE já deve ter recebido o TOKEN de autenticação como na imagem abaixo, confirme a última opção para ” y/e/d> y ” e finalize com a opção e/n/d/r/c/s/q> q (para sair do remoto atual)

INFO: Nós realizamos a configuração sem informar CLIENT_ID e CLIENT_SECRET para testes em laboratório é suficiente, para configurar um ambiente de produção mais seguro crie as suas chaves seguindo este tutorial

Agora estamos prontos para rodas alguns comandos básicos do RCLONE

Continuando no Shell da sua Jail RCLONE, execute o seguinte comando para coletar a informação da lista principal de diretórios do seu OneDrive

rclone lsd onedrive:

Para este laboratório eu criei uma pasta no OneDrive com o nome de rclone, se eu quiser consultar os diretórios existentes dentro dela executo o seguinte comando

rclone lsd onedrive:rclone

Agora se eu quiser sincronizar os arquivos desta pasta com a unidade que montamos em /MEDIA executo o seguinte comando

rclone sync onedrive:/rclone /media -P

após a sincronização vamos consultar os arquivos da na pasta media com o comando

ls -ln /media

Vou abrir minha pasta do OneDrive no Windows para vocês verem que a sincronia ocorreu corretamente.

Existem vários outros comando que são possíveis executar com o RCLONE, e diversos serviços em nuvem que podem ser configurados com ele, então a partir de agora você pode se divertir na documentação oficial

E vamos para o último passo disponibilizar em rede o acesso a estes arquivos.

5 – Compartilhar os arquivos em rede Windows com SMB Share.

Voltando para a interface do nosso Freenas vamos configurar um usuário para acesso ao compartilhamento.

Configurei meu usuário da com as seguintes informações

  • Usuário : rclone
  • Grupo Principal : wheel
  • senha : 123 (só para laboratório hein 😅)
  • Microsoft Account : True

Vamos alterar as permissões no dataset que criamos para armazenar os arquivos do OneDrive em /mnt/ONEDRIVE/Cloud para Windows, confirme também se o grupo proprietário é o mesmo definido para nosso usuário Wheel

Agora clique na aba compartilhamentos – > Compartilhamentos Windows (SMB) e adicionar compartilhamento, informe o caminho da pasta que vamos compartilhar /mnt/ONEDRIVE/Cloud e de um nome para o compartilhamento, o meu deixei como Onedrive

Você será solicitado a habilitar o serviço de SMB, clique em SIM, após isso clique no ícone de configuração do serviço de SMB e associe o endereço de IP do Freenas que no meu caso é o 192.168.0.54, no meu caso eu alterei o nome Netbios para labnas

Agora você pode testar se o endereço IP está corretamente configurando acessando o cmd no Windows

>ping labnas

Agora basta acessar no explorer o compartilhamento \\labnas\onedrive inserir as credenciais do usuário que criamos rclone /123 e feito

BÔNUS!!! 😎

Vamos copiar alguns arquivos para este compartilhamento e sincronizar os mesmo de volta para nossa conta do OneDrive.

No meu caso deletei todos os arquivos e subi 10 wallpapers do Rick and Morty.

Agora vamos voltar no Shell da nossa JAIL rclone e executar o comando abaixo para enviar as alterações para nosso OneDrive

rclone sync /media onedrive:/rclone -P

Agora basta volta na sua conta do OneDrive e ver que os arquivos foram sincronizados

Canais do youtube que você deveria acompanhar

Como eu disse no começo deste artigo segue ai alguns canais “obrigatórios” para enriquecer o seu conhecimento

Considerações finais!

É isso ai galera, esse laboratório foi para mostrar o poder do RCLONE e como fazer isso com um servidor executando Freenas com sistemas de Arquivos ZFS em RAID-Z1.

Uma observação final – o RAID de qualquer tipo não é um substituto para backups – ele não protege você contra exclusão acidental, ransomware etc. Embora os instantâneos comuns do ZFS possam fazer parte de uma estratégia de backup.

As possibilidades de aplicar esse formato em produção são várias, espero que com este tutorial eu possa ter colaborado com o estudo de outras pessoas, e quem tiver opiniões ou dúvidas deixe nos comentários ai, em breve pretendo fazer um vídeo replicando este laboratório que fizemos.

Muito obrigado e até a próxima.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *