07 novembro 2025

TrueNAS Core = FreeNAS

 


 

 

TrueNAS-CORE/FreeNAS

Rápido e Fácil

Servidor Open-Source Gratuito de Arquivos e Backup Versionado para Windows, Mac, Linux, Dropbox e Google Drive.

Integrando Windows, Mac e Linux através de Compartilhamento de Arquivos SMB.

O Servidor Open-Source TrueNAS-CORE/FreeNAS possui recursos de Storage e interface WEB para configuração.

É baseado no FreeBSD e dele herda o ZFS, Raid-Z, discos de Spare, SSDs de Cache, Snapshots, compressão de dados e deduplicação de arquivos.

Sem Licenças onerosas, o TrueNAS-CORE/FreeNAS consegue usar Snapshots para fazer rapidamente Backups Versionados dos Arquivos da Rede Local, do Dropbox e do Google Drive ocupando pouco espaço.

O TrueNAS-CORE/FreeNAS protege você do Ransomware e das corrupções silenciosas de discos.

Edson Kazuto Tagusagawa edson.kazuto@gmail.com 55-11-94955-1100


 

Para minha esposa Taeko, meus filhos Rosana, Luisa, Roberto, Lucas, Talita e para meus queridos irmãos Eduardo e Eliana


Sumário

  • Sobre o autor
  • Introdução
  • Revisão
  • Histórico do TrueNAS-CORE/FreeNAS
  • Open-Source
  • Fork
  • Licença BSD
  • Rede Local ou LAN
  • Servidor de Arquivos
  • VSS
  • Mirror ou Espelhamento
  • Ransomware
  • Backup
  • Backup Versionado
  • Storage
  • Snapshot
  • ZFS
  • Raid-Z
  • FreeBSD
  • SAMBA ou Servidor SMB
  • ACL
  • Tipos de ACLs no SMB (não Posix):
  • Dropbox
  • Google Drive
  • Mais sobre o TrueNAS-CORE/FreeNAS
  • TrueNAS-CORE/FreeNAS
  • Os requisitos mínimos para TrueNAS-CORE/FreeNAS
  • Configuração ideal para testes
  • Instalando e usando o VirtualBox
  • Configuração para VM do TrueNAS-CORE/FreeNAS
  • Criando a VM do TrueNAS-CORE/FreeNAS
  • Configurando a VM do TrueNAS-CORE/FreeNAS
  • Primeiros Passos da Configuração
  • Vamos entender o TrueNAS-CORE/FreeNAS
  • Testando os discos
  • HDDSCAN.exe
  • Smartmontools
  • Tabela SMART
  • Usuários e Grupos do TrueNAS-CORE/FreeNAS
  • Exemplo de Usuários e Grupos
  • Pool
  • Stripe
  • Mirror (Espelhamento)
  • Raid-Z
  • Raid-Z2
  • Raid-Z3
  • Spare
  • Cache
  • Dataset
  • Share
  • AFP
  • NFS
  • WebDAV
  • SMB
  • iSCSI
  • SSH/Rsync
  • Abrindo a Edição da ACL
  • Posix
  • 3 tipos de acesso aos arquivos Posix
  • Dono e Grupo Default do Dataset
  • Variáveis owner@ e group@
  • rwxrwxrwx
  • Configurando as ACLs
  • Informações padrão de um Dataset novo
  • Como se organiza a Tela das ACLs
  • Lado Esquerdo da Tela
  • Tornando owner@ e group@ mais seguro
  • Lado Direito da Tela
  • ACL 3 (ti, crie sempre esta ACL):
  • ACL 4 (Acesso Total para everyone@):
  • ACL 5 (Dataset para somente leitura):
  • ACLs sem owner@, group@ e everyone@
  • Snapshot no ZFS
  • Formas de Snapshot
  • Snapshot Manual
  • Snapshot automático (Cron)
  • Nomes de Snapshots
  • Alvo do Snapshot
  • Sem Snapshot se não houver alterações
  • Restaurando um Snapshot
  • Voltando uma versão e sobrescrevendo
  • Clonando um Snapshot
  • Copiar apenas um arquivo específico
  • Backup do Dropbox e do Google Drive
  • A operação de sincronia entre o TrueNAS-CORE/FreeNAS e o Dropbox ou Google Drive é agendada
  • Por não ser on-line, a operação de Backup é Cliente-Servidor
  • Cada serviço de sincronia precisa de um Dataset respectivo
  • Caso você deseje urgentemente uma solução 100% on-line
  • Modos de sincronia com a nuvem
  • Modo SYNC
  • Modo COPY
  • Modo MOVE
  • Configuração recomendada para Backup Versionado de Dropbox e do Google Drive
  • Quantidade de Contas Simultâneas de Dropbox e do Google Drive
  • Scrubs
  • Backup das Configurações
  • Comentários importantes
  • Desempenho Real de um TrueNAS-CORE/FreeNAS
  • Problema com Credenciais do Windows
  • Controladores de HD e Hardware Certificado
  • Overview
  • Configurando um TrueNAS-CORE/FreeNAS sem usuários
  • Roteiro da configuração para uso sem usuários
  • Criando uma Pool com um único disco
  • Criando uma Pool com um Stripe de discos
  • Faça um Backup das configurações
  • Agora você vai apagar a Pool antiga
  • Faça um backup das configurações
  • Para criar uma Pool de Stripe
  • Criando o Inseguro-Dataset
  • Criando o Inseguro-Share
  • Criando ACL everyone@ Full Control
  • Testes de uso
  • Criando um TrueNAS-CORE/FreeNAS básico e seguro
  • Roteiro para TrueNAS-CORE/FreeNAS com 1 usuário
  • Criando usuário e um grupo para os direitos de acesso
  • Criar um grupo no TrueNAS-CORE/FreeNAS
  • Criando o User = usuario com Grupo Principal = TrueNAS-CORE/FreeNAS
  • Antes de criar a Pool faça um Backup das configurações:
  • Apagando a Pool antiga
  • Faça um backup das configurações
  • Pool-Raid-Z com disco Spare e Cache
  • Criando o Seguro-Dataset
  • Criando o Seguro-Share
  • Criando a ACL usuario Full Control
  • Testes de uso
  • Criando um TrueNAS-CORE/FreeNAS Corporativo
  • Convertendo o TrueNAS-CORE/FreeNAS do exemplo anterior em um Servidor Corporativo
  • Roteiro para implantar múltiplos usuários no TrueNAS-CORE/FreeNAS
  • Criando usuários
  • Testando acessos criados
  • Um sub-Dataset somente leitura que somente 1 usuário pode alterar
  • Roteiro para pasta somente leitura alterável pelo User = usuario:
  • Criando um sub-Dataset = Circulares dentro do Seguro-Dataset
  • Criando uma ACL específica para o sub-Dataset
  • Testando
  • Utilizando uma ACL temporária
  • Roteiro para adicionar novas ACLs temporárias a um Dataset.
  • Editando ACL do Dataset Circulares
  • Testando
  • Utilizando ACL de grupo
  • Roteiro
  • Criando o grupo = Circulares
  • Acrescentando os usuários = usuario, user1 como membros do grupo = Circulares
  • Selecionando o Dataset Circulares e editando sua ACL para que o Group = Circulares seja o administrador da pasta
  • Logando com os 4 usuários e verificar se as ACLs estão funcionando.
  • TrueNAS-CORE/FreeNAS Simulando um Projeto Real
  • Roteiro
  • Apagando Seguro-Dataset
  • Backup do TrueNAS-CORE/FreeNAS
  • Listando Grupos, usuários, pastas e direitos de acesso
  • Grupos:
  • Usuários  / grupos secundários:
  • Estrutura de pastas
  • Datasets Secundários / grupos administradores
  • Criando os grupos departamentais, de projeto, de controle e mistos.
  • Criando usuários associando-os as grupos
  • Criando o Windows-Dataset
  • Criando o Windows-Share
  • Criando ACL do Windows-Share no modo somente leitura
  • Criando os sub-Datasets do Windows-Dataset
  • Criando diferentes ACLs
  • Configurando a pasta publico:
  • Configurando a pasta adm:
  • Configurando a pasta circulares:
  • Configurando a pasta circulares_gerentes:
  • Configurando a pasta comercial:
  • Configurando a pasta compras:
  • Configurando a pasta diretoria:
  • Configurando a pasta financeiro:
  • Configurando a pasta gerentes:
  • Configurando a pasta prod:
  • Configurando a pasta rh:
  • Configurando a pasta ti:
  • Testando configurações
  • Exemplo de alteração no Dataset publico
  • Alterando ACLs para eliminar grupo wheel dos arquivos e diretórios
  • Fazendo Backup do Dropbox e do Google Drive
  • Roteiro para implantar o Backup da nuvem no TrueNAS-CORE/FreeNAS:
  • Criando o Group = nuvem
  • Adicionando o User = usuario no Group = nuvem
  • Criando um novo usuario para o Dropbox
  • Criando um novo Dataset para o Dropbox
  • Criando um novo Share para o Dropbox
  • Criando um novo ACL para o Share do Dropbox
  • Ativando as Credenciais do Dropbox
  • Ativando a Tarefa de Sincronia da Cloud (Cloud Sync Task)
  • Rodando o primeiro Backup do Dropbox manualmente
  • Criando o Backup do Google Drive
  • Adicionando o User = usuario no Group = nuvem
  • Criando um novo usuario para o Google Drive
  • Criando um novo Dataset para o Google Drive
  • Criando um  novo Share para o Google Drive
  • Criando um novo ACL para o Share do Google Drive
  • Ativando as Credenciais do Google Drive
  • Ativando a Tarefa de Sincronia da Cloud (Cloud Sync Task)
  • Rodando o primeiro Backup manualmente
  • Desbloqueando o Google Drive
  • Recriando o ACL para o Share do Google Drive
  • Fazendo Backup no TrueNAS-CORE/FreeNAS
  • Fazendo Snapshots manualmente.
  • Restaurando um Snapshot completo
  • Restauração manual de 1 arquivo
  • Automatizando o Backup Versionado
  • Roteiro dos Backups automatizados
  • Agendando backup do Pool-Raid-Z
  • Agendando backup do financeiro
  • Quebrou o HD
  • Roteiro
  • Removendo 1 HD
  • Removendo Segundo HD
  • Testando Raid-Z
  • Recolocando 1 HD
  • Recolocando segundo HD
  • Testes Finais
  • Conclusões


 

Sobre o autor

Edson Kazuto Tagusagawa é Analista de Sistemas formado pela Fatec-SP.

Estudou também na Escola Técnica Federal de São Paulo, atual IFSP, Escola Politécnica da USP, Escola de Comunicação e Artes da USP e Faculdade de Economia, Contabilidade e Atuária da USP.

Semestralmente, desde 2017, ministra palestras inaugurais sobre Open-Source na disciplina de Software Livre na Fatec-SP nos cursos de Análise e Desenvolvimento de Sistemas.

Iniciou sua carreira na Itautec em 1988 e em 2002 ingressou no Universo Open-Source utilizando Servidores Red Hat Linux.

Participou de diversos cursos na 4Linux realizando treinamentos de Linux, de Segurança de Servidores, de Zimbra, de Bacula e de Zabbix.

Com o passar dos anos, incorporou as tecnologias do TrueNAS-CORE/FreeNAS e do Pfsense que são baseados no FreeBSD, o qual utiliza o sistema de arquivos ZFS, Raid-Z e Snapshot.

Especializou-se no firewall para Linux Shorewall, trabalhando na implantação de redes com múltiplas conexões de Internet, com criação de DMZs e VPNs através do OpenVPN.


 

 

Introdução

Graças ao TrueNAS-CORE/FreeNAS nunca foi tão Rápido e Fácil montar um Storage usando hardware de baixo custo, mas com alta segurança, redundância e eficiência.

O TrueNAS-CORE/FreeNAS mostrou que é possível criar um projeto Open-Source Gratuito de alto valor agregado com tecnologia de Storage para todos os públicos, especialmente as pequenas e médias empresas e pessoas físicas que necessitam de segurança para seus dados a custo zero.

Grandes empresas também se beneficiam desta Tecnologia graças ao irmão mais velho do TrueNAS-CORE/FreeNAS, o TrueNAS, um Applience que já vem com Hardware Certificado e suporte 24x7.

 Seja qual for o seu uso ou o seu porte é importante saber que seus Arquivos, seu Dropbox e seu Google Drive podem ser Versionados no TrueNAS-CORE/FreeNAS.

Com o Backup Versionado eles podem ser armazenados com segurança e protegidos do Ransomware graças aos Snapshots do ZFS que possibilitam um Backup seguro e eficiente.


 

Revisão

Qual é a origem do nome TrueNAS-CORE/FreeNAS?

O que é Open-Source?

O que é Fork?

O que é Licença BSD?

O que é Rede Local ou LAN?

O que é Servidor de Arquivos?

O que é VSS?

O que é Mirror ou Espelhamento?

O que é Ransomware?

O que é Backup?

O que é Backup Versionado?

O que é Storage?

O que é Snapshot?

O que é o ZFS?

O que é Raid-Z?

O que é FreeBSD?

O que é o SAMBA ou Servidor SMB?

O que é ACL?

O que é o Dropbox?

O que é o Google Drive?

Mais sobre o TrueNAS-CORE/FreeNAS

 

Se você sabe isto tudo, pode pular este capítulo, mas para quem não conseguiu responder a todas estas perguntas seguem explicações básicas de cada item que você vai precisar saber.

 Histórico do TrueNAS-CORE/FreeNAS

O TrueNAS-CORE/FreeNAS é um projeto gratuito baseado no FreeBSD e no SAMBA.

Muito além de gratuito, o TrueNAS-CORE/FreeNAS é Open-Source, distribuído com a Licença BSD.

O TrueNAS-CORE/FreeNAS começou em 2005.

A Sigla NAS significa Network Attached Storage = Armazenamento Conectado à Rede.

O NAS nada mais é do que um Servidor Dedicado ou Applience que exerce o papel de Servidor de Arquivos.

O TrueNAS-CORE/FreeNAS começou como um NAS de baixo custo e permitiu o fácil compartilhamento de arquivos em rede utilizando hardware doméstico numa época em que isto era difícil e caro.

Hoje o TrueNAS-CORE/FreeNAS evoluiu para o TrueNAS uma solução completa profissional de altíssima performance que integra as mais avançadas tecnologias de Armazenamento de Dados em uma interface gráfica WEB de fácil configuração e Hardware Certificado com suporte 24x7.

Open-Source

Open-Source, ou Código-Fonte Livre, ou ainda Software Livre é uma filosofia de desenvolvimento de Tecnologias com o foco no compartilhamento universal e gratuito do conhecimento.

Para quem não sabe o que é Código-fonte, ele é a matriz, a receita de bolo que origina o Aplicativo que você utiliza no seu notebook ou smartphone.

O Windows tem um Código-Fonte, o Android tem um Código-Fonte, o TrueNAS-CORE/FreeNAS tem um Código-Fonte, ou seja, ter acesso ao Código-Fonte permite a você alterar, criar novos recursos no Software, conhecer os segredos do Software, etc.

Existem diversos tipos de Licenças Open-Source, as mais conhecidas são a GPL e a BSD.

Quando você desenvolve um Software adotando a Licença BSD por exemplo, você libera o acesso do seu Código-Fonte para qualquer pessoa que deseje auditá-lo, alterá-lo, tomar posse dele para utilizar em um projeto novo sem que esta pessoa precise pagar algo ou dar satisfações dos novos usos para o criador original.

PlayStation 3 e 4, MacOS, IOS (do Iphone) são exemplos de sistemas que hoje são pagos e fechados e que utilizaram o Código-Fonte do FreeBSD.

Fork

Fork é um acontecimento frequente no universo Open-Source e nada mais é que uma derivação de um Código Fonte Open-Source em um novo produto ou vertente.

Por exemplo, o banco de dados MySQL que teve um Fork gerando o MariaDB.

Outro exemplo é o Oracle Linux que derivou do Red Hat.

Ou o Centos que também derivou do Red Hat.

E mais recentemente o navegador da Microsoft Edge que derivou do Chrome da Google.

Como o Código Fonte é Open-Source qualquer pessoa pode, nas condições da licença, derivar o Software e gerar uma nova vertente também Open-Source ou não, dependendo do tipo de licença original.

Licença BSD

Texto da Licença BSD de 2 cláusulas:

“Copyright <YEAR> <COPYRIGHT HOLDER>

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.”

O texto acima da Licença BSD é inserido como comentário dentro do Código-Fonte do Software que é então distribuído.

Rede Local ou LAN

Rede Local ou LAN (Local Area Network) é um grupo de computadores fechados, que compartilham um mesmo Endereço de Rede IP através do qual se comunicam usando o protocolo TCP/IP.

Estes computadores não são acessíveis para quem está na Internet, pois estão protegidos por um Firewall/Gateway, que é um destes computadores.

O Firewall/Gateway possui uma configuração especial pois é dotado de 2 placas de rede:

- uma placa de rede ligada à LAN

- outra placa de rede ligada à WAN (Internet).

O Firewall/Gateway é o único dispositivo da LAN que possui esta configuração, portanto é a porta de saída para a Internet.

Este dispositivo o Firewall/Gateway, ou roteador se preferir, nem sempre é um micro ou servidor, na maior parte das vezes é um roteador Wi-fi ou um modem de internet que faz o papel de roteador.

Por ter 2 placas de rede o Firewall/Gateway torna-se o elo entre a Internet e os micros da LAN permitindo aos computadores que não possuem contato com a Internet navegar nela através do Firewall/Gateway.

Se o Firewall/Gateway é desligado os micros da Rede Local ou LAN não conseguem mais acessar a Internet, por isso sua configuração é tão importante.

Servidor de Arquivos

Servidor de Arquivos é um dos computadores da LAN que pode ser Windows, Linux, Mac, Unix, TrueNAS-CORE/FreeNAS, Storage ou um NAS dedicado.

Geralmente o Servidor de Arquivos possui um IP-Fixo para ser mais facilmente localizado na Rede Local (LAN).

Como o nome diz o Servidor de Arquivos permite a concentração, armazenamento e compartilhamento centralizado de arquivos na Rede Local (LAN).

Ele hospeda um serviço especial de compartilhamento de arquivos SMB que utiliza as portas 137, 138, 139 e 445 do protocolo TCP/IP para escutar as tentativas de acesso ao Compartilhamento de Arquivos.

Por centralizar os dados da Rede Local (LAN), ele também é o lugar mais adequado para realizar um Backup.

Ao fazermos o Backup do Servidor de Arquivos, também copiamos todos os dados mais importantes compartilhados da Organização, com isso temos uma proteção maior contra o Ransomware.

VSS

Shadow Copies ou VSS (Volume Snapshot Service) é o recurso do Windows de copiar arquivos mesmo quando eles estão abertos em uso.

O Windows 10 e Servidores Windows oferecem Shadow Copies.

Se você não habilita Shadow Copies, o TrueNAS-CORE/FreeNAS não permite este recurso no Share SMB.

Habilite sempre que possível o VSS no Windows Share, mas não se esqueça que isso pode consumir espaço.

O VSS permite acessar versões mais antigas de arquivos como planilhas, documentos, etc.

Usando o Windows Explorer dentro de um Compartilhamento de Arquivos SMB com o Shadow Copies ativo você:

> clica com o mouse em um arquivo

> clica no arquivo com o botão direito do mouse

> seleciona Propriedades

> clica em Versões Anteriores

> Seleciona a versão anterior que deseja

> clica em Restaurar

Pronto, agora você conseguiu restaurar uma versão antiga do arquivo através do VSS

Mirror ou Espelhamento

Mirror ou Espelhamento é o recurso mais antigo de redundância de HDs.

Espelhamento para quem não sabe é um recurso que sincroniza 2 HDs deixando-os com o mesmo conteúdo.

Caso 1 dos 2 HDs falhe fisicamente, o HD que restou continua trabalhando e o Servidor não para.

Porém no Espelhamento, se você altera uma planilha ou apaga um arquivo importante, ele é apagado nos 2 HDs de forma simultânea.

Você perde tudo em todos os HDs assim que a sincronia termina.

A Sincronia, ao mesmo tempo que é um fator de segurança contra problemas físicos, também é um grande perigo para sua informação lógica, pois pode alterar e apagar coisas importantes num piscar de olhos em ambos os HDs.

Isto acontece no Espelhamento pois apagar um arquivo não é um erro físico, é uma operação lógica normal autorizada pelo usuário ou pelo Sistema Operacional.

O Espelhamento não detecta isso como um problema deixando acontecer tragédias.

Resumindo: Espelhamento o protege do dano físico, como a queima de um HD, mas não do dano lógico que é um arquivo alterado, ou apagado, ou criptografado por um Ransomware.

Ransomware

Ransomware é um vírus que infecta de forma furtiva seu computador, tablet, smartphone, servidor, NAS, ou Storage.

Enquanto você não percebe a presença do Ransomware, ele rouba os seus dados, criptografando-os e deixando-os inacessíveis, para depois cobrar bitcoins pelo sequestro dos seus dados criptografados.

Caso você não pague o resgate seus dados ficam embaralhados por um programa de segurança cuja senha só o hacker conhece.

Talvez o que você não saiba é que um ataque de Ransomware pode durar meses sem que você perceba.

O hacker, vai tentar invadir todos os micros da Rede Local (LAN) e principalmente os Servidores de Arquivos, Sistemas e Bancos de Dados, deixando neles Backdoors, ou acessos privados que são usados pelos hackers para voltar a qualquer momento no computador ou servidor invadido.

A única forma de escapar de um Ransomware é possuir uma estratégia de Backup bem planejada e regularmente testada.

Este Backup contra o Ransomware precisa estar armazenado em um lugar Off-Line ou HD Externo normalmente desligado, pois recursos como Mirror (Espelhamento de Discos) e HDs acessíveis pelos usuários são facilmente atingidos pelo Ransomware.

Backup

Backup ou Cópia de segurança é um recurso indispensável para te salvar do Ransomware.

O Backup consiste em copiar de forma versionada os seus dados em pelo menos 3 lugares diferentes: 1 cópia no seu Servidor, outra cópia em outro disco de backup separado inacessível pelos usuários normais e uma terceira cópia em um equipamento externo removido fisicamente.

A terceira cópia física externa permite que torne-se possível recuperar as informações versionadas mesmo que o prédio do Servidor pegue fogo e seja destruído completamente, como foi o caso das Torres Gêmeas nos EUA em 11 de Setembro.

Se você grava sempre um Backup sem Versionamento “usando sempre o mesmo nome para os arquivos copiados” você está fazendo apenas um Espelhamento pois cada Backup Novo se sobrepõe ao Backup Antigo e você só possui 1 versão de retorno.

Com 1 versão de retorno se o dado que você precisa foi escrito na semana passada você não consegue mais recuperá-lo, pois você só tem o dia de ontem armazenado.

Dropbox e Google Drive também fazem Espelhamento e por isso não podem ser considerados uma forma de Backup Verdadeira, apenas uma estratégia de compartilhamento de dados, ou no máximo um Espelhamento mais demorado.

O Dropbox e Google Drive podem ser afetados pelo Ransomware, por isso muito cuidado.

Backup Versionado

Versionamento de Backup para quem não sabe é guardar uma sequência de versões diárias, semanais, mensais ou anuais por um dado período, por exemplo:

- versões de 10 em 10 minutos de uma pasta muito importante da rede para guardar por 3 dias

- versões de hora em hora das 8:00 às 18:00 dos arquivos da rede para guardar por uma semana

- os últimos 365 dias (você terá 365 versões diferentes das pastas do Servidor)

- as últimas 5 semanas (você guarda 5 versões dos últimos 5 domingos)

- os últimos 12 meses (você terá 12 versões do primeiro dia de cada mês do Servidor)

- os últimos 5 anos (você terá 5 versões dos últimos 5 anos)

Com o Backup Versionado você consegue retornar os dados originais a partir das versões armazenadas no Storage com grande segurança e precisão pois estas informações estão preservadas de forma eficiente e estão inacessíveis para os usuários comuns e para o Ransomware.

Storage

Storage é um equipamento/sistema muito avançado de armazenamento de alta capacidade e performance.

O Storage combina diversos tipos de discos, SSDs e Robôs de Fitas Magnéticas para garantir uma ampla gama de configurações além de possuir a capacidade de gerar rapidamente Snapshots, que implementam rotinas de backup avançadas e mais precisas.

Ele é utilizado em Datacenters e Servidores Corporativos e seu custo é elevado devido à sua complexidade.

Na essência ele continua sendo um Servidor de Dados, mas os protocolos e conexões que ele utiliza são diferentes para garantir baixa latência e alta taxa de transferência de dados, como fibra ótica por exemplo.

Quando você possui um Storage (Sistema de Armazenamento), o Backup é feito com Snapshots que permitem realizar de forma transparente o Backup Versionado.

Com Snapshots você economiza espaço, realiza Backups de forma rápida e ganha flexibilidade na restauração dos dados.

O TrueNAS-CORE/FreeNAS, como Servidor de Arquivos derivado do FreeBSD, possui a Tecnologia de Storage incorporada via Software no seu File System ZFS, assim sendo, você consegue fazer Snapshots de tudo o que está armazenado no TrueNAS-CORE/FreeNAS a custo zero, bastando para isso ter espaço físico disponível para armazenar os dados dos Snapshots.

Snapshot

Snapshot é um recurso de fotografar o sistema de arquivos, congelando um determinado dado para uso posterior:

- para backup

- para auditoria

- para realização de testes

Todo Storage possui a capacidade de fazer Snapshots de forma rápida e transparente.

Os usuários usam normalmente o Storage, lendo, gravando arquivos nele enquanto o Snapshot é gerado simultaneamente ao uso dos arquivos, mesmo quando eles estão sendo alterados.

O Storage realiza manual ou automaticamente o Snapshot implementando o Backup sem necessidade de parar o Servidor.

O LVM do Linux também suporta Snapshot, porém sua implementação não é dinâmica e tem que ser planejada previamente, pois depende do hardware para viabilização.

Quando você usa Snapshot no LVM do Linux alterações de configuração só podem ser feita na instalação do Servidor ou nas Manutenções dele, o que tira toda a flexibilidade do recurso caso a configuração do Snapshot mude a toda hora.

ZFS

O Zettabyte File System, ou ZFS é um sistema avançado de armazenamento de dados, que implementa tecnologias de Storage em micros comuns.

Em linhas gerais ele é superior aos demais sistemas de arquivos pois ele permite a criação transparente e instantânea de Snapshots infinitos, desde que haja espaço nos discos.

O ZFS consegue fazer Snapshots infinitos pois ele possui uma propriedade que os demais sistemas de arquivos não possuem:

O ZFS jamais grava arquivos em lugares onde já houve alguma informação anterior.

O ZFS sempre busca novos lugares e só grava em lugares vazios.

Por não sobrescrever dados e manter o registro das versões anteriores de arquivos de forma indexada, o ZFS consegue voltar rapidamente no tempo e criar Snapshots sem uso de processamento dos dados.

Para criar um Snapshot, o ZFS congela uma relação de dados antigos de um determinado instante em um bloco referenciado que não ocupa nenhum espaço adicional ao já ocupado anteriormente.

Para funcionar corretamente, recomendamos não usar mais do que 80% da capacidade de espaço do disco, para que sempre haja mais espaço vago disponível para o ZFS consumir.

Outro recurso fantástico do ZFS é sua auto verificação, uma ação agendada semanalmente, para verificar os discos e identificar precocemente falhas antes que o dado se corrompa.

Para tanto ele realiza testes chamados scrubs que detectam as corrupções silenciosas de dados, fornecendo alertas de falhas iminentes nos discos.

Raid-Z

Raid-Z é uma implementação do ZFS semelhante ao Raid-5 em termos de funcionamento físico.

A partir de 3 discos o Raid-Z sacrifica um dos discos para paridade oferecendo recursos de redundância para o espaço dos 2 discos que sobraram, por exemplo:

Com 3 discos de 1 Terabyte, ao invés de termos 3 Terabytes de armazenamento, temos apenas 2 Terabytes, porém quando qualquer dos 3 discos quebra, o Raid-Z não para pois ele suporta a falha de qualquer um dos 3 discos.

Se 2 discos quebrarem simultaneamente no Raid-Z ele para de funcionar pois isto está além do seu escopo.

O Raid-Z também é possível a partir de discos de tamanhos diferentes, mas a Pool criada terá como base o tamanho do menor dos discos.

Por exemplo, se você tiver para formar um Raid-Z:

- 2 HD de 1Terabyte

- 1 HD de 2 Terabytes

- 1 HD de 4 Terabytes

Iremos criar um Raid-Z considerando 4 unidades de 1 Terabyte, o resultado é um Raid-Z de tamanho disponível de 3 Terabytes, mas com a redundância de um disco, o que em certos casos é mais importante do que espaço disponível.

O Raid-Z por ser uma implementação via Software oferece Snapshots, ao contrário de um Raid-5 padrão.

Existe também:

- Raid-Z2 que é semelhante ao Raid-6 e que suporta a perda de até 2 discos

- Raid-Z3 que seria um Raid-5 com 3 discos de paridade e, portanto, pode perder até 3 discos.

Pode parecer exagero usar um Raid-Z3, mas quando temos Raids com 16 discos, 3 discos de paridade é muito pouco.

FreeBSD

O FreeBSD é um sistema operacional Posix.

O FreeBSD não é Linux, pois seu kernel derivou de outra versão de Unix, o 386BSD.

O FreeBSD é um sistema operacional completo ao contrário do Linux que é apenas um kernel.

Apesar disto os 2, Linux e FreeBSD, são Posix.

Por isso o FreeBSD pode rodar programas feitos para o Linux, bastando para isso recompilar os códigos fonte destes programas com um compilador C.

Outra diferença é que o FreeBSD é voltado ao uso em servidores modo texto, muito mais seguros e que consomem menos recursos por não necessitarem de interface gráfica.

O FreeBSD pode também ser usado em Desktops, porém o Linux oferece muito mais opções de Interfaces Gráficas neste caso.

A Netflix por exemplo usa muito o FreeBSD devido à sua alta performance.

SAMBA ou Servidor SMB

O SAMBA é fruto de um trabalho de engenharia reversa feito por usuários Linux para trazer para o Linux o serviço de Compartilhamento de Arquivos do Windows que na época era de código fechado e não tinha nenhuma documentação sobre seu funcionamento.

O protocolo do SAMBA é o SMB que usa as portas 137,138, 139 e 445 do protocolo TCP/IP.

Se você bloquear estas portas no seu Firewall, o SAMBA não vai funcionar.

ACL

ACL quer dizer Access Control List, ou seja, Lista de Controle de Acesso, e sua função é garantir a segurança do acesso aos arquivos do protocolo SMB em Sistemas de Compartilhamento de Arquivos Windows e SAMBA.

Obviamente se você não é administrador de redes, ou não trabalha com Open-Source esse papo de ACL é algo que você nunca viu, pois, usuários normais não utilizam estes recursos no dia a dia.

As ACLs não obedecem à especificação Posix, são um tipo diferente de controle de acesso próprio do Windows e podem ser atribuídas a muitas pessoas e a muitos grupos no mesmo diretório.

Temos basicamente 4 tipos de ACLs.

Tipos de ACLs no SMB (não Posix):

- read : arquivos e diretórios somente leitura

- write : permite criar, modificar e apagar arquivos e diretórios

- modify : permite apenas modificar arquivos e diretórios (não existe no Posix)

- Full Control : Acesso Completo (não existe no Posix)

As opções acima são os tipos de ACLs que podem ser criadas no TrueNAS-CORE/FreeNAS em pastas chamadas de Datasets.

Dropbox

O Dropbox, está disponível para Windows, Mac e Linux e permite compartilhar dados com várias pessoas através da Internet.

O Dropbox é um serviço de nuvem para compartilhamento de arquivos que estabelece um mecanismo de sincronia (Espelhamento) entre a nuvem Dropbox e um programa cliente Dropbox instalado no Sistema Operacional do usuário.

Tudo que está no seu Desktop dentro da pasta do Dropbox é espelhado com a nuvem e acessado por outras pessoas desde que você autorize o acesso delas.

Estas pessoas precisam também ter o Dropbox instalado em seus Sistemas Operacionais.

Quando você não compartilha estes dados da nuvem e usa somente para si, o Dropbox se torna uma opção bem simples de Backup não Versionado.

Lembre-se que o Dropbox é um Espelhamento, não um Backup seguro e confiável pois não é Versionado.

Se planilhas e dados forem alterados no seu notebook, o Dropbox também vai copiar a planilha danificada para a nuvem e tudo estará perdido quando a sincronia entre o seu notebook e a nuvem terminar.

Por isso, neste livro ensinamos como se implementa um Backup Versionado off-line do seu Dropbox em um servidor TrueNAS-CORE/FreeNAS para garantir que nada mais seja perdido.

E o melhor de tudo, sem custos de licença ou serviço.

O TrueNAS-CORE/FreeNAS é Open-Source e gratuito e você só gasta com Hardware.

Google Drive

O Google Drive é a versão do Dropbox criado pelo Google, basicamente eles fazem a mesma coisa, porém o Google Drive é vinculado ao usuário Google do seu Gmail e seu objetivo é ser usado 100% WEB.

Caso você deseje sincronizar suas pastas do Google Drive com uma pasta no seu computador isto também é possível através do programa installbackupandsync.exe, mas isto não é muito recomendado, pois se fosse para isso, o Google faria mais divulgação deste serviço.

Apesar do nome Backup and Sync, a ferramenta do Google faz apenas Espelhamento e não um Backup Versionado.

Com o TrueNAS-CORE/FreeNAS, além de conseguir fazer o Backup correto do seu Google Drive você fica totalmente imune ao Ransomware.

Você passa a ter infinitas versões dos seus arquivos do Google Drive sem nada pagar, desde que é claro, haja espaço físico para armazenar suas versões.

Mais sobre o TrueNAS-CORE/FreeNAS

O TrueNAS-CORE/FreeNAS é uma Distribuição derivada do FreeBSD dedicada ao compartilhamento de arquivos em uma Rede Local (LAN).

A próxima versão já será a integrada com o TrueNAS, o nome TrueNAS-CORE/FreeNAS vai desaparecer.

Ambas as distribuições serão uma só: o TrueNAS.

A dupla (TrueNAS-CORE/FreeNAS + TrueNAS) será substituída pelo (“TrueNAS Core” + TrueNAS).

O TrueNAS para quem não sabe é a versão comercial e paga do TrueNAS-CORE/FreeNAS que já vem na forma de Appliance, ou seja, com o Hardware Certificado, pronto para uso, com suporte 24x7.

O Código-Fonte do “TrueNAS Core” será o mesmo do TrueNAS, porém o TrueNAS terá alguns recursos mais avançados ativados, os quais para o usuário normal não farão a menor diferença.

Mesmo assim, tão próximo da mudança, ainda vale a pena conhecermos o TrueNAS-CORE/FreeNAS pois é o que temos de imediato

O TrueNAS-CORE/FreeNAS é Open-Source e pode ser alvo de um Fork.

Conhecê-lo, mesmo que vá mudar de versão ou nome não é tempo perdido pois do jeito que ele está já é muito útil.

O TrueNAS-CORE/FreeNAS é um Storage Open-Source de baixo custo pois suporta nativamente o uso de Snapshots.

Por ser Open-Source, pode ser baixado gratuitamente e sua instalação é rápida e fácil, desde que se entenda como ele funciona (teoria).

Ele permite o compartilhamento de arquivos nos formatos

- SMB do Windows

- NFS do Unix/Linux

- AFP da Apple

- WebDAV

- Serviço de blocos iSCSI.

- Rsync

Sua instalação se dá a partir de um DVD.

O TrueNAS-CORE/FreeNAS pode ser instalado em um pendrive simples ou em 2 pendrives em Mirror para garantir maior segurança.

Com o TrueNAS-CORE/FreeNAS instalado (e dando boot) pelo pendrive você consegue otimizar ao máximo o espaço dos HDs e SSDs que passam a ficar 100% disponíveis para a criação das Pools (os Raids por Software do Sistema de Arquivos ZFS).

A configuração e administração do TrueNAS-CORE/FreeNAS ocorre em uma estação remota através de interface WEB de forma leve e flexível, mas com alta facilidade de uso e segurança.

O TrueNAS-CORE/FreeNAS possui recursos de backup de suas configurações via WEB, e os arquivos de backup das configurações é muito pequeno.

Por ser baseado no FreeBSD, o TrueNAS-CORE/FreeNAS usa o ZFS e o Raid-Z, isso o torna altamente flexível e econômico em termos de espaço de disco devido à capacidade de criar rapidamente Snapshots para uso em Backups Versionados.

Os Raids do TrueNAS-CORE/FreeNAS ainda suportam discos de Spare e SSDs de Cache, sem que você tenha que pagar nada mais por isso.


 

TrueNAS-CORE/FreeNAS

No momento da edição deste livro o TrueNAS-CORE/FreeNAS está na versão 11.3-U2.1

O instalador do TrueNAS-CORE/FreeNAS é uma imagem ISO

Atualmente ele pode ser baixado do site: do TrueNAS mas está atualmente descontinuado, mas disponíviel para Download

www.TrueNAS-CORE/FreeNAS.org/download-TrueNAS-CORE/FreeNAS-release

Você normalmente grava a iso num DVD para realizar a instalação no TrueNAS-CORE/FreeNAS.

Como usaremos o VirtualBox não haverá necessidade de gerar o DVD.

Para instalar o TrueNAS-CORE/FreeNAS é suficiente ter um PC sem nenhum HD ou SSD.

Você instala o TrueNAS-CORE/FreeNAS num Pendrive de Boot permanentemente conectado numa porta USB.

Concluída a instalação você conecta os HDs e SSDs nas portas SATA livres do seu PC mantendo o Pendrive de Boot Permanente que contém o Sistema Operacional do TrueNAS-CORE/FreeNAS.

O ZFS utiliza fortemente a memória RAM para fazer Cache dos HDs e o valor recomendado é 8Gb de RAM, mas para testes 2Gb já são suficientes caso sua máquina hospedeira tenha apenas 4Gb de RAM.

Os requisitos mínimos para TrueNAS-CORE/FreeNAS

- Memória RAM de 8GB

- CPU 64bits de preferência Intel, não roda em CPUs 32bits

- 1 pendrive Sandisk de 16Gb

- pelo menos 1 HD de 1 Tb para dados

- 1 HD de 1 Tb para Mirror é opcional para garantir a redundância.

Configuração ideal para testes

- Memória RAM de 16GB

- CPU de preferência Intel

- 2 pendrives Sandisk de 32Gb

- pelo menos 4 HD de 2 Tb para montar um Raid-Z

- 1 SSD M2 para cache


 

Instalando e usando o VirtualBox

Usaremos o VirtualBox, assim não é necessário ter 2 micros para usarmos o TrueNAS-CORE/FreeNAS facilitando muito a parte prática que pode ser congelada e retomada quando necessário.

Recomenda-se ter pelo menos 8 Gb de RAM e 60Gb de espaço em disco.

Caso você só tenha 4Gb no seu notebook ou computador, terá de limitar a memória da máquina virtual do TrueNAS-CORE/FreeNAS em 2048Mb, que é o mínimo do mínimo.

Baixe o VirtualBox na página:

https://www.virtualbox.org/wiki/Downloads

https://download.virtualbox.org/virtualbox/6.1.6/VirtualBox-6.1.6-137129-Win.exe

Baixe também as configurações de extensão do VirtualBox.

https://download.virtualbox.org/virtualbox/6.1.6/Oracle_VM_VirtualBox_Extension_Pack-6.1.6.vbox-extpack

Instale ambos os programas clicando 2 vezes no VirtualBox e depois no arquivo de Extensões.

Veja a seguir a tela inicial do VirtualBox:

Configuração para VM do TrueNAS-CORE/FreeNAS

- Memória RAM de 4GB (o mínimo necessário é 2Gb)

- 1 núcleo de CPU

- 1 disco para sistema de 16Gb

- 3 discos de 20 Gb para montar um Raid-Z

- 1 disco de 20 Gb para Spare

- 1 disco de 10 Gb para Cache

Criando a VM do TrueNAS-CORE/FreeNAS

Abra o VirtualBox e clique no botão Novo para criar uma nova máquina virtual:

Preencha :

- Nome = TrueNAS-CORE/FreeNAS

- Tipo = BSD

- Versão = FreeBSD (64bits).

Clique em “Próximo”

 

Preencha a memória com 4096Mb de RAM, mas não menos que 2048Mb caso você tenha apenas 4Gb de memória no seu computador

Clique em “Próximo”

 

Escolha “Criar um novo disco rígido Virtual agora”

E clique no botão “Criar”

 

Escolha o formato “VDI (Virtual Disk Image)”

E clique no botão “Próximo”

 

Clique em disco “Dinamicamente alocado”

E no botão “Próximo”

 

Escolha o tamanho de “16Gb”

E clique em “Criar”

A VM está criada.

 

Pronto, agora a VM do TrueNAS-CORE/FreeNAS foi criada, mas ainda não está pronta para uso, pois precisamos configurar os discos adicionais, a imagem do DVD e a interface de rede.


 

 

Configurando a VM do TrueNAS-CORE/FreeNAS

Agora você tem uma Máquina Virtual (VM) para uso neste livro.

Se você preferir pode usar um PC de verdade.

Para todos os efeitos vamos utilizar máquinas virtuais pois nos permitem Clonar e realizar Backups dos testes com maior facilidade.

Clique em Configurações

 

Escolha a imagem ISO do TrueNAS-CORE/FreeNAS

 

 

 

Adicione as controladoras adicionais AHCI e NVMe

 

 

 

Para criar os 4 HDs de 20 Gb na controladora AHCI

Selecione a linha da controladora AHCI e clique no ícone de “adiciona disco rígido

 

 

 

 

 

Selecione o HD com o mouse e clique em Escolher

Vai ficar assim:

 

Selecione agora a linha da Controladora NVMe e clique no ícone de criar HD

 

Anexando os discos veja como deverá ficar:

- Controladora IDE = TrueNAS-CORE/FreeNAS.vdi, TrueNAS-CORE-xxx.iso

- Controladora AHCI = TrueNAS-CORE/FreeNAS_1.vdi, TrueNAS-CORE/FreeNAS_2.vdi, TrueNAS-CORE/FreeNAS_3.vdi, TrueNAS-CORE/FreeNAS_4.vdi

- Controladora NVMe = TrueNAS-CORE/FreeNAS_5.vdi

Não esqueça de ativar o disco TrueNAS-CORE/FreeNAS_5.vdi como Estado Sólido.

 

Configure agora a placa de rede em modo Bridge e clique em “OK’

- Adaptador 1 > Placa em modo Bridge > OK

Clique em OK para finalizar as Configurações.

 

Agora é só iniciar o TrueNAS-CORE/FreeNAS

 

Escolha a opção “1” de Install/Upgrade

 

 

O TrueNAS-CORE/FreeNAS vai detectar que você tem menos de 8Gb de RAM e vai pedir para autorizar a continuidade da instalação:

 

Selecione a unidade de boot de ada0 de 16Gb com a barra de espaço

 

Prossiga clicando em Yes

 

Digite a senha e anote para não esquecer e tecle OK.

 

No VirtualBox escolha Boot via Bios, pois o modo UEFI não funcionou no VirtualBox, mas em computadores reais e novos o modo UEFI é a única opção que funciona.

 

Preste atenção na próxima tela.

Caso a barra de progresso demore demais, troque o seu pendrive de boot quando estiver usando um PC.

Quando instalei o TrueNAS-CORE/FreeNAS num servidor de verdade eu estava usando um pendrive genérico e esta etapa demorou demais.

Então troquei por um pendrive Sandisk original de 16Gb e a demora acabou, em poucos minutos a instalação terminou.

Aqui, como estamos no VirtualBox não pode demorar muito, mais ou menos uns 10 minutos no máximo.

 

 

No VirtualBox escolha 4 = Shutdown System pois você terá que desabilitar o CD-ROM para liberar o Boot para o TrueNAS-CORE/FreeNAS

 

Agora entre nas configurações da máquina virtual:

 

A seguir remova o CD de inicialização do VirtualBox e o deixe Vazio como na figura abaixo

 

Inicie a VM do TrueNAS-CORE/FreeNAS

 

Anote o Endereço IP que aparece na tela do seu TrueNAS-CORE/FreeNAS

Pronto agora é só entrar no Navegador de Internet e colocar o endereço HTTP://172.16.1.214


 

 

Primeiros Passos da Configuração

Agora que seu TrueNAS-CORE/FreeNAS está ativo você poderá mudar o IP configurando o servidor DHCP da Rede Local (LAN), caso não saiba o que é isso não se preocupe, pode continuar usando o Endereço IP que foi reconhecido:

HTTP://172.16.1.214

Faça Login com o usuário = root

E a senha que você utilizou e que deveria ter anotado = ???????

 

A tela inicial do TrueNAS-CORE/FreeNAS mostra as configurações principais do NAS:

 

A partir de agora faremos configurações do TrueNAS-CORE/FreeNAS que nada tem a ver com o Compartilhamento de Arquivos, mas que são importantes para o funcionamento do TrueNAS-CORE/FreeNAS.

São por exemplo configurações de rede, de e-mail, de atualizações via Internet, as quais quando feitas oferecem recursos importantes ao administrador que passa a contar com alertas via e-mail e coisas do tipo.

 

A primeira coisa que faremos é alterar o tema de cores do TrueNAS-CORE/FreeNAS para um tema mais claro, para tanto clique na engrenagem que fica no canto superior direito do navegador:

 

Escolha

- Choose Theme = High Contrast

- Clique em UPDATE SETTINGS

 

Clique na Barra Lateral Esquerda em System e depois em General

System > General

- Language = English

- TimeZone = America/Sao_Paulo

- Clique em SAVE

Importante!

Nesta Tela do System > General os botões que ficam em baixo

- SAVE

- SAVE CONFIG

- UPLOAD CONFIG

- RESET CONFIG

Devem ser manuseados com extremo cuidado principalmente o RESET CONFIG

O botão SAVE CONFIG faz o Backup das configurações do TrueNAS-CORE/FreeNAS

O botão do UPLOAD CONFIG faz o Restore das configurações do TrueNAS-CORE/FreeNAS a partir de arquivos de configuração salvos

O botão de RESET CONFIG apaga todas as configurações do TrueNAS-CORE/FreeNAS

 

System > Advanced

- ativar Enable Autotune

- ativar Show Console Messages

- clique em SAVE

 

Antes de prosseguir vamos entrar nas configurações de rede do TrueNAS-CORE/FreeNAS e definir o Gateway e os DNSs para o TrueNAS-CORE/FreeNAS poder enviar e-mails e buscar atualizações na Internet.

O Gateway/Firewall é o equipamento que permite o acesso à Internet como foi explicado na Revisão.

No meu exemplo o Endereço IP do Gateway é 172.16.1.1, mas que na maioria dos casos é:

- Redes Vivo: 192.168.15.1

- Redes Claro/Net: 192.168.0.1

- Roteadores genéricos wi-fi: 192.168.0.1, ou 192.168.1.1, ou 10.0.0.1

Já o DNS não tem variação, vocês podem todos colocar a mesmíssima configuração.

Estes IPs de DNS são do Google (8.8.8.8 e 8.8.4.4) e da Vivo (200.204.0.10) e podem ser utilizados em qualquer lugar do planeta sem necessidade de modificação.

 

As configurações são:

Network > Global Configuration

- IPv4 Default Gateway = 172.16.1.1

- Nameserver1 = 8.8.8.8

- Nameserver2 = 200.204.0.10

- Nameserver3 = 8.8.4.4

 

Precisaremos de um Servidor de envio de email SMTP, e neste exemplo utilizaremos os servidores de e-mail do Google, para tanto você vai precisar de uma conta de Gmail do Google.

Caso você não possua, crie uma para poder seguir com as configurações.

O Gmail vem por padrão com o SMTP desativado, para tanto você precisará ativar este serviço nas configurações do Gmail:

- Confgurações > Encaminamento e POP/IMAP > Ativar Imap > Salvar alterações

 

Mas ainda não acabou, tem que liberar outra opção na sua Conta Google, esta configuração fica escondida pois o SMTP mesmo com SSL é inseguro, para tanto se logue no Gmail e com seu e-mail e senha e acesse o seguinte site na opção Segurança:

https://myaccount.google.com/security

Clique no item Segurança da barra lateral esquerda > Selecione Acesso a App menos seguro

Clique em = Ativar o acesso (não recomendado) >>> como estava antes

Que mudará para = Desativar o Acesso (recomendado) >>> deixe assim

 

Agora Ative a opção Permitir aplicativos menos seguros = ATIVADA

 

Vamos agora configurar o e-mail do root para ativar as mensagens de e-mail automáticas:

Accounts > Users > root > Edit

 

Altere as seguintes informações:

email = edson.tagusagawa@gmail.com (o seu email do Gmail)

Shell = bash:

Observe que o e-mail da figura anterior é necessário para configurar a próxima tela onde você terá que preencher o mesmo e-mail e configurar os parâmetros do servidor SMTP e fazer um “Send Test Mail”.

 

System > Email

- From Email = edson.tagusagawa@gmail.com  (seu email do Gmail)

- Outgoing Mail Server = smtp.gmail.com

- Mail Server Port = 465

- Security = SSL (implicit TLS)

- SMTP Authentication = sim

- Username = edson.tagusagawa@gmail.com (seu email do Gmail)

- Password = ********************

- Clique em = SEND TEST MAIL

 

Se as configurações estiverem corretas vai aparecer a tela abaixo:

Clique em

- CLOSE

- SAVE

 

Agora vamos atualizar o TrueNAS-CORE/FreeNAS:

System > Update

Pronto, as configurações de Sistema estão feitas.

Resumindo, até agora tudo que fizemos não está relacionado ao compartilhamento de arquivos, são configurações básicas, muito úteis, mas que não definem o funcionamento do NAS propriamente dito de forma que você pode muito bem deixar de fazer estas configurações, pois o seu TrueNAS-CORE/FreeNAS vai funcionar normalmente.


 

 

Vamos entender o TrueNAS-CORE/FreeNAS

O TrueNAS-CORE/FreeNAS não é simples, nem intuitivo, e requer um certo estudo teórico para que o administrador possa entender a lógica do seu funcionamento antes de colocar a mão na massa.

Neste capítulo vamos abordar os conceitos usados no TrueNAS-CORE/FreeNAS para implementar um NAS SMB, ou Servidor SAMBA se preferir, conciliando o universo Windows com o universo Posix do FreeBSD.

É preciso ficar bem claro o que é uma Pool, um Dataset e uma ACL.

As configurações serão mostradas depois, passo a passo nos capítulos seguintes, mas agora concentre-se em aprender como o TrueNAS-CORE/FreeNAS se organiza e quais são as etapas para configurá-lo.

Testando os discos

O item Zero é verificar se os discos estão em bom estado.

Muitas vezes temos discos sobrando, mas os mesmos, apesar da boa aparência podem estar comprometidos.

Antes de usar os discos no TrueNAS-CORE/FreeNAS teste-os no seu PC usando o HDDSCAN (Windows) ou o Smartmontools (Linux) para verificar a tabela SMART do mesmo.

HDDSCAN.exe

No Windows devido à interface gráfica fica bem simples realizar a leitura da tabela SMART do HD, basta ligar o mesmo no micro e clicar no botão SMART do HDDSCAN que pode ser baixado facilmente da Internet.

https://hddscan.com/download.html

Caso ele não funcione, existe também o smartmontools para Windows que é mais difícil de usar.

http://www.netpower.fr/sites/default/files/soft/bin/smartmontools-win-6.6-1_0.exe

Instale primeiro e depois no Prompt do DOS

executar o CMD como Administrador

cd C:\Arquivos de Programas\smartmontools for Windows\bin

smartctl.exe -a d:

Smartmontools

No Linux, você precisa instalar o smartmontools para testar o disco /dev/sdb (segundo HD do micro), se for o terceiro HD do micro será /dev/sdc e assim por diante:

- No Debian, Ubuntu e derivados

apt-get update

apt-get install smartmontools

smartctl -a /dev/sdb

- No Red Hat, Centos, e derivados

yum install smartmontools

smartctl -a /dev/sdb

Tabela SMART

Caso os HDs apresentarem erros no item “current pending errors” descarte imediatamente o HD pois ele está comprometido fisicamente de forma irreparável e não é mais confiável.

De qualquer forma se recomenda que sejam apenas utilizados HDs que não apresentem nenhum erro na tabela do SMART.

Usuários e Grupos do TrueNAS-CORE/FreeNAS

A primeira coisa que se faz no TrueNAS-CORE/FreeNAS é criar Usuários e Grupos pois ele é um sistema Posix.

Todo sistema Posix precisa das informações de usuários/grupos/direitos_de_acesso para funcionar.

Nada é feito no Posix sem antes criarmos os usuários e os grupos, já os direitos_de_acesso podem ser atribuídos depois.

Exemplos de Grupos: TrueNAS-CORE/FreeNAS, diretoria, adm, vendas, compras, prod, rh, adv, seg, etc.

Exemplos de Usuários: diretor, supervisor, vendedor, comprador, operário, rh, advogado, segurança, etc.

Exemplo de Grupos Gerais: comunicados, circulares, modelos, pasta_publica, etc.

Criando usuários e grupos, o uso do TrueNAS-CORE/FreeNAS fica mais seguro e organizado e aderente à especificação Posix tão necessária para a segurança.

Sem usuários e sem grupos não é possível controlar e garantir a segurança do TrueNAS-CORE/FreeNAS.

Para criar usuários e grupos entre no menu Accounts.

Exemplo de Usuários e Grupos

User = usuario   (usuário que pode ser compartilhado num cenário simples de uso)

Group = TrueNAS-CORE/FreeNAS

Com as configurações acima já é possível utilizar de forma insegura o TrueNAS-CORE/FreeNAS no modo compartilhado pois todos os usuários da Rede Local (LAN) vão usar o mesmo User = usuario.

Como consequência se alguma pessoa apagar todo o servidor, não será possível saber quem fez isso, pois todos usam as mesmas credenciais de usuário e senha para acessar o Servidor TrueNAS-CORE/FreeNAS.

O Grupo TrueNAS-CORE/FreeNAS é o Grupo Primário de todos os usuários criados neste livro, isto é feito para garantir a compatibilidade de arquivos e diretórios que precisem ser eventualmente compartilhados.

O Grupo TrueNAS-CORE/FreeNAS pode ser substituído pelo nome da empresa (não recomendado), desde que este nome não seja muito comprido, nem tenha acentos ou caracteres especiais.

Pool

A segunda coisa a ser feita no TrueNAS-CORE/FreeNAS é criar a Pool.

Uma Pool nada mais é que um apelido dado à um Raid.

Uma Pool é uma unidade lógica de armazenamento de dados que pode conter 1, 2, 3, vários, dezenas de discos físicos e SSDs.

A Pool agrupa discos físicos e SSDs em conjuntos ZFS que oferecem diferentes graus de tolerância a falha, redundância, cache e performance.

A Pool associa um apelido a cada grupo de discos criado fisicamente, que é o nome da Pool.

O nome da Pool facilita a manipulação e configuração dos recursos físicos que passam a ser tratados pelo apelido criado (nome da Pool) e não mais por códigos complexos que podem confundir e induzir ao erro.

Em um mesmo TrueNAS-CORE/FreeNAS você pode ter múltiplas Pools, por exemplo:

- uma Pools com Stripe

- outra com Mirror

- outra com Raid-Z e Cache

- outra com Raid-Z2 e Spare

Tudo no mesmo TrueNAS-CORE/FreeNAS, imaginem isso sem o uso de Pools para simplificar.

É muito importante saber projetar as configurações das Pools, pois elas serão a Base para a criação dos Snapshots no TrueNAS-CORE/FreeNAS.

Dados que devem estar no mesmo Snapshot precisam também estar dentro da mesma Pool.

A maior unidade lógica que pode ser backupeada com um Snapshot é a Pool, portanto seu projeto deve prever isto.

Vejamos agora as possíveis configurações de Pools:

Stripe

Quando os discos possuem tamanhos diferentes e não precisam de redundância.

O Stripe soma o tamanho dos discos resultando em uma Pool com o tamanho total dos discos que o formam, mesmo que eles sejam de tamanhos diferentes.

O stripe pode ser usado sem problemas no dia a dia e muitos servidores rodam com Stripe por anos sem quebrar, mas recomendamos que esses dados possuam um bom Backup Externo para garantir.

Mirror (Espelhamento)

O Mirror é o método mais antigo e simples de redundância.

Atenção! Mirror não é uma técnica de Backup, é apenas um método de sincronia que pode levar à perda de dados facilmente, pois ele é tolerante a falhas físicas apenas, não a oferece nenhuma garantia contra o Ransomware.

Quando temos 2 discos de mesmo tamanho (Raid-1), ou 4 discos de mesmo tamanho (Raid-10) podemos usar o Mirror (Espelhamento).

Podemos criar facilmente um Mirror com uma quantidade par de discos de mesmo tamanho.

O tamanho resultante de um Mirror é a metade da capacidade total dos discos somada.

O Mirror é muito veloz e exige pouco processamento.

O Mirror usa dois blocos de HDs e espelha um bloco no outro, sincronizando-os.

Em caso de quebra de 1 disco, o bloco de discos que sobrar mantém o Mirror utilizável.

Em um Mirror com 4 discos quando 2 HD falham ao mesmo tempo nem sempre o Mirror sobrevive, por isso recomenda-se para 4 discos usar o Raid-Z2 que suporta perda de 2 discos simultâneos.

A regra geral é evite usar o Mirror, mas às vezes conforme a aplicação ele é necessário pela boa performance.

Raid-Z

De forma grosseira é a implementação do Raid5 no ZFS.

Neste tipo de Pool que pode ser usado a partir de 3 discos, você consome um disco do seu conjunto físico para paridade, desta forma com 3 discos gastos no Raid-Z você tem espaço equivalente a 2 discos para dados, se você perder 1 dos 3 discos, os 2 restantes ficam funcionando normalmente até a troca do disco defeituoso.

Se você tiver preparado um disco de Spare, esta troca é feita automaticamente.

O Raid-Z também pode ser dotado de um disco SSD de Cache para ficar mais eficiente.

O Raid-Z quando configurado no TrueNAS-CORE/FreeNAS é associado a uma Pool, que nada mais é que um apelido para o Raid-Z, com o objetivo de facilitar a organização e uso do TrueNAS-CORE/FreeNAS

Raid-Z2

Idêntico ao Raid-Z, mas com 2 discos de paridade.

Partindo de 4 discos você consegue montar um Raid-Z2.

Atenção: um Mirror de 4 discos (Raid-10), apesar de mais rápido, pode eventualmente perder uma dupla de discos simultaneamente e conforme a combinação dos discos no Raid-10 perder todos os dados!

Já o Raid-Z2 mantém a integridade de todos os dados mesmo perdendo 2 discos simultaneamente em qualquer combinação, seja qual for a ordem dos 2 discos perdidos, pois sua arquitetura é individual, não importando quais foram os 2 discos que quebraram.

Trabalhando com 6 ou 8 discos o Raid-Z2 é muito vantajoso pois o aproveitamento do espaço de dados é superior ao Mirror além da maior disponibilidade em caso de quebras.

Raid-Z3

Idêntico ao Raid-Z, mas com 3 discos de paridade, assim para controladoras de 16 discos, você utiliza 15 discos em Raid-Z3 e deixa um como Spare para substituir automaticamente qualquer dos 15 discos do Raid-Z3 que falhar.

Spare

Pode ser utilizado no Raid-Z, Raid-Z2, Raid-Z3 e Mirror, é um disco reserva que fica ligado o tempo todo no TrueNAS-CORE/FreeNAS e que é utilizado para substituir um disco defeituoso automaticamente, para isso é preciso adicionar o Spare antes de finalizar a criação da Pool.

Cache

Geralmente o Cache é um pequeno disco SSD muito veloz que é utilizado para aumentar a velocidade do TrueNAS-CORE/FreeNAS.

O Cache não é utilizado para armazenamento, contudo, ele guarda em seu interior dados que são acessados com maior frequência para acelerar a leitura e escrita dos mesmos.

Para dar números, um HD mecânico transfere cerca de 100Mb/s e um SSD-M2 chega a transferir 3.500Mb/s, porém a maior diferença é o tempo de latência que é quase instantâneo, comparado ao do HD mecânico que tem em média 20ms.

Um Cache precisa ser selecionado na criação da Pool, portanto, se tiver um SSD instalado no seu Servidor TrueNAS-CORE/FreeNAS não se esqueça de adicioná-lo antes da finalização da criação da Pool.

Dataset

A terceira coisa a fazer é criar o Dataset (Conjunto de Dados).

Dataset é algo extremamente abstrato, mas depois que você aprende a usar é algo extremamente útil e prático.

O Dataset é criado logo abaixo da Pool.

São como subdiretórios de uma Pool.

Você pode ter várias Pools e uma Pool pode ter infinitos Datasets dentro dele.

Com diversos Datasets dentro de uma mesma Pool para cada Dataset pode ter uma configuração diferente, por exemplo:

- Dataset Windows (SMB) com ACL

- Dataset Linux (Generic) com permissões Posix

O Dataset flexibiliza muito o uso da Pool removendo da Pool qualquer configuração de direito de acesso, separando a administração física da administração lógica dos recursos existentes.

Para quem programa, entenda o Dataset como uma variável, que pode ter várias outras variáveis dentro dele.

Os Datasets podem criar árvores hierárquicas com Datasets Pai, vários Datasets Filho, Datasets Netos, etc.

Recomenda-se no máximo 3 níveis de Dataset.

Os nomes dos Datasets devem ser o mais curto possível, pois nomes muito longos costumam dar problemas na prática.

O Dataset em si não tem nenhuma configuração a não ser seu Type = SMB que é definido na sua criação.

Todo Dataset SMB recebe como propriedade um conjunto de ACLs ativas que podem ser configurados e reconfigurados a qualquer tempo.

Todo Dataset precisa ter pelo menos 1 ACL ativa que é obrigatória.

Mas no TrueNAS-CORE/FreeNAS todo Dataset é criado sempre com 2 ACLs padrão para o owner@ e para o group@.

Essas 2 ACLs padrão podem ser alteradas a qualquer tempo pois elas são ACLs inúteis quando automaticamente criadas pelo próprio TrueNAS-CORE/FreeNAS,  pois o padrão deixa as ACLs como bloqueadas impedindo os usuários de acessarem o Dataset.

Cada Dataset é também a base para a criação de Snapshots.

Se você precisar fazer Backup de um pequeno diretório, deverá criar antes um pequeno Dataset para este diretório, pois um Snapshot não consegue selecionar menos do que um Dataset de informação.

Com relação à ocupação da Pool, você pode definir através de Quotas quanto da Pool cada Dataset pode utilizar.

Caso não faça nada, por padrão, todo Dataset recebe automaticamente uma Quota de 80% da Pool e um gatilho de aviso quando a ocupação chega a 95%.

Configurações de Quota podem ser alteradas no item opções avançadas do Dataset.

Share

A quarta coisa a fazer é criar um Share (Compartilhamento).

O Share (Compartilhamento) é um conceito histórico e tecnológico que nos remete ao parque de computadores antigos que temos.

Cada Share está associado à um diferente protocolo de comunicação de rede.

Se temos Macs antigos os mesmos usam AFP como protocolo.

Se usamos Linux/Unix podemos usar o NFS.

Apesar destes diferentes tipos de Share, apenas um deles o SMB/SAMBA é mais utilizado na prática por ser um protocolo universal que interconecta Windows, Mac, Linux, BSD, e Unix, todos os demais são mais específicos e menos usados em Redes Locais (LAN) hoje em dia.

AFP

Apple Filing Protocol, este protocolo já caiu em desuso em favor do SAMBA ou SMB que é mais acessível.

NFS

Network File System, este antigo protocolo é usado entre servidores Unix, Linux e FreeBSD.

WebDAV

É um compartilhamento via Browser.

Não é tão flexível como o SAMBA/SMB pois não permite usuários diferentes e possui muitas limitações de uso.

SMB

Server Message Block, antigo CIFS.

Atualmente este é o protocolo universal que interliga Windows, Mac, Linux, Unix e FreeBSD.

Um Share SMB precisa ter um Dataset criado com Type = SMB.

O Type só pode ser definido na criação do Dataset.

Se você por acidente criar o Dataset como Generic (que é mais voltado ao Linux e não possui ACLs), apague-o e o recrie-o como Dataset com Type = SMB, só assim você poderá criar o Share Windows.

Quando você cria um Share Windows sempre selecione a opção Enable Shadow Copies, pois isso ativa o serviço VSS no servidor TrueNAS-CORE/FreeNAS, algo que pode vir a ser muito útil em caso de alterações indevidas de arquivos.

iSCSI

Este é um serviço de Bloco, e difere dos demais por ser uma partição física virtual de rede que é compartilhada para os micros da Rede Local (LAN).

O cliente do iSCSI acha que está conectado a um HD físico, quando na verdade está acessando um servidor que possui um bloco de armazenamento zvol dentro de uma Pool no TrueNAS-CORE/FreeNAS.

A vantagem do iSCSI do TrueNAS-CORE/FreeNAS, é que o mesmo se beneficia dos recursos avançados do ZFS, pois mesmo que o cliente formate o bloco como NTFS em seu computador, por baixo do bloco iSCSI NTFS existe toda uma camada de ZFS garantindo a integridade dos dados do Cliente Windows, inclusive com a possibilidade de fazer Snapshot.

SSH/Rsync

Além das 5 opções de Share ainda existe uma sexta opção que é o acesso e cópia de arquivos via SSH/Rsync uma vez que o TrueNAS-CORE/FreeNAS é um BSD/Unix, mas isto não é um Share, pois é um acesso tunelado ponto a ponto que usa criptografia.

Você acessa o SSH apenas usando usuários Posix criados no TrueNAS-CORE/FreeNAS.

Abrindo a Edição da ACL

A quinta coisa a fazer é editar a ACL.

Assim como a Pool é uma variável que simboliza um Raid físico, o Dataset é uma variável que simboliza um Conjunto de Dados e respectivos ACLs + Snapshots.

O Dataset em si não tem nenhuma configuração além do Type = SMB, contudo as ACLs de um Dataset podem ser complexas e variadas, tornando muito flexível a administração de um compartilhamento SMB no TrueNAS-CORE/FreeNAS.

A partir de agora todo Dataset que usaremos será do Type = SMB, não usaremos outro tipo.

Dentro de uma ACL teremos basicamente 2 tipos de informação:

- informações User dono do Dataset e Group dono do Dataset

- ACL 1 do owner@, ACL 2 do group@, ... (infinitas ACLs para everyone@, Users e Groups)

O User dono do Dataset e Group dono do Dataset são derivados do Posix que é a base do Sistema Operacional do TrueNAS-CORE/FreeNAS e não podem ser deixados em branco jamais.

As ACLs basicamente são de 3 tipos:

- ACLs de Who = owner@, group@ e everyone@, é apenas 1 cada

- ACLs de Who = User / User = usuario por exemplo, podem ser infinitos

- ACLs de Who = Group / Group = TrueNAS-CORE/FreeNAS por exemplo, podem ser infinitos

Para configurar a ACL do Windows-Dataset você o faz na opção:

Sharing > Windows Share (SMB) > Windows-Share > Edit ACL

Outra forma é:

Storage > Pools > Pool-Raid-Z > Windows-Dataset > Edit ACL

Apesar dos caminhos diferentes o resultado é o mesmo, pois tanto indo pelo Storage, quanto indo pelo Sharing, ambos chegamos à ACL do Windows-Dataset.

Em muitos casos, quando você não coloca um nome num Share SMB, o Share adota o nome do Dataset e assim ambos os caminhos ficariam com os mesmos nomes.

Quando você possui Datasets que são Subdiretórios de um Dataset principal temos:

Storage > Pools > Pool-Raid-Z > Windows-Dataset > Circulares > Edit ACL

Para poder configurar ACLs no TrueNAS-CORE/FreeNAS você necessitará ter um conhecimento básico sobre o Posix, que é o padrão Unix de controlar acessos e segurança.

Apesar da ACL não seguir a orientação do Posix, os arquivos que ficam armazenados no TrueNAS-CORE/FreeNAS podem ser utilizados como trampolim para invasões de hackers devido à direitos de acesso desconfigurados ou muito inseguros.

Posix

Os direitos de acesso Posix são uma informação que diz respeito à segurança do sistema operacional FreeBSD do TrueNAS-CORE/FreeNAS.

Para quem não sabe ainda o Windows 10 agora é Posix também, assim como o Linux e todos os demais sistemas operacionais Unix like como o FreeBSD no qual se baseia o TrueNAS-CORE/FreeNAS.

Os direitos do Posix funcionam em Shares NFS do Linux/Unix e na segurança do Sistema Operacional, mas não em Shares SMB.

Apesar disso, o sistema de arquivos ZFS atribui automaticamente direitos Posix a todos arquivos e diretórios gravados no sistema operacional do TrueNAS-CORE/FreeNAS.

Em caso de uma invasão, direitos Posix errados podem originar grandes problemas devido ao poder que possuem de executar códigos maliciosos introduzidos intencionalmente por Hackers.

3 tipos de acesso aos arquivos Posix

No Posix nem todo mundo tem os mesmos direitos de acesso.

Para controlar o acesso a arquivos e diretórios existem apenas 3 formas de fazê-lo:

- pelo o dono do Dataset – apenas 1 pessoa utiliza este acesso, o dono do Dataset owner@

- pelo o grupo do Dataset - apenas 1 grupo utiliza este acesso, o grupo do Dataset group@

- por todo mundo do grupo everyone@ – todo mundo utiliza este acesso

Dono e Grupo Default do Dataset

Cada Dataset no TrueNAS-CORE/FreeNAS quando é criado possui sempre um dono default e um grupo default que são:

- User default do Dataset = root = owner@

- Group default do Dataset = wheel = group@

Para quem não sabe root é o usuário administrador do TrueNAS-CORE/FreeNAS e wheel é o grupo administrador do TrueNAS-CORE/FreeNAS

Variáveis owner@ e group@

As variáveis owner@ e group@ mudam de valor conforme as configurações do “File Information” de um Dataset que fica do Lado Esquerdo da Tela de uma ACL SMB.

- owner@ é uma variável que recebe o dono atual do Dataset para uso na ACL, caso o dono do Dataset mude, o owner@ muda de valor e passa a ser o do novo dono.

- group@ é uma variável que recebe o grupo atual do Dataset para uso na ACL, caso o grupo do Dataset mude, o group@ muda de valor e passa a ser o do novo grupo.

rwxrwxrwx

Estes são direitos de acesso usados no Sistema Operacional do TrueNAS-CORE/FreeNAS, não no Compartilhamento de Arquivos SMB!

Eles precisam ser conhecidos para configurarmos a segurança do TrueNAS-CORE/FreeNAS com relação à ataques de hackers que possam eventualmente acontecer, principalmente quando deixamos os direitos do grupo everyone@ abertos publicamente.

Basicamente rwx = (direitos de Read, Write, eXecute)

Ou seja no Posix:

- read : permite ler o arquivo ou diretório

- write : permite criar, alterar, apagar arquivo ou diretório

- execute : permite rodar arquivo como executável ou se for diretório, entrar no mesmo.

E porque rwx aparece 3 vezes?

O Posix só suporta 3 ACLs (rwxrwxrwx) por arquivo ou pasta:

- o primeiro (rwx --- ---) é do dono do arquivo (owner@)

- o segundo (--- rwx ---) é do grupo do arquivo (group@)

- o terceiro (--- --- rwx) é de todo mundo (everyone@)

Pois (rwx,rwx,rwx) = (direitos do dono, direitos do grupo, direitos de todo mundo)

Ou (rwx,rwx,rwx) = (direitos do owner@, direitos do group@, direitos do everyone@)

Agora que você já tem uma idéia do que é rwxrwxrwx vamos a outros exemplos Posix.

Você deseja que apenas o dono do arquivo (owner@) leia, altere e execute um arquivo, o direito será:

> rwx------

Agora você deseja que o usuário owner@ e o grupo group@ leiam, alterem e executem um arquivo, o direito será:

> rwxrwx---

Agora você quer que todo mundo somente leia o arquivo sem alterar ou apagar nada o direito será

> r--r--r--

Agora você quer que apenas o dono owner@ leia e escreva no arquivo e todos do group@ somente leiam o arquivo:

> rw-r-----

Por último uma configuração nada recomendável pois é altamente insegura, liberando todos os direitos para todo mundo everyone@ no Posix

> ------rwx    ou   

> rwxrwxrwx

Com isso você agora é especialista em direitos de acesso Posix a arquivos e diretórios.

Configurando as ACLs

A sexta coisa que faremos agora é definir as ACLs pois as ACLs que vem por default no TrueNAS-CORE/FreeNAS não funcionam e nascem bloqueadas para os usuários normais.

Todo Dataset SMB precisa de uma ACL no TrueNAS-CORE/FreeNAS.

Muito importante frisar que a ACL de um Share SMB se sobrepõe aos direitos do Posix rwxrwxrwx que vimos a pouco.

O Compartilhamento SMB (Share SMB) é muito mais flexível, prático de se configurar graças às muitas ACLs que ele pode possuir simultaneamente, algo que no Posix é impossível pois o Posix só permite 3 ACLs, para o owner@, para o group@ e para everyone@.

Não entendeu nada?

Não se preocupe, memorize apenas que a partir de agora cada Dataset SMB precisa ter pelo menos 1 ACL obrigatória.

Informações padrão de um Dataset novo

Quando criamos um Dataset SMB ele vem sempre com 4 elementos padrão:

- Dono do Dataset (vem User = root como padrão, mas pode ser alterado)

- Grupo do Dataset (vem Group = wheel como padrão, mas pode ser alterado)

- ACL 1 Who = owner@ = root / ACL type = Allow / Permissions = Full Control

- ACL 2 Who = group@ = wheel / ACL type = Allow / Permissions = Full Control

 

 

Como na prática ninguém usa o usuário root e o grupo wheel (pois isso é altamente inseguro), o resultado é que as ACLs default (ACL 1 e ACL 2) não permitem acesso ao Dataset que estamos configurando, portanto você pode “INICIALMENTE” ignorá-las e criar outras ACLs mais adequadas ao seu uso pois as mesmas não servem para nada por enquanto.

Como se organiza a Tela das ACLs

A Tela de Configuração de ACLs é dividida na metade, lado esquerdo (File Information) e lado direito (Access Control List).

Lado Esquerdo da Tela

No Lado Esquerdo da Tela (File Information) você define o conteúdo das variáveis owner@ e group@:

- User = root, assim sendo owner@ passa a ser = root

- Group = wheel, assim sendo group@ passa a ser = wheel

Tornando owner@ e group@ mais seguro

Veremos mais a frente que é muito importante alterar o User e o Group default (Lado Esquerdo da Tela) pois as configurações padrão podem criar vulnerabilidades devido aos direitos de acesso Posix dos arquivos e diretórios, mesmo que as ACLs não utilizem eles.

- User = usuario

- Group = TrueNAS-CORE/FreeNAS = Grupo Primário Posix

Com estas alterações de segurança acima sugeridas do Lado Esquerdo da Tela (File Information) as variáveis owner@ e group@ ficam assim:

- owner@ = usuario

- group@ = TrueNAS-CORE/FreeNAS

Lado Direito da Tela

No Lado Direito da Tela (Access Control List) você visualiza as ACLs ativas default que sofreram os efeitos da mudança das variáveis owner@ e group@, mesmo que nada nelas tenha sido alterado:

- ACL 1 Who = owner@ = usuario / ACL type = Allow / Permissions = Full Control

- ACL 2 Who = group@ = TrueNAS-CORE/FreeNAS / ACL type = Allow / Permissions = Full Control

No Lado Direito da Tela (Access Control List) você pode manter estas 2 ACLs default caso elas atendam a sua necessidade com os novos valores de owner@ e de group@ que agora são totalmente seguros, pois não são mais administrativos com superpoderes no Sistema Operacional do TrueNAS-CORE/FreeNAS.

Do modo que ficou, tanto o User = usuario, quanto os usuários do Group = TrueNAS-CORE/FreeNAS podem ter acesso Full Control do Dataset SMB que está sendo configurado.

ACL 3 (ti, crie sempre esta ACL):

Uma boa prática é sempre criar uma terceira ACL supervisora para o seu uso, colocando um Group como Supervisor, o Group “ti”, e dentro deste grupo “ti” coloque o seu User = usuario, sempre que possível, como no exemplo abaixo:

- ACL 3 Who = Group / Group = ti / ACL type = Allow / Permissions = Full Control

Accounts > Groups > ti > 3 pontinhos > Members

Grupo ti = usuario

Com isso agora você passa a ter plenos poderes para acessar o Dataset SMB quando for necessário.

ACL 4 (Acesso Total para everyone@):

Agora tanto o User = usuario quanto os usuários que pertencem ao Grupo TrueNAS-CORE/FreeNAS podem acessar o Windows-Share com Full Control.

Porém as pessoas do grupo everyone@ (todo mundo) não conseguem acessar o Windows-Share, mesmo ele tendo sido criado com a opção de permitir Allow Guest Access.

Isso demonstra a grande segurança do TrueNAS-CORE/FreeNAS que exige de você a liberação manual para o grupo = everyone@.

Para liberar o acesso a todo mundo (everyone@) é preciso que no Lado Direito da Tela das Configurações de ACLs (Access Control List) seja adicionada uma nova ACL 4.

- ACL 4 Who = everyone@ / ACL type = Allow / Permissions = Full Control

Agora sim qualquer pessoa do mundo pode, na Rede Local (LAN), acessar o compartilhamento Windows-Share sem problema, ler, gravar, alterar e apagar arquivos e diretórios.

Este é apenas um exemplo didático, recomenda-se que você nunca faça isso pois é muito inseguro!

ACL 5 (Dataset para somente leitura):

Removendo a ACL 4 e adicionando a ACL 5 para everyone@ restringimos totalmente a capacidade de alterar alguma coisa para o grupo everyone@.

- ACL 5 Who = everyone@ / ACL type = Allow / Permissions = Read

Pessoas desconhecidas podem entrar no compartilhamento Windows-Share e consultar somente leitura arquivos e diretórios, mas não poderão escrever, modificar, nem apagar nada.

ACLs sem owner@, group@ e everyone@

Em certos casos, ou melhor, na maioria dos casos você deveria definir usuários e grupos diferentes de owner@, group@, everyone@ nas ACLs.

Nestes casos você pode forçar configurações específicas das ACLs (Lado Direito da Tela) como as abaixo que não usam as configurações padrão owner@ e group@ das ACLs:

- Who = User / User = diretor / ACL Type = Allow / Permissions = Full Control

- Who = Group / Group = vendas / ACL Type = Allow / Permissions = Read

Snapshot no ZFS

Agora veremos uma breve introdução sobre o uso do ZFS para que vocês possam entender que é muitos simples e fácil de criar Snapshots, bem como igualmente restaurar, clonar e restaurar arquivos específicos de um dado Snapshot.

Formas de Snapshot

Basicamente, o Snapshot pode ser rodado de 2 formas:

Snapshot Manual

O administrador define um momento e um determinado Pool ou Dataset para Backapear com um Snapshot

Snapshot automático (Cron)

Neste caso o Cron (agendador do TrueNAS-CORE/FreeNAS) roda periodicamente a criação das cópias de segurança (Snapshots) com uma regularidade de minutos, horas, dias, meses e dias da semana. Pode ser rodado a cada 10 minutos, a cada hora, a cada dia meia noite ou meio dia, uma vez por mês, uma vez por semana ou ainda em dias específicos da semana.

Nomes de Snapshots

Cada Snapshot possui um nome padronizado como = auto-2020-03-31_12-00

- modo = automático

- ano = 2020

- mês = 03 (março)

- dia = 31

- horário = 12:00

Outro exemplo é = manual-2020-04-11_05-24, neste caso o backup foi feito manualmente.

Alvo do Snapshot

Outro aspecto muito importante do Snapshot é que ele pode rodar diretamente na Pool, englobando todos os Datasets que nele estão contidos de uma única vez

Outra forma é rodar o Snapshot em um Dataset ou sub-Dataset específico, de forma que é possível otimizar ao máximo o espaço e as políticas de Backup, como por exemplo:

- rotina de Snapshot mensal para toda a Pool

- rotina de Snapshot semanal para os arquivos da empresa

- rotina diária para o Sistema Contábil da empresa.

Observe, porém, que a unidade básica de backup e menor unidade enxergada pelo Snapshot é o Dataset, ou o sub-Dataset.

Se você precisar backapear um subdiretório de um Dataset você cria um sub-Dataset dentro deste Dataset com o nome do subdiretório e roda o Snapshot neste sub-Dataset.

Sem Snapshot se não houver alterações

Durante o agendamento do Snapshot existe uma opção muito importante que você precisa ativar:

- não criar um Snapshot se não houver alterações de conteúdo no Dataset ou Pool.

Se isso for ativado só fica registrado um Snapshot quando alguma informação é criada, modificada, ou apagada dentro do Dataset ou da Pool.

Isso é extremamente útil pois você não precisa ficar procurando em cada dia, ou hora, você vai saber quais dias ou horas que houve alterações e se concentrar na busca dos Snapshots com conteúdo, descartando, de cara os dias em que não houve modificações.

Restaurando um Snapshot

A parte fácil foi esta, contudo, o mais importante vem agora, que é o restauro do Snapshot.

Para restaurar um Snapshot você pode fazê-lo de 3 formas:

Voltando uma versão e sobrescrevendo

Nesta opção ideal para ataques de Ransomware, você detecta a última data em que os dados estavam intactos e retorna tudo para a data detectada.

O problema é que os arquivos que foram atualizados depois do ataque e que ainda continuam acessíveis são perdidos

Clonando um Snapshot

Nesta opção você cria um novo Dataset clone/cópia de um Snapshot+Dataset_de_origem, podendo disponibilizar para o acesso este compartilhamento novo via Share.

Isso mantém o original atacado por Ransomware e o Clone em paralelo disponíveis ao mesmo tempo para os usuários poderem salvar tudo que necessitam.

Copiar apenas um arquivo específico

Imagine que você apagou um arquivo específico hoje, ontem, semana passada, mês passado, a 6 meses, etc.

Neste caso, você precisa usar o Shell do TrueNAS-CORE/FreeNAS para entrar no diretório

/mnt/Pool-Raid-Z/Windows-Dataset/.ZFS/snapshot/auto-2020-03-31_12-00

e localizar e copiar os arquivos que você perdeu ou que foram criptografados pelo Ransomware.

Backup do Dropbox e do Google Drive

Vamos falar deste assunto muito importante para evitar falsas expectativas a respeito deste recurso que apesar de ser muito útil tem fortes limitações no que diz respeito à usabilidade.

Pessoalmente, como profissional de Ti eu aprecio e valorizo este recurso, mas pessoas de fora da área, talvez não achem bom o suficiente os recursos que aqui estão apresentados devido à uma limitação de ordem prática, que é a relação entre o TrueNAS-CORE/FreeNAS e os aplicativos de nuvem citados.

A configuração usada para o Dropbox é idêntica à usada para o Google Drive, sem pôr nem tirar.

Por isso, vou explicar rapidamente o recurso de backup nas nuvens, para facilitar a tomada da decisão e evitar implantações desastrosas do recurso que levem à perda de dados.

A operação de sincronia entre o TrueNAS-CORE/FreeNAS e o Dropbox ou Google Drive é agendada

A sincronia entre o TrueNAS-CORE/FreeNAS e a nuvem não é on-line.

Ela é agendada e off-line, configurada para rodar de minuto em minuto, de hora em hora, diariamente, semanalmente ou mensalmente, isso de cara desmotiva muitas pessoas que desejam uma integração totalmente on-line e instantânea, com a atualização imediata de cada alteração feita pelos usuários do serviço de nuvem.

A granularidade do recurso tem suas limitações, por exemplo, se a sincronia demora meia hora, a sincronia não pode ser agendada de 10 em 10 minutos pois senão uma sincronia se sobrepõe a duas outras que não terminaram, causando lentidão no servidor e problemas de consistência nos dados.

Por não ser on-line, a operação de Backup é Cliente-Servidor

No TrueNAS-CORE/FreeNAS uma unidade é Cliente e outra Servidor, de forma que se o Servidor é a nuvem (modo Pull), o TrueNAS-CORE/FreeNAS é apenas o Cliente que pode receber as atualizações e disponibilizar cópias somente leitura para a Rede Local (LAN) e figura para todos os efeitos como um bom Backup do Dropbox ou Google Drive.

No modo Pull você grava, modifica e apaga apenas na nuvem e o TrueNAS-CORE/FreeNAS apenas faz o Backup da mesma, porém com os maravilhosos recursos do ZFS e do Backup Versionado com Snapshot que protegem 100% dos dados da nuvem contra o Ransomware.

Por outro lado, se o TrueNAS-CORE/FreeNAS é o Servidor principal (modo Push), então, a nuvem será a unidade de Backup Secundária que receberá uma cópia que não poderá ser utilizada para alterações por parte dos usuários da mesma, em outras palavras, apenas os usuários da Rede Local (LAN) poderão gravar no Dropbox ou Google Drive por intermédio do TrueNAS-CORE/FreeNAS que é o Servidor.

No modo Push quem acessar a nuvem poderá receber apenas cópias dos arquivos que para ela são transferidos por isso não recomendamos esta configuração modo Push, recomendamos apenas a primeira do modo Pull, pois na atualidade a nuvem é o centro de interligação entre, LAN, Celulares, Tablets e Notebooks.

Cada serviço de sincronia precisa de um Dataset respectivo

É preciso criar um Dataset com o Type = SMB para originar um Share somente leitura (modo Pull) para facilitar o acesso dos dados aos usuários da LAN.

Caso você deseje urgentemente uma solução 100% on-line

Nesse caso a solução é o uso de Linux que possui cliente para Dropbox.

Você poderá com muita facilidade implantar um Servidor de Arquivos Compartilhados SAMBA usando o Centos Linux e um cliente Dropbox para um ÚNICO login.

O SAMBA compartilha os arquivos Dropbox na Rede Local (LAN) em alta velocidade sem a necessidade de fazer sincronização na nuvem.

Os usuários Windows da Rede Local (LAN) não precisam mais ter o Dropbox instalado em suas máquinas.

O Dropbox instalado individualmente em muitos computadores causa lentidão extrema devido ao uso de banda da Internet proporcional ao número de notebooks.

Usando um único acesso (que economiza muita banda de Internet), o Servidor Centos Linux acessa o Dropbox na nuvem e sincroniza todos os dados para que todos os notebooks Windows da Rede Local (LAN) possam acessar.

Como o Linux não oferece os recursos de Storage do ZFS, você não terá Snapshot, e precisará implantar uma rotina de backup Rsync agendada em um segundo HD interno.

Modos de sincronia com a nuvem

O TrueNAS-CORE/FreeNAS oferece para o serviço de Backup da nuvem 3 modalidades de sincronia sendo o único seguro e recomendado o COPY:

Modo SYNC

O SYNC copia da nuvem arquivos modificados para TrueNAS-CORE/FreeNAS apagando inclusive arquivos que foram apagados na nuvem.

Modo COPY

O COPY copia tudo que é criado e alterado na nuvem mantendo no TrueNAS-CORE/FreeNAS inclusive arquivos que já foram apagados da nuvem (isso é muito bom para evitar o Ransomware)

Modo MOVE

O MOVE copia os dados da nuvem e depois os apaga da nuvem, deixando a copia das informações apenas no TrueNAS-CORE/FreeNAS.

Configuração recomendada para Backup Versionado de Dropbox e do Google Drive

Conclusão, a operação ideal de sincronia entre o TrueNAS-CORE/FreeNAS e a nuvem é off-line e agendada 1 ou 2 vezes ao dia, e recomendamos o modo Pull com a opção COPY, sendo que a principal e mais relevante vantagem desta arquitetura é que a mesma é totalmente imune ao Ransomware e à perda de dados, sendo uma importante ferramenta de Backup Versionado graças ao Snapshot do sistema ZFS.

Quantidade de Contas Simultâneas de Dropbox e do Google Drive

Muito importante, um mesmo Servidor TrueNAS-CORE/FreeNAS pode copiar dezenas de contas Dropbox e Google Drive de diferentes pessoas, bastando apenas haver espaço para o armazenamento dos dados e Snapshots.

Assim se você tiver que sincronizar 5 contas Google Drive terá que criar 5 usuários novos no TrueNAS-CORE/FreeNAS e 5 Datasets-Google, um para cada conta a ser sincronizada.

Por outro lado, se você tiver mais 20 contas Dropbox você cria mais 20 usuários novos no TrueNAS-CORE/FreeNAS e mais 20 Datasets-Dropbox, um para cada conta Dropbox.

Caso nestes vários usuários haja arquivos idênticos repetidos, você pode ativar a deduplicação automática de dados que copia apenas 1 arquivo e cria referência para os demais. Mas lembre-se, deduplicação exige memória e processamento adicionais.

A configuração da deduplicação, assim como a configuração da compressão de dados, fica localizada na Pool ou no Dataset.

No Linux você consegue sincronizar apenas uma única conta de Dropbox pois o usuário cliente precisa estar logado na interface gráfica do Linux, o que é uma importante limitação.

Scrubs

Este item é extremamente relevante.

O Scrub é um serviço agendado que roda no TrueNAS-CORE/FreeNAS na opção Tasks/Scrub Tasks.

O Scrub vai garantir que se algo acontecer com os seus discos físicos, tais problemas não passarão despercebidos, pois o Scrub vai verificar o estado de saúde dos discos regularmente toda semana.

Se você não sabe configurar o Scrub, não se preocupe, pois, ele já vem configurado junto com o TrueNAS-CORE/FreeNAS.

Na sua configuração padrão ele roda semanalmente às zero horas ao domingo, dia em que geralmente o Servidor TrueNAS-CORE/FreeNAS está sem uso, por isso é importante que você não desligue o TrueNAS-CORE/FreeNAS nos finais de semana, principalmente no domingo.

O sistema de arquivos ZFS é dotado de uma estrutura de Checksums em cada unidade básica de armazenamento.

O Scrub varre o disco comparando o valor do Checksum armazenando com o valor do Checksum calculado na leitura atual do disco físico, havendo diferença no valor dos Checksums significa que o existem erros de leitura no disco e um e-mail é automaticamente enviado para o administrador, por isso é importante deixar as configurações de rede e e-mail sempre prontas para uso.

Rodar o Scrub durante a semana não é recomendável pois esta tarefa pode durar horas e prejudicar a performance do Servidor TrueNAS-CORE/FreeNAS.

Backup das Configurações

O TrueNAS-CORE/FreeNAS por ter uma interface gráfica de configuração WEB, ao contrário do SAMBA/Linux que é todo modo texto, apresenta a questão do backup das configurações:

Como fazer o Backup das Configurações?

No SAMBA/Linux, você copia um arquivo texto de smb.conf e pronto, já no TrueNAS-CORE/FreeNAS isso não é possível, porém, os desenvolvedores resolveram isso pra você e basta clicar num botão:

System/General/SAVE CONFIG

E o TrueNAS-CORE/FreeNAS gera um arquivo de backup, o qual nada mais é que um arquivo tar com todas as configurações do seu Servidor TrueNAS-CORE/FreeNAS, incluindo aí as senhas se você optar por salvá-las também.

Comentários importantes

Pelo que vocês puderam perceber a quantidade de informação relevante é grande, não são conceitos intuitivos, ou que nós já conhecemos e utilizamos no dia a dia.

Leia e releia com atenção até entender completamente o conteúdo deste capítulo, pois isto vai te dar uma visão sobre o que você fará nos capítulos seguintes.

Da versão anterior do TrueNAS-CORE/FreeNAS para a atual, a interface gráfica e os recursos mudaram enormemente, e muita documentação existente na Internet encontra-se desatualizada.

Para mim, aprender a usar o TrueNAS-CORE/FreeNAS não foi simples e só foi possível graças à leitura de livros sobre ZFS e Raid-Z, artigos sobre o TrueNAS-CORE/FreeNAS e vídeos do desenvolvedor do sistema.

Em cada lugar eu aprendi um pedaço, mas em nenhum deles achei uma receita pronta de como usar na prática os conhecimentos que estavam publicados.

Na verdade, tecnicamente falando, as explicações que eu dei foram superficiais, mas são as explicações na medida exata para você conseguir com clareza iniciar as configurações finais do TrueNAS-CORE/FreeNAS sem se atrapalhar ou deixar de fazer algo importante que depois poderá lhe causar perda de dados.

Para quem esperava uma melhor integração entre o TrueNAS-CORE/FreeNAS e o Dropbox / Google Drive, eu digo apenas que estar on-line num universo onde o Ransomware está livre é muito arriscado e perigoso.

Uma solução off-line agendada é muito mais segura pois caso algo aconteça e apague seus dados na nuvem, no TrueNAS-CORE/FreeNAS os mesmos estarão preservados e seguros com cópias de tudo principalmente graças ao seu sistema de arquivos ZFS e Snapshots.

Quando você utiliza o Centos Linux juntamente com o Cliente Dropbox, a sincronia se torna on-line, porém o que você não sabe é que o Dropbox possui uma falha grave no que diz respeito às senhas e direitos de acesso, por isso, quando você o usa no Linux, também herda este problema de senha e direito de acesso.

Desempenho Real de um TrueNAS-CORE/FreeNAS

Em implantações reais utilizei a seguinte configuração:

- Processador AMD A8 9600 quad core e 3.4Ghz

- 8Gb de RAM DDR4-2400Mhz (mínimo recomendado)

- Pendrive Sandisk de 16Gb ( Boot do TrueNAS-CORE/FreeNAS)

- Placa mãe Asrock A320M-HD com suporte para 4 HDs Sata e um SSD M2

- Placa de rede Gigabit on-board

- 4 HDs Sata de 1 Terabyte Seagate ( Pool Raid-Z )

- 1 SSD Adata de 128Mbytes ( Cache da Pool Raid-Z )

- 1 DVD USB para instalação do sistema

- 1 Switch Gigabit TP link de 24  portas

- Cabeamento Cat5-e

Com estas configurações obtive taxas de transferência de arquivos reais de 100Mbytes/s porém devido à pequena quantidade de acessos simultâneos não foi possível avaliar a performance do Cache SSD M2 de 128Gb, nem a carga da CPU.

Problema com Credenciais do Windows

Outro aspecto muito importante é que acessando um Compartilhamento do TrueNAS-CORE/FreeNAS o mesmo exige que você salve as credenciais do seu usuário SMB/SAMBA no seu Windows, caso contrário ele ficará rejeitando a tentativa de login com credenciais temporárias, exceção feita quando o Dataset aceita usuários anônimos e possui direitos de acesso ACL liberados para everyone@ (todo mundo).

A questão das credenciais temporárias que foram rejeitadas é algo inesperado, pois quando você instala e testa o TrueNAS-CORE/FreeNAS pela primeira vez, você consegue entrar,  copiar e modificar os arquivos do compartilhamento, mas no dia seguinte, simplesmente surge a mensagem de que o acesso não é permitido sem o uso de credenciais válidas.

Para resolver isso basta você salvar a Credencial com login e a senha e reiniciar o micro para voltar a aceitar o Compartilhamento SMB do TrueNAS-CORE/FreeNAS.

Quando isto aconteceu comigo, eu achei que fossem direitos de acesso e fiquei configurando o TrueNAS-CORE/FreeNAS porém sem sucesso até descobrir no final que o problema era com as credenciais do Windows que precisavam ser salvas, ou ainda melhor, que os usuários precisavam ter os mesmos logins e senhas dos que foram cadastrados no TrueNAS-CORE/FreeNAS.

Feito isso os problemas de acesso desapareceram.

Controladores de HD e Hardware Certificado

Muito importante, o ZFS e o sistema Raid-Z são mais eficazes com controladoras de disco burras, ou seja, controladoras que não gerenciam de forma inteligente ou automática os Raids.

O Raid-Z é uma solução que implementa o sistema Raid via Software, e desta forma pode apresentar conflitos quando utilizado com controladoras de Raid Inteligentes que vão enganar o Raid-Z criando conflitos e eventualmente problemas de funcionamento devido às diferenças de conceito e arquitetura.

Caso você tenha gostado do TrueNAS-CORE/FreeNAS, mas sua empresa necessite de um Hardware certificado, existe a linha TrueNAS, na qual você já compra Hardware + Software certificados obtendo ainda suporte 24x7 direto do desenvolvedor do TrueNAS-CORE/FreeNAS e não precisa ficar se preocupando se a sua controladora de discos é inteligente ou não.

Overview

Agora que você já conhece bem a lógica do TrueNAS-CORE/FreeNAS está pronto para a parte prática, na qual passo a passo executaremos a implantação de diversos cenários de uso, partindo do mais simples e inseguro, até chegar ao mais completo seguro e profissional.

As configurações simples e inseguras são boas para uso em situações de teste e emergência, principalmente quando você não tem tempo de ficar configurando os usuários para levantar um servidor de arquivos temporário enquanto o servidor principal está sendo reparado.

Se você aprender bem o TrueNAS-CORE/FreeNAS vai perceber que ele também é um ótimo Servidor de Arquivos e que ele pode muito bem substituir com grandes vantagens o seu atual Servidor Windows ou Linux, oferecendo a você toda a tecnologia dos mais modernos Storages com custo Zero de Licenças.

 


 

Configurando um TrueNAS-CORE/FreeNAS sem usuários

Neste exemplo muito simples configuraremos a situação mais insegura possível, contudo, pela simplicidade, ela é muito fácil e simples de implementar e em casos de extrema necessidade ela pode ser utilizada para subir um servidor temporário que depois pode ser desativado para dar lugar a outra configuração mais segura.

Neste exemplo, ainda, não será necessário sequer criar um usuário, pois usaremos o grupo everyone@ para liberar o compartilhamento de arquivos

Roteiro da configuração para uso sem usuários

- Criar uma Pool com um único disco, ou com um Stripe de discos = Pool-Insegura

- Criar um Dataset SMB = Inseguro-Dataset

- Criar um Share = Inseguro-Share

- Criar uma ACL = everyone@ / ACL type = Allow / Permissions = Full Control

- Testes de uso

Criando uma Pool com um único disco

Uma Pool de um único disco no TrueNAS-CORE/FreeNAS incrivelmente é configurado como Stripe.

Storage > Pools > ADD

- Selecionar = Create New Pool

- Clica em Create Pool

- Atribui nome à Pool = Pool-Insegura

- Seleciona um único disco = ada1

- Clica em seta ->

- Clica no botão = Create

- Clique em Confirm e em Create Pool

 

 

 

 

 

Pronto a Pool ficou assim

A Pool-Insegura foi criada com sucesso, é um Stripe de 16,95 Gb montada num disco de 20 Gb com compressão lz4 ativa.

Observe do lado direito da Pool-Insegura 3 pontinhos na vertical que são muito importantes para a criação dos Datasets.

Já a Engrenagem que existe no lado direito acima da linha da Pool-Insegura é utilizada para apagar Pools sem uso na Opção Export/Disconnect.

Já a opção Status mostra a saúde da Pool e de seus discos físicos.

 

Criando uma Pool com um Stripe de discos

Muitas vezes você tem um monte de discos de diversos tamanhos sem uso e precisa montar um servidor com um disco grande.

O TrueNAS-CORE/FreeNAS permite que você agrupe todos estes discos em uma Pool para uso temporário.

Faça um Backup das configurações

System > GENERAL > SAVE CONFIG

 

Agora você vai apagar a Pool antiga

Storage > Pools

Selecione a Linha da Pool-Insegura e clique no botão de engrenagem que fica na lateral superior direita escolhendo a opção (Export / Disconnect)

 

Selecione 2 opções

- Delete configuration of shares that used this pool?

- Confirm Export/Disconnet

- Clique em EXPORT/DISCONNECT

 

Pronto sua Pool já foi excluída.

Faça um backup das configurações

System > General > SAVE CONFIG

Para criar uma Pool de Stripe

Storage > Pools > ADD

Selecione = Create New Pool

Clica em Create Pool

Atribui nome à Pool = Pool-Insegura

Seleciona os discos = ada1 ada2 ada3 ada4

Clica em seta ->

Muito importante!

Antes de concluir selecione a opção de criação do Pool em Stripe e não em Raid-Z2 conforme é sugerido na opção Default que já vem pronta para criar a Pool.

Clica no botão = Create

Clique em Confirm e em Create Pool

 

 

Agora que a Pool-Insegura foi criada, vamos entender o que aconteceu:

- Name =Pool-Insegura

- Type = dataset

- Used = 854.44KiB

- Available = 50.32GiB

- Compression = lz4

- Compression Ratio = 1.00x

- Reaonly = false

- Dedup  off

Observe que usamos 4 HDs de 20Gb mas ao invés de 80Gb a Pool tem apenas 50.32Gb, ou seja, parte do espaço é consumido pelo sistema, lembre-se que neste exemplo usamos discos de 20Gb com discos maiores esta perda é irrelevante

A Taxa de compressão está em 1.00x pois não existe nada gravado na Pool-Insegura, porém a medida que os dados passam a ser gravados, esta taxa sobre para 1.05x na média.

A Deduplicação está desligada, a ativação dela causa impactos em performance e exige mais memória RAM que passa para 32Gb no mínimo, sendo o ideal 64Gb.

Criando o Inseguro-Dataset

Para criar o Inseguro-Dataset, abra a tela do

Storage > Pools

No final da linha da Pool-Insegura existem 3 pontinhos

Clique nos 3 pontinhos e escolha a opção Add Dataset

- Name = Inseguro-Dataset

- Comment = Dataset para uso emergencial

- Share Type = SMB

Clique em SAVE

 

 

 

 

Observe que o Inseguro-Dataset criado herda as propriedades da Pool-Insegura e fica vinculado como um item subordinado da Pool-Insegura criando uma relação de hierarquia.

Futuramente, dentro da Pool-Insegura podem ser criadas outros Datasets com outros tipos de direitos de acesso também.

Criando o Inseguro-Share

Com o Inseguro-Dataset criado com o tipo SMB podemos prosseguir com a configuração do SAMBA:

Sharing > Windows Shares (SMB) > ADD

No Path navegue para baixo selecionando o Inseguro-Dataset (ACL)

Observe que este (ACL) aparece do lado do Inseguro-Dataset, sinalizando que este Dataset é compatível com o SMB.

Preencha o Name = Inseguro-Share (caso você deixe isso em branco o Name será preenchido com o nome do Inseguro-Dataset)

Muito importante, ative a opção Allow Guest Access

Clique em SAVE

Clique em ENABLE SERVICE

Clique em CLOSE

 

Pronto, meio caminho andado, agora só falta liberar o acesso através da criação da ACL everyone@ Full Control.

Criando ACL everyone@ Full Control

Com o Inseguro-Share criado observe que no final da linha tem 3 pontinhos , clique nele e escolha a opção Edit ACL.

 

As opções acima não permitem ao grupo everyone@ (todo mundo) acessar o compartilhamento de arquivos, mesmo ele tendo sido criado com a opção de Allow Guest Access, portanto vamos criar uma ACL que permita Full Control do Inseguro-Share que criamos para qualquer pessoa da Rede Local (LAN).

- Clique no botão azul ADD ACL ITEM no Lado Esquerdo da Tela

Agora vá para o lado Direto da Tela e edite a nova ACL que surgiu:

- Mude Who para = everyone@

- Permissions para = Full Control

- Clique em SAVE

 

Pronto as configurações terminaram, agora é só acessar via Windows e testar as configurações

Testes de uso

Para testar o compartilhamento criado basta ir no campo de busca ou no Windows Explorer e digitar no \\172.16.1.214

 

 

Usando o Shell do TrueNAS-CORE/FreeNAS podemos verificar os direitos de acesso dos arquivos que são criados nesse compartilhamento aberto e inseguro que não exige usuário nem senha para ser acessado.

 

Vejam que os direitos de acesso são 777 ou rwxrwxrwx em todos os arquivos e diretórios, isso para qualquer micro que acessa o Inseguro-Share, observe também que os arquivos e diretórios são criados com o usuário nobody e o grupo wheel.

Sendo o grupo wheel o grupo do Administrador do TrueNAS-CORE/FreeNAS e sendo os direitos de acesso dos arquivos e diretórios todos com a opção rwxrwxrwx com “x” de executáveis, criar este tipo de compartilhamento é muito arriscado e deve ser evitado ao máximo.

Na sua casa, para efeitos de teste você pode implementar uma configuração do TrueNAS-CORE/FreeNAS como esta, contudo, mesmo em casa existem configurações mais adequadas, que é a que veremos a seguir.


 

Criando um TrueNAS-CORE/FreeNAS básico e seguro

Agora que você já pôde brincar um pouco com o TrueNAS-CORE/FreeNAS e percebeu o quão rápido é configurá-lo, vamos ao segundo exemplo  prático que pode ser usado sem restrições na sua casa ou em pequenos escritórios.

Este exemplo é adequado quando não há necessidade de administrar os direitos de acesso por User e Group, e onde todos podem escrever e acessar documentos de todos sem uma hierarquia definida bloqueando certos acessos.

Vamos também criar uma Pool mais profissional com disco de Spare e disco de Cache SSD.

Nesta configuração vamos criar um usuário Posix e um grupo Posix que serão usados para todos os computadores e usuários da Rede Local (LAN).

User = usuario

Group = TrueNAS-CORE/FreeNAS

Todos os micros e usuários da rede vão usar este login, o que impedirá que pessoas que não conheçam o login usem abertamente o compartilhamento de arquivos como no exemplo passado.

Lembrando um pouco, o exemplo passado permitia que invasores entrassem na sua Rede Local (LAN) e acessassem o TrueNAS-CORE/FreeNAS no modo inseguro com direitos de administrador (grupo wheel) e de executar arquivos simples como programas mesmo sendo usuário do grupo everyone@ (rwxrwxrwx).

Atenção para a senha que não poderá ser fácil, para dificultar ao máximo o acesso indevido de Hackers que por ventura consigam entrar na sua Rede Local (LAN), não use 123456, ou 102030, ou coisas do tipo que são muito usadas e que na prática facilitam o acesso aos seus dados e sistemas por pessoas não autorizadas.

Roteiro para TrueNAS-CORE/FreeNAS com 1 usuário

- Criar um usuário e um grupo para configurar os direitos de acesso (usuario, TrueNAS-CORE/FreeNAS)

- Criar uma Pool completa com disco Spare e Cache = Pool-Raid-Z

- Criar um Dataset SMB = Seguro-Dataset

- Criar um Share = Seguro-Share

- Criar uma ACL = usuario / ACL type = Allow / Permissions = Full Control

- Testes de uso

Criando usuário e um grupo para os direitos de acesso

Toda vez que você vai configurar um sistema você acha que primeiro tem que criar os usuários e depois os grupos.

Esta lógica, apesar de intuitiva está totalmente errada, na prática, você cria os grupos antes, todos os grupos possíveis e imagináveis, e só depois parte para criar os usuários.

O motivo é simples, o Unix, na sua concepção e implantação estabeleceu que o vínculo dos usuários aos grupos PODE ser feito durante a criação dos usuários.

Assim sendo, criando os grupos antes você aproveita o design do Unix e economiza um tempo razoável pois não precisa mais colocar os usuários nos grupos manualmente.

Neste exemplo criaremos apenas 1 grupo, mas no próximo exemplo teremos a ativação de mais grupos e você verá como é simples e mais prático usar grupos do que configurar os direitos de usuários um por um.

Outra informação muito relevante é que todo usuário pode ter 2 tipos de grupos:

- Grupo Principal – grupo vinculado a todos os arquivos e diretórios que o usuário cria.

- Grupos Secundários – permitem o acesso a outros compartilhamentos, mas não ficam registrados nos arquivos e diretórios que usuário cria.

Como usaremos compartilhamentos SAMBA/SMB isto não é tão importante, mas fica aqui o conceito para te ajudar quando for trabalhar com sistemas Posix em geral.

Então a sequência de nosso trabalho será:

- Criar o Group = TrueNAS-CORE/FreeNAS.

- Criar o User = usuario usando o grupo TrueNAS-CORE/FreeNAS como Grupo Principal dele.

Criar um grupo no TrueNAS-CORE/FreeNAS

Accounts > Groups > ADD

Name = TrueNAS-CORE/FreeNAS

SAVE

 

 

Criando o User = usuario com Grupo Principal = TrueNAS-CORE/FreeNAS

Accounts > Users > ADD

Full Name = usuario

Password = x

Confirm Password = x

Desativar a opção = New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

SAVE

Pronto seu usuário foi criado e agora você já é um usuário Posix.

Antes de criar a Pool faça um Backup das configurações:

System > GENERAL > SAVE CONFIG

Apagando a Pool antiga

Storage > Pools

Selecione a Linha da Pool-Insegura e clique no botão de engrenagem que fica na lateral superior direita escolhendo a opção (Export / Disconnect)

 

 

Selecione 2 opções

- Delete configuration of shares that used this pool?

- Confirm Export / Disconnet

- Clique no botão EXPORT/DISCONNECT

 

Com a eliminação do Inseguro-Pool também é eliminado o Inseguro-Dataset e o Inseguro-Share automaticamente.

 

Pronto sua Pool já foi excluída.

Faça um backup das configurações

System > General > SAVE CONFIG

Pool-Raid-Z com disco Spare e Cache

Para criar uma Pool Raid-Z você vai em:

Storage > Pools > ADD

Seleciona = Create New Pool

Clica em Create Pool

Name = Pool-Raid-Z

Seleciona apenas os discos = ada1 ada2 ada3

Clica em seta ->

 

Por termos apenas 3 discos, o default da Pool é mesmo Raid-Z de 36Gb que não será mudado, porém iremos acrescentar agora um Spare e um Cache.

Clique no botão ADD SPARE que fica em baixo da tela e depois selecione o disco ada4 com a setinha para a direita

Clique na setinha -> para mover o ada4 para a posição de SPARE.

 

 

Agora vamos adicionar o Cache

Selecione o item nvd0 e cliquem em ADD CACHE

na setinha -> para mover o nvd0 para a posição de CACHE

Verifique se o seu novo Pool = Pool-Raid-Z está como mostra a figura acima e prossiga

Clica no botão = Create

Clique em Confirm e em Create Pool

Pronto criamos a Pool-Raid-Z perfeita, com Spare e Cache SSD

Os passos seguintes não têm segredo, são praticamente iguais aos das configurações anteriores mas com foco agora na segurança, vamos remover a opção Allow Guest Access e o acesso do grupo everyone@ (todo mundo).

Criando o Seguro-Dataset

Para criar o Seguro-Dataset, abra a tela do

Storage > Pools

No final da linha da Pool-Raid-Z existem 3 pontinhos

Clique nos 3 pontinhos e escolha a opção Add Dataset

- Name = Seguro-Dataset

- Comment = Dataset para uso residencial e PME

- Share Type = SMB

Clique em SAVE

Criando o Seguro-Share

Com o Seguro-Dataset criado com o tipo SMB podemos prosseguir com a configuração do SAMBA:

Sharing > Windows Shares (SMB) > ADD

No Path navegue para baixo selecionando o Seguro-Dataset (ACL)

Path = /mnt/Pool-Raid-Z/Seguro-Dataset

Observe que este (ACL) aparece do lado do Seguro-Dataset, sinalizando que este Dataset é compatível com o SMB.

Preencha o Name = Seguro-Share (caso você deixe isso em branco o Name será preenchido com o nome do Seguro-Dataset)

Clique em SAVE

Pronto, meio caminho andado, agora só falta liberar o acesso através da criação da ACL usuario Full Control.

Criando a ACL usuario Full Control

Com o Seguro-Share criado observe que no final da linha tem 3 pontinhos, clique nele e escolha a opção Edit ACL

Basicamente você pode aproveitar todas as configurações da ACL padrão, bastando apenas troca o nome do dono da Seguro-Dataset para = usuario e o grupo para = TrueNAS-CORE/FreeNAS conforme a figura a seguir, mas antes clique em SAVE

- User = usuario

- Group = TrueNAS-CORE/FreeNAS

- SAVE

Neste exemplo, como você só tem um usuário, apenas as ACLs 1 e 2 padrão funcionam perfeitamente, pois as variáveis (owner@ e group@) mudaram para (usuario e TrueNAS-CORE/FreeNAS).

Pronto as configurações por hora terminaram, agora é só acessar via Windows e testar as configurações

Testes de uso

Para testar o compartilhamento criado basta ir no campo de busca ou no Windows Explorer e digitar no \\172.16.1.214

Quando aparecer a tela de login pedindo usuário e senha, preencha com os dados que você criou para o User = usuario e sua senha, tendo o cuidado de ativar a opção de “Lembrar minhas credenciais”, pois sem isso no próximo acesso pode ser que o TrueNAS-CORE/FreeNAS o impeça de acessar os arquivos compartilhados pois um recurso de segurança impede acessos que não possuem credenciais confiáveis.

- usuario

- senha

- ativar “Lembrar minhas credenciais

Esta é a mensagem que aparece quando o problema de credencial surge:

Memorizando, salvando as credenciais do Windows e reiniciando o notebook voltamos a acessar o TrueNAS-CORE/FreeNAS obtendo acesso imediato ao compartilhamento:

Usando o Shell do TrueNAS-CORE/FreeNAS podemos verificar os direitos de acesso dos arquivos que são criados nesse compartilhamento seguro que exige usuário e senha na forma de credencial Windows.

Como você poderá constatar agora os direitos de acesso estão totalmente bloqueados para everyone@ (todo mundo) e vinculados ao User = usuario e ao Grupo TrueNAS-CORE/FreeNAS eliminando o risco de segurança que apresentava o exemplo anterior que registrava os arquivos e diretórios criados ao grupo wheel que é do administrador root.

Com este exemplo muito básico, 90% das necessidades residenciais e de PME (Pequenas e Médias Empresas) podem ser atendidas, porém, quando o usuário é corporativo ele irá precisar de uma estrutura hierárquica e diferentes direitos de acesso (ACLs), então no próximo exemplo vamos trazer algumas mudanças que serão aplicadas ao exemplo atual, o qual será apenas modificado e não mais apagado como o anterior, pois o mesmo já suporta as novas configurações que vamos necessitar, pois o Pool-Raid-Z já está do jeito que precisamos com todos os recursos possíveis habilitados.

Lembrando que um Pool-Raid-Z pode ter infinitos Datasets, podemos manter o Dataset deste exemplo e ir acrescentando muitos outros em paralelo, porém o Pool-Raid-Z não apaguem, a não ser que queiram refazer para memorizar as etapas necessárias.

Veremos agora, como se comporta o TrueNAS-CORE/FreeNAS com mais grupos e mais usuários, faremos novas ACLs agora profissionais.

Vocês perceberão que a flexibilidade do TrueNAS-CORE/FreeNAS é muito útil, lembrando sempre que a cada alteração recomendamos que façam antes o Backup das Configurações.

System > General > SAVE CONFIG


 

 

Criando um TrueNAS-CORE/FreeNAS Corporativo

Muito já foi dito a respeito da necessidade de hierarquia e diferentes direitos de acesso ou ACLs num ambiente corporativo, mesmo em uma pequena empresa.

O Dono da empresa não vai querer que seus dados financeiros sejam lidos pelo vendedor, por exemplo, e assim por diante.

Desta forma nas empresas criamos grupos por diversas afinidades:

- Área de atuação

- Por projeto definido

- Informações públicas somente leitura

- Por nível hierárquico

Estes recursos são encontrados nos sistemas de nuvem profissionais do Dropbox e no Google Drive mas não da forma flexível que o TrueNAS-CORE/FreeNAS oferece.

Por ter sua configuração feita por interface WEB, o TrueNAS-CORE/FreeNAS é muito fácil de configurar, bastando para isso elaborar um rápido planejamento do que se pretende, como veremos neste exemplo prático que será realizado por etapas.

Convertendo o TrueNAS-CORE/FreeNAS do exemplo anterior em um Servidor Corporativo

O TrueNAS-CORE/FreeNAS do exemplo anterior com poucas alterações pode ser transformado em um Servidor Corporativo.

Basta criar um login para cada usuario de forma a identificar quem cria cada documento, assim desta forma torna-se possível ter um maior controle sobre os arquivos da organização.

Inicialmente, para efeito didático, iremos criar novos usuários no grupo TrueNAS-CORE/FreeNAS, a saber:

- user1

- user2

- user3

E a seguir iremos ao compartilhamento Seguro-Share já existente para analisar como se comporta a criação de arquivos e os direitos de acesso dos 3 usuários sem alterarmos nada na ACL do Seguro-Share.

Roteiro para implantar múltiplos usuários no TrueNAS-CORE/FreeNAS

- Através da interface gráfica WEB do TrueNAS-CORE/FreeNAS criar os novos usuários user1, user2, user3, utilizando como Grupo Primário o grupo já existente TrueNAS-CORE/FreeNAS.

- Logar com cada usuário distinto e criar no compartilhamento arquivos e diretórios para saber como ficam os direitos de acesso

Criando usuários

Criando os usuários user1

Accounts > Users > ADD

Full Name = user1

Password = x

Confirm Password = x

Desativar a opção = New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

SAVE

 

Criando os usuários user2

Accounts > Users > ADD

Full Name = user2

Password = x

Confirm Password = x

Desativar a opção = New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

SAVE

 

Criando os usuários user3

Accounts > Users > ADD

Full Name = user3

Password = x

Confirm Password = x

Desativar a opção = New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

SAVE

 

 

Os 3 novos usuários foram criados todos utilizando o Grupo Primário = TrueNAS-CORE/FreeNAS.

Testando acessos criados

Entrando no Shell do TrueNAS-CORE/FreeNAS e verificando os direitos de acesso dos arquivos criados temos:

Antes de mais nada os 3 novos usuários criados = user1, user2, user3 puderam entrar no compartilhamento de arquivos Seguro-Share, pois no exercício anterior configuramos o mesmo para permitir acesso ao grupo group@ = TrueNAS-CORE/FreeNAS = Full Control.

Como os 3 novos usuários possuem o Grupo Primário = TrueNAS-CORE/FreeNAS, eles se beneficiaram dos direitos de acesso deste grupo para entrar, criar, apagar arquivos e diretórios na pasta compartilhada Seguro-Share.

Os arquivos e diretórios criados pelos usuários ficaram vinculados aos seus respectivos logins, e como todos pertencem ao grupo TrueNAS-CORE/FreeNAS (Grupo Primário de todos estes usuários) todos podem ler, alterar, renomear e apagar os arquivos uns dos outros, a prova é o arquivo criado pelo User = usuario e que foi alterado e renomeado pelos usuários user1, user2 e user3, porém o arquivo final continua a estar vinculado ao User = usuario que o criou.

O que quero demonstrar com este exemplo é que existem limitações relativas ao registro de uso dos arquivos e diretórios, pois as alterações não deixam rastros, mas o dono que cria tais arquivos e diretórios fica registrado para todos os efeitos.

Um sub-Dataset somente leitura que somente 1 usuário pode alterar

Mais uma vez veremos como é simples e fácil utilizar o TrueNAS-CORE/FreeNAS e seu conceito de Dataset para administrar os recursos da rede.

Para melhorar um pouco o entendimento do TrueNAS-CORE/FreeNAS, vamos criar dentro da pasta Seguro-Share um sub-Dataset que pode ser alterado pelo User = usuario e disponibilizado somente leitura para os demais usuários = user1, user2, user3 do Group = TrueNAS-CORE/FreeNAS.

Este exemplo pode ser aplicado a documentos como circulares e dados da empresa que precisam ser publicados, mas que não podem ser apagados, nem alterados que não pelo User = usuario.

Roteiro para pasta somente leitura alterável pelo User = usuario:

- Criar um sub-Dataset = Circulares dentro do Seguro-Dataset

- Criar uma ACL específica para o sub-Dataset = Circulares que permite ao User = usuario criar, alterar e apagar arquivos e diretórios dentro do mesmo, liberando aos demais usuários do grupo TrueNAS-CORE/FreeNAS acesso com direitos de apenas leitura.

- Logar nos 4 usuários e realizar testes de direitos de acesso.

Criando um sub-Dataset = Circulares dentro do Seguro-Dataset

Storage > Pools > Seguro-Dataset > 3 pontinhos > Add Dataset

 

 

Name = Circulares

Comments = Pasta somente leitura - documentos importantes

Share Type = SMB

SAVE

 

Criada o novo Dataset = Circulares, veja como ficou a hierarquia.

Criando uma ACL específica para o sub-Dataset

Criando uma ACL específica para o sub-Dataset = Circulares que permite ao User = usuario criar, alterar e apagar arquivos e diretórios dentro do sub-Dataset = Circulares, liberando aos demais usuários do grupo TrueNAS-CORE/FreeNAS acesso com direitos de apenas leitura.

Selecione a linha onde está o novo Dataset = Circulares e no final da linha clique nos 3 pontinhos, selecionando a opção Edit ACL

Storage > Pools > Seguro-Dataset > Circulares > 3 pontinhos > Edit ACL

 

Altere agora os 3 parâmetros:

User = usuario

Group = TrueNAS-CORE/FreeNAS

ACL 1 do Who = owner@ nada muda

ACL 2 do Who = group@ / ACL Type = Allow / Permissions = Read

SAVE

Testando

Logar nos 4 usuários e realizar testes de direitos de acesso

Observe que a Pasta Circulares (rwxr-x---) é um subdiretório de Seguro-Share e pertence ao User = usuario, com direitos de escrita para ele e somente leitura para os usuários do grupo TrueNAS-CORE/FreeNAS.

Testes realizados com os 3 demais usuários logados (user1, user2, user3) demonstraram que eles podem ler e navegar dentro da Pasta Circulares mas não podem apagar, nem alterar nada, somente ler.

Utilizando uma ACL temporária

Mas quando temos que fazer com que mais de uma pessoa possa alterar a mesma pasta, por exemplo:

- O User = usuario sairá de férias

- Quem vai publicar as Circulares é o user1

- Como proceder para liberar uma ACL temporária?

-  Depois do final das férias do User = usuario como retirar a liberação temporária?

No TrueNAS-CORE/FreeNAS, bem como ocorre no Windows, existe a possibilidade de ter mais de uma ACL por Dataset, ou seja, manteremos tudo como está, para quando o User = usuario voltar de férias, enquanto isso, criamos uma ACL temporária adicional que permitirá que o user1 altere também a Pasta = Circulares.

Roteiro para adicionar novas ACLs temporárias a um Dataset.

- Selecionar o Dataset = Circulares e editar sua ACL, acrescentando uma nova ACL temporária que dê direitos de acesso também para o user1

- Logar com os 4 usuários e verificar se as ACLs estão funcionando.

Editando ACL do Dataset Circulares

Selecionar o Dataset = Circulares e editar sua ACL , acrescentando uma nova ACL temporária que dê direitos de acesso também para o user1

Storage > Pools > Seguro-Dataset > Circulares > 3 pontinhos > Edit ACL > ADD ACL ITEM

Who = User

User = user1

Permissions = Full Control

SAVE

Testando

Logar com os 4 usuários e verificar se as ACLs estão funcionando

Com a alteração do Dataset = Circulares, a nova ACL temporária criada permitiu ao user1 realizar alterações em todos os arquivos existentes na pasta Circulares.

Porém, quando o user1 tentou alterar um subdiretório que estava dentro da pasta Circulares (criado pelo User = usuario antes da criação da nova ACL) verificou-se que o user1 não conseguia alterar este diretório antigo que permaneceu somente leitura mesmo com a nova ACL temporária.

Ou seja subdiretórios não herdam automaticamente as configurações de ACL do diretório principal quando as ACLs mudam.

Para corrigir este problema foi criada um novo subdiretório na pasta Circulares depois da criação da nova ACL temporária pelo User = usuario antes dele sair de férias.

Desse modo o user1 conseguiu gravar e alterar os documentos que estavam dentro deste novo subdiretório criado pelo  User = usuario antes dele sair de férias.

Quanto aos demais usuários user2 e user3 , ambos não conseguiram apagar ou alterar os documentos da Pasta Circulares criados pelo user1 como era esperado.

Outro ponto importante foi que um subdiretório criado dentro da Pasta Circulares pelo user1 e outro subdiretório criado dentro da Pasta Circulares criada pelo User = usuario antes de ele sair de férias já com a nova ACL temporária, ambas após a remoção da ACL temporária continuaram aceitando alterações do user1 como se a ACL temporária ainda estivesse ativa.

Fica registrado que o uso de ACLs temporárias baseadas em usuários causa problemas de gestão, pois as ACLs temporárias baseadas em usuários no TrueNAS-CORE/FreeNAS não atualizam os direitos dos subdiretórios criados durante a sua vigência e não removem automaticamente estes direitos de acesso quando as ACLs temporárias são removidas.

Para contornar este problema, existem os grupos e a gestão através de grupos que deve resolver este problema.

Utilizando ACL de grupo

Neste outro exemplo tentaremos resolver o problema de integridade do exemplo anterior usando o conceito de grupo pra administrar uma pasta somente leitura.

Roteiro

- Criar o grupo = Circulares

- Acrescentar os usuários no grupo Circulares = usuario e user1

- Selecionar o Dataset = Circulares e editar sua ACL para que o grupo = Circulares seja o administrador da pasta

- Logar com os 4 usuários e verificar se as ACLs estão funcionando.

Criando o grupo = Circulares

Accounts > Groups > ADD

Name = Circulares

SAVE

Acrescentando os usuários = usuario, user1 como membros do grupo = Circulares

Accounts > Groups > Circulares > 3 pontinhos > Members

Selecionar = usuario

Setinha para direita para adicionar User = usuario ao grupo = Circulares

Selecionar = user1

Setinha para direita para adicionar user1 ao grupo = Circulares

SAVE

Selecionando o Dataset Circulares e editando sua ACL para que o Group = Circulares seja o administrador da pasta

Storage > Pools > Seguro-Dataset > Circulares > 3 pontinhos > Edit ACL

Alterar ACL 1 > Who = owner@ mudar para Group

Group = Circulares

Permissions = Full Control

SAVE

 

Logando com os 4 usuários e verificar se as ACLs estão funcionando.

Primeiro, para realizar os testes de forma adequado com o User = usuario apagamos todos os arquivos e diretórios da Pasta Circulares.

Verificamos que alguns arquivos ainda estavam com os direitos da ACL temporária antiga e tivemos que logar como user1 para remover todos os arquivos e diretórios.

Com tudo limpo, realizamos novos testes verificando que o problema anterior desapareceu.

Removemos o user1 do grupo = Circulares e verificamos que a Pasta Circulares aceitou a atualização do grupo = Circulares e não permitiu mais que o user1 pudesse voltar a alterar documentos e apagar diretórios dentro da Pasta = Circulares.

Com isso, finalizamos a questão da gestão do acesso aos compartilhamentos do TrueNAS-CORE/FreeNAS a nível de usuários, grupos, Datasets e ACLs, concluindo que um projeto mal feito de direitos de acesso, pode causar problemas futuros.

Além disso podemos fazer a afirmativa que sempre deveremos usar grupos, ao invés de usuários para administrar recursos dos compartilhamentos, pois como vimos no exemplo da ACL temporária, que as alterações de ACL não se propagam automaticamente dentro de subdiretórios, pois os sub-diretórios antigos não são atualizados.


 

TrueNAS-CORE/FreeNAS Simulando um Projeto Real

Voltando um passo atrás vamos elaborar um roteiro para a instalação de um Servidor Corporativo com vários departamentos com diversos usuários e mais cenários de configurações.

Desta vez, vamos tentar ser mais objetivos e menos visuais, agora que você já fez um laboratório e conheceu o potencial do TrueNAS-CORE/FreeNAS.

As explicações já foram dadas, os conceitos já apresentados, agora é mão na massa, vamos ao roteiro.

Roteiro

- Apagar Seguro-Dataset

- Fazer Backup do TrueNAS-CORE/FreeNAS

- Listar grupos, usuários, pastas, direitos de acesso, comentários, etc.

- Criação dos grupos departamentais, de projeto, de controle e mistos.

- Criação dos usuários vinculando-os ao Grupo Primário = TrueNAS-CORE/FreeNAS, mas também associando-os as grupos departamentais, de projeto, de controle e mistos aos quais eles possam pertencer

- Criar um novo Dataset SMB = Windows-Dataset

- Criar Windows-Share

- Criar ACL do Windows-Share deixando este Dataset somente leitura

- Criar os sub-Datasets do Windows-Dataset configurando diferentes ACLs conforme documentação criada

- Testar configurações

Apagando Seguro-Dataset

Storage > Pools > Seguro-Dataset > 3 pontinhos > Delete Dataset 

Preencha o nome Seguro-Dataset

Confirm > DELETE DATASET

Backup do TrueNAS-CORE/FreeNAS

Novamente faça um backup das configurações antes de prosseguir:

System > General > SAVE CONFIG

Listando Grupos, usuários, pastas e direitos de acesso

Como já foi dito, primeiro listaremos os grupos, depois os usuários

Grupos:

- TrueNAS-CORE/FreeNAS (Grupo Primário)

- ti

- diretoria

- financeiro

- adm

- comercial

- compras

- prod

- rh

- circulares

- gerentes

Usuários  / grupos secundários:

Obs: todos terão como Grupo Primário o TrueNAS-CORE/FreeNAS

- usuario (Gestor de Ti) / ti

- diretor / diretoria

- financeiro / financeiro, gerentes

- adm1 / adm, gerentes, circulares

- adm2 / adm

- vendedor1 / comercial, gerentes

- vendedor2 / comercial

- comprador / compras, gerentes

- prod1 / prod, gerentes

- prod2 / prod

- rh / rh, gerentes

Estrutura de pastas

- Pool = Pool-Raid-Z

- Dataset Principal = Windows-Dataset = Windows-Share = ACL / Permissions = Read

- ACL do Administrador = Who = Group / Group = ti / ACL Type = Allow / Permissions = Full Control

A configuração básica será uma pasta compartilhada somente leitura = Windows-Share, dentro dela haverão outras pastas graváveis (sub-Datasets) cada qual com um grupo administrador (além do Administrador = Grupo ti + diretoria) e respectivos direitos de acesso

Datasets Secundários / grupos administradores

- publico / TrueNAS-CORE/FreeNAS (nesta pasta todos do grupo TrueNAS-CORE/FreeNAS terão Full Control)

- ti / ti

- diretoria / diretoria, ti

- financeiro / financeiro, diretoria, ti

- adm / adm, diretoria, ti

- comercial  / comercial, diretoria, ti, financeiro

- compras / compras, diretoria, ti, financeiro

- prod / prod, diretoria, ti

- rh / rh, diretoria, ti, financeiro

- circulares / circulares, diretoria, ti / TrueNAS-CORE/FreeNAS = Read (todos do TrueNAS-CORE/FreeNAS poderão ler tudo)

- gerentes / gerentes, diretoria, ti

- circulares_gerentes / diretoria, ti (será sub-pasta somente leitura)

Criando os grupos departamentais, de projeto, de controle e mistos.

Para criar grupos não populados é muito simples e rápido, siga os comandos a seguir:

Accounts > Groups > ADD

Name = TrueNAS-CORE/FreeNAS (Name already in use – não precisa recriar este grupo)

CANCEL

 

Accounts > Groups > ADD

Name = ti

ADD

 

Accounts > Groups > ADD

Name = diretoria

ADD

 

Accounts > Groups > ADD

Name = financeiro

ADD

 

Accounts > Groups > ADD

Name = adm

ADD

 

Accounts > Groups > ADD

Name = comercial

ADD

 

Accounts > Groups > ADD

Name = compras

ADD

 

Accounts > Groups > ADD

Name = prod

ADD

 

Accounts > Groups > ADD

Name = rh

ADD

 

Accounts > Groups > ADD

Name = circulares

ADD

 

Accounts > Groups > ADD

Name = gerentes

ADD

 

Pronto agora você já criou todos os grupos que embora estejam vazios logo mais estarão cheios quando os usuários forem criados.

Criando usuários associando-os as grupos

Esta etapa é mais trabalhosa, mas você fará isso só uma vez.

O único detalhe é que o User = usuario já existe, portanto iremos configurá-lo ao invés de criá-lo do zero para que vocês aprendam.

Accounts > Users  > usuario > setinha no final da linha apontando para a direita > EDIT

Auxiliary Groups > selecione = ti

SAVE

 

Verificamos também que quando os nomes são mais compridos, o TrueNAS-CORE/FreeNAS costuma cortar o Username que deveria ser igual ao Full Name, nestes casos você deve completar o Username e forçar a configuração desde que o nome tenha até 15 caracteres, que é o limite permitido para um Username.

 

Accounts > Users > ADD

Full Name = diretor

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = diretoria

SAVE

 

Accounts > Users > ADD

Full Name = financeiro

User Name = financeiro (nomes mais compridos precisam ser forçados)

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = financeiro, gerentes

SAVE

 

Accounts > Users  > ADD

Full Name = adm1

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = adm, gerentes

SAVE

 

Accounts > Users  > ADD

Full Name = adm2

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = adm

SAVE

 

Accounts > Users  > ADD

Full Name = vendedor1

Username = vendedor1

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = comercial, gerentes

SAVE

 

Accounts > Users  > ADD

Full Name = vendedor2

Username = vendedor2

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = comercial

SAVE

 

Accounts > Users  > ADD

Full Name = comprador

Username = comprador

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = compras, gerentes

SAVE

 

Accounts > Users  > ADD

Full Name = prod1

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = prod, gerentes

SAVE

 

Accounts > Users  > ADD

Full Name = prod2

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = prod

SAVE

 

Accounts > Users  > ADD

Full Name = rh

Password = x

Confirm Password = x

desativar New Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = rh, gerentes

SAVE

Criando o Windows-Dataset

Storage > Pools > Pool-Raid-Z > 3 pontinhos > Add Dataset

Name = Windows-Dataset

Type = SMB

SAVE

Criando o Windows-Share

Sharing > Windows Share (SMB) > ADD

Path = /mnt/Pool-Raid-Z/Windows-Dataset (navegue até chegar no Windows-Dataset)

Name = Windows-Share

Deixar Enable Shadow Copies Ativo

SAVE

Criando ACL do Windows-Share no modo somente leitura

Sharing > Windows Share (SMB) > Windows-Dataset > 3 pontinhos > Edit ACL

 

ADD ACL ITEM

Who = Group

Group = TrueNAS-CORE/FreeNAS

ACL Type = Allow

Permissions = Read

 

ADD ACL ITEM

Who = Group

Group = ti

ACL Type = Allow

Permissions = Full Control

SAVE

 

Pronto o ACL do Windows-Share está concluído no modo somente leitura para o grupo TrueNAS-CORE/FreeNAS e com Full Control para o grupo ti dentro do qual está o usuário = usuario.

Criando os sub-Datasets do Windows-Dataset

Um detalhe muito importante: como já criamos um Share vinculado ao Windows-Dataset, os computadores da rede local (LAN) conseguirão abrir o Windows-Share através de nosso endereço IP = \\172.16.1.234 (ou o que você estiver vendo na sua tela do TrueNAS-CORE/FreeNAS).

Desta forma, para outros Datasets que forem criados abaixo do Windows-Dataset não será mais preciso criar novos Shares, o principal só já é suficiente.

Este detalhe é importante pois agora a criação de ACLs fica muito mais simples pois você só tem que criar os sub-Datasets e as ACLs, pois os grupos já estão criados e o Share principal também.

Vamos criar os sub-Datasets

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = publico

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = ti

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = diretoria

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = financeiro

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = adm

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = comercial

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = compras

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = prod

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = rh

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = circulares

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = gerentes

Share Type = SMB

SAVE

 

Storage > Pools > Windows-Dataset > 3 pontinhos > Add Dataset

Name = circulares_gerentes

Share Type = SMB

SAVE

Criando diferentes ACLs

Vamos criar agora as ACLs:

Configurando a pasta publico:

Storage > Pools > Windows-Dataset > publico > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = TrueNAS-CORE/FreeNAS

Permissions = Full Control

SAVE

Configurando a pasta adm:

Storage > Pools > Windows-Dataset > adm > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = adm

Permissions = Full Control

SAVE

Configurando a pasta circulares:

Storage > Pools > Windows-Dataset > circulares > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = circulares

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = TrueNAS-CORE/FreeNAS

Permissions = Read

SAVE

Configurando a pasta circulares_gerentes:

Storage > Pools > Windows-Dataset > circulares_gerentes > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = gerentes

Permissions = Read

SAVE

Configurando a pasta comercial:

Storage > Pools > Windows-Dataset > comercial > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = comercial

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = financeiro

Permissions = Full Control

SAVE

Configurando a pasta compras:

Storage > Pools > Windows-Dataset > compras > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = compras

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = financeiro

Permissions = Full Control

SAVE

Configurando a pasta diretoria:

Storage > Pools > Windows-Dataset > diretoria > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

SAVE

Configurando a pasta financeiro:

Storage > Pools > Windows-Dataset > financeiro > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = financeiro

Permissions = Full Control

SAVE

Configurando a pasta gerentes:

Storage > Pools > Windows-Dataset > gerentes > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = gerentes

Permissions = Full Control

SAVE

Configurando a pasta prod:

Storage > Pools > Windows-Dataset > prod > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = prod

Permissions = Full Control

SAVE

Configurando a pasta rh:

Storage > Pools > Windows-Dataset > rh > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = diretoria

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = rh

Permissions = Full Control

 

ADD ACL ITEM

Who = Group

Group = financeiro

Permissions = Full Control

SAVE

Configurando a pasta ti:

Storage > Pools > Windows-Dataset > ti > 3 pontinhos > Edit ACL

ADD ACL ITEM

Who = Group

Group = ti

Permissions = Full Control

SAVE

 

Tudo pronto, agora, falta apenas testar as configurações com os devidos usuários.

Quando um usuário não tem direito de acesso a uma determinada pasta ela fica oculta para ele só aparecendo se for somente leitura ou de acesso liberado.

Testando configurações

O User = usuario conseguiu entrar em todos os compartilhamentos e inclusive conseguiu gravar no Windows-Dataset onde criou um arquivo texto e uma pasta temp.

O diretor por sua vez conseguiu gravar em todos os diretórios, menos no Windows-Dataset que para ele é somente leitura.

O usuário financeiro respeitou corretamente todos os direitos de acesso, e nas pastas de circulares e circulares_gerentes ele acessou somente leitura.

O usuário Adm1, que é um gerente, também não apresentou problemas de acesso, veja que ele visualiza poucas pastas.

O usuário adm2 por sua vez, acessa ainda menos pastas ainda pois não é gerente.

Via de regra todas as configurações funcionaram normalmente, e os direitos que foram planejados funcionaram corretamente.

Pelo fato de termos seguido um roteiro de configuração, nada foi omitido, e se foi, ficou fácil de detectar o ponto que foi esquecido pois temos uma boa documentação do projeto.

Por fim, como mandam as boas práticas, realize um backup das configurações.

System > General > SAVE CONFIG

Observe que nas implementações deste projeto nenhuma vez alteramos as configurações default de User = root e Group = wheel do Dataset, nem as ACLs padrão de owner@ e group@ do TrueNAS-CORE/FreeNAS, mesmo assim tudo funcionou perfeitamente.

Veja os direitos de acesso como ficaram associados ao Group wheel (administrador do TrueNAS-CORE/FreeNAS):

Apesar dos arquivos estarem associados ao grupo wheel do administrador, não existe problema nesta configuração que foi feita até agora pois o grupo wheel está vazio, tendo apenas o root como membro somado ao fato de que os usuários anônimos do grupo everyone@ não tem nenhum acesso liberado (rwxrwx---).

 

Mas se você deseja eliminar até este detalhe basta na ACL remover a ACL 1 e a ACL2 do owner@ e do group@ (lado direito da tela) e alterar o dono do Dataset para User = usuario e Group = TrueNAS-CORE/FreeNAS (lado esquerdo da tela).

Fazendo isso em todas as ACLs de todos os Datasets, você elimina de vez a figura do grupo wheel mudando-o para TrueNAS-CORE/FreeNAS.

Exemplo de alteração no Dataset publico

Vou dar um exemplo no sub-Dataset publico com base na figura acima:

Storage > Pools > Windows-Dataset > publico > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

Vejam como ficou, os novos arquivos estão vinculados agora ao grupo TrueNAS-CORE/FreeNAS e, portanto, não tem mais vínculos com o grupo administrador que é um ponto de insegurança muito perigoso:

Alterando ACLs para eliminar grupo wheel dos arquivos e diretórios

Caso você queira o roteiro para alterar todas as ACLs para o modo mais seguro basta fazer:

 

 

Storage > Pools > Windows-Dataset > ti > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > diretoria > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > financeiro > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > adm > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > comercial > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > compras > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > prod > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > rh > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > circulares > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > gerentes > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > circulares_gerentes > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

 

Storage > Pools > Windows-Dataset > publico > 3 pontinhos > Edit ACL

Do lado esquerdo da tela (File Information) mude:

User = de root para usuario

Group = de wheel para TrueNAS-CORE/FreeNAS

Do lado direito da tela (Access Control List) apague as duas primeiras ACLs clicando no botão DELETE em amarelo:

ACL do owner@ >>> DELETE

ACL do group@ >>> DELETE

Mantenha as ACLs que você personalizou e clique em SAVE

 

Após estas alterações os direitos de acesso ficaram assim na pasta publico e na pasta gerentes:

Os arquivos da pasta publico agora estão associados ao grupo TrueNAS-CORE/FreeNAS que não é mais administrador como o wheel.


 

 

Fazendo Backup do Dropbox e do Google Drive

Antes e conhecer este recurso do TrueNAS-CORE/FreeNAS eu vivia totalmente sem nenhuma segurança no que diz respeito aos dados do Google Drive.

Dentro dele tenho muitas coisas importantes e como uso planilhas na nuvem (que ficam armazenadas no Google Drive) a situação passa a ser crítica, haja visto que o aplicativo do Google para backup do Google Drive simplesmente não funciona no meu micro.

Durante um tempo tentei usar o aplicativo Google Backup and Sync e a experiência foi decepcionante, seu funcionamento foi instável, ele fez backup de coisas que eu não queria, e não sincronizava coisas que eu realmente precisava.

Quando constatei o grande erro que foi usar este programa, simplesmente o abandonei e fiquei sem backup no Google Drive contando com a sorte para não perder meus dados.

Já havia lido a respeito de sincronizar o TrueNAS-CORE/FreeNAS com o Dropbox, mas como não uso o Dropbox isso não me despertou interesse, haja visto que como eu mencionei anteriormente já possuía uma solução de Backup e Sincronia usando o Centos Linux.

Foi então que me deparei com um texto de 21 de janeiro de 2020 no site da iXsystems que é a desenvolvedora do TrueNAS-CORE/FreeNAS ensinando como sincronizar o Dropbox com o TrueNAS-CORE/FreeNAS.

Fiz os testes e verifiquei que a solução do TrueNAS-CORE/FreeNAS funciona igualmente para Google Drive e Dropbox dando uma enorme segurança quanto à perda de dados que é praticamente impossível, desde que a sincronia esteja ativa todos os dias.

Com a experiência positiva, adotei ambas soluções ao meu dia a dia, e desde então durmo tranquilo sem o medo de perder meus documentos de trabalho e pessoais.

Para quem ainda não leu minhas explicações de como funciona o Backup do Dropbox e do Google Drive no TrueNAS-CORE/FreeNAS no capítulo “Vamos entender o TrueNAS-CORE/FreeNAS” recomendo fortemente que o faça agora, pois sem esta base teórica você corre o risco de apagar todos os seus documentos sem querer.

A partir de agora para referenciar o Dropbox e o Google Drive usaremos apenas o termo “nuvem”, pois ficar toda hora digitando os dois nomes é complicado.

Roteiro para implantar o Backup da nuvem no TrueNAS-CORE/FreeNAS:

- Criar o grupo nuvem

- Adicionar o User = usuario no Group = nuvem

- Criar um novo usuario para a nuvem

- Criar um novo Dataset para a nuvem

- Criar um  novo Share para a nuvem

- Criar um novo ACL para o Share da  nuvem

- Ativar as Credenciais da nuvem

- Ativar a Tarefa Cloud Sync Task

- Rodar o primeiro Backup manualmente

Criando o Group = nuvem

Criando o grupo nuvem

Accounts > Group > ADD

Name = nuvem

SAVE

Adicionando o User = usuario no Group = nuvem

Accounts > Groups > nuvem > 3 pontinhos > members

Selecione o User = usuario

Com a setinha -> coloque-o no Group = nuvem

SAVE

Criando um novo usuario para o Dropbox

Accounts > Users > ADD

Full Name = dropbox

Password = x

Confirm Password = x

Desabilitar new Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = nuvem

SAVE

Criando um novo Dataset para o Dropbox

Storage > Pools > Pool-Raid-Z > 3 pontinhos > Add Dataset

Name = dropbox

Share Type = SMB

SAVE

Criando um novo Share para o Dropbox

Sharing > Windows Share (SMB) > ADD

Path = /mnt/Pool-Raid-Z/dropbox

SAVE

Criando um novo ACL para o Share do Dropbox

Sharing > Windows Share (SMB) > dropbox > 3 pontinhos > Edit ACL

File Information > User = usuario

File Information > Group = TrueNAS-CORE/FreeNAS

ADD ACL ITEM

Access Control List > Who = Group / Group = nuvem / ACL Type = Allow / Permissions = Full Control

Access Control List > Who = owner@ > DELETE

Access Control List > Who = group@ > DELETE

SAVE

Ativando as Credenciais do Dropbox

System > Cloud Credentials > ADD

Name = dropbox

Provider = Dropbox

clique em > LOGIN TO PROVIDER

na tela que abrir clique em > Proceed

Preencher dados de Login do Dropbox

Clicar em > Acessar Conta

Clique em > VERIFY CREDENTIAL > CLOSE

SAVE

 

 

 

 

 

Ativando a Tarefa de Sincronia da Cloud (Cloud Sync Task)

Tasks > Cloud Sync Tasks > ADD

Description = dropbox

Direction = PULL

Credential > Selecione a Credential = dropbox (DROPBOX)

Folder (origem) = /

Directory Files (destino) = /mnt/Pool-Raid-Z/dropbox

Transfer Mode = COPY

SAVE

 

Rodando o primeiro Backup do Dropbox manualmente

Tasks > Cloud Sync Tasks > dropbox > setinha para direita > Run Now

 

 


 

Criando o Backup do Google Drive

Criando o grupo nuvem (já criado no exemplo do Dropbox)

Accounts > Group > ADD

Name = nuvem

SAVE

Adicionando o User = usuario no Group = nuvem

(Este item já foi feito no exemplo do Dropbox)

Accounts > Groups > nuvem > 3 pontinhos > members

Selecione o User = usuario

Com a setinha -> coloque-o no Group = nuvem

SAVE

Criando um novo usuario para o Google Drive

Accounts > Users > ADD

Full Name = google

Password = x

Confirm Password = x

Desabilitar new Primary Group

Primary Group = TrueNAS-CORE/FreeNAS

Auxiliary Groups = nuvem

SAVE

Criando um novo Dataset para o Google Drive

Storage > Pools > Pool-Raid-Z > 3 pontinhos > Add Dataset

Name = google

Share Type = SMB

SAVE

Criando um  novo Share para o Google Drive

Sharing > Windows Share (SMB) > ADD

Path = /mnt/Pool-Raid-Z/google

SAVE

Criando um novo ACL para o Share do Google Drive

Sharing > Windows Share (SMB) > google > 3 pontinhos > Edit ACL

File Information > User = usuario

File Information > Group = TrueNAS-CORE/FreeNAS

ADD ACL ITEM

Access Control List > Who = Group / Group = nuvem / ACL Type = Allow / Permissions = Full Control

Access Control List > Who = owner@ > DELETE

Access Control List > Who = group@ > DELETE

SAVE

Ativando as Credenciais do Google Drive

System > Cloud Credentials > ADD

Name = google

Provider = Google Drive

clique em > LOGIN TO PROVIDER

na tela que abrir clique em > Proceed

Preencher dados de Login do Google Drive

Clicar em > Acessar Conta

Clicar em > VERIFY CREDENTIAL

SAVE

 

 

 

 

 

 

 

Ativando a Tarefa de Sincronia da Cloud (Cloud Sync Task)

Tasks > Cloud Sync Tasks > ADD

Description = google

Direction = PULL

Credential > Selecione a Credential = google (GOOGLE_DRIVE)

Folder (origem) = /

Directory Files (destino) = /mnt/Pool-Raid-Z/google

Transfer Mode = COPY

SAVE

Rodando o primeiro Backup manualmente

Tasks > Cloud Sync Tasks > google > setinha para direita > Run Now

Ao tentar pela primeira vez realizar o Backup do Google Drive verificamos que havia um problema de sincronia entre o TrueNAS-CORE/FreeNAS e o Google Drive no que diz respeito aos horários que cada servidor usava para controlar a sincronia, isso pode não acontecer com você, mas caso aconteça o procedimento para desbloquear é simples.

Desbloqueando o Google Drive

Para resolver este problema foi necessário logar na conta do Google Drive e no link :

https://myaccount.google.com/u/1/dashboard

Selecionar > GERENCIAR A SINCRONIZAÇÃO DO GOOGLE CHROME

Selecionar > REDEFINIR SINCRONIZAÇÃO

Feito isso a sincronia iniciou corretamente.

Porém ao tentarmos acessar a pasta do google pelo compartilhamento de rede SMB verificamos que perdemos os direitos de acesso e tivemos que voltar à ACL do Dataset do google para voltar os direitos de User = usuario e Group = TrueNAS-CORE/FreeNAS, apagando as ACL do owner@ e group@,  criando a ACL do grupo = nuvem, além de habilitar um item adicional que é uma nova ACL para o usuário root.

Recriando o ACL para o Share do Google Drive

Sharing > Windows Share (SMB) > google > 3 pontinhos > Edit ACL

File Information > User = usuario

File Information > Group = TrueNAS-CORE/FreeNAS

ADD ACL ITEM

Access Control List > Who = Group / Group = nuvem / ACL Type = Allow / Permissions = Full Control

Access Control List > Who = owner@ > DELETE

Access Control List > Who = group@ > DELETE

 

ADD ACL ITEM

Access Control List > Who = User / User = root / ACL Type = Allow / Permissions = Full Control

SAVE

 

Entrando no Shell do TrueNAS-CORE/FreeNAS encontramos a seguinte situação no diretório /mnt/Pool-Raid-Z/google

Por causa destes direitos de acesso vinculados ao usuário root e ao grupo wheel, não é possível visualizar os arquivos sincronizados e copiados do Google Drive no \\172.16.1.214  (ou seu endereço do TrueNAS-CORE/FreeNAS).

Para resolver isso logue no Shell do TrueNAS-CORE/FreeNAS e execute o seguinte comando:

cd /mnt/Pool-Raid-Z/google

chown -R root:TrueNAS-CORE/FreeNAS *

 

Aguardamos um tempo até as sincronias acabarem e verificamos que ambas foram bem sucedidas

 

Agora você já tem uma solução profissional de Backup do Dropbox e do Google Drive imune ao Ransomware, pois como a sincronia é agendada e Off-Line, não existe risco das suas cópias de arquivos serem apagadas.

Veremos no próximo capítulo a questão do Versionamento do Backup através dos Snapshots do TrueNAS-CORE/FreeNAS, e com este recurso a mais, você poderá inclusive acessar diversas versões de um mesmo documento ao longo do tempo, impedindo que o Ransomware cause perdas invisíveis, ou seja, de arquivos que aparentemente estão OK, mas que internamente estejam comprometidos.

Com o Versionamento de Backup, você tem 365 dias de versões para cada arquivo e pode recuperar a última versão válida, antes do ataque do Ransomware.

 


 

Fazendo Backup no TrueNAS-CORE/FreeNAS

Agora que já temos um ambiente operacional completo adequado às mais diferentes configurações de organização podemos abordar o tema mais importante do TrueNAS-CORE/FreeNAS que é a sua capacidade de fazer Backup Versionado através de Snapshots.

O TrueNAS-CORE/FreeNAS cria Snapshots e viabiliza um Backup mais eficiente em termos de tempo (pois é muito rápido), de espaço (pois é apenas da diferença do que foi alterado), e em termos de operacionalidade pois ele pode ser feito a quente enquanto os usuários estão usando os arquivos no mesmo instante em que o Snapshot é criado.

Outro aspecto muito importante é que o Backup com Snapshot pode ser hierárquico, ou seja, você pode fazer um Backup Global associado à Pool, ou mais direcionado quando o Backup é associado ao Dataset ou ao sub-Dataset.

Temos em nosso exemplo os seguintes Pools e Datasets:

- Pool-Raid-Z

- Windows-Dataset + 12 sub-Datasets

- dropbox

- google

Ou seja, se criamos uma regra para fazer Backup da Pool-Raid-Z, então todos os 3 Datasets acima são backupeados ao mesmo tempo.

Mas se a periodicidade dos Backups dos 3 Datasets for diferente, então você separa o Backup de cada Dataset e os Snapshots ficam vinculados aos Datasets e não mais à Pool-Raid-Z.

E ainda tem mais, caso o seu servidor possua mais de uma Pool, o que não é raro, mais combinações de Backup se tornam possíveis.

Fazendo Snapshots manualmente.

Nesta modalidade você entra no Storage > Pools e simplesmente seleciona a Pool ou o Dataset que você deseja fazer um Snapshot e pronto

Storage > Pools > Pool-Raid-Z > Windows-Dataset > publico > 3 pontinhos > Create Snapshot

Será gerado um nome automático para o snapshot com data e hora do backup

CREATE SNAPSHOT

Restaurando um Snapshot completo

Para restaurar o Snapshot, basta

Storage > Snapshots

Selecionar Snapshot

na linha do Snapshot selecionar setinha para direita

Vão aparecer 3 opções:

- DELETE

- CLONE TO NEW DATASET

- ROLLBACK

 

Onde ROOLBACK retorna todo o conteúdo do Snapshot para a Pool apagando os dados atuais e substituindo-os pelo conteúdo antigo.

CLONE TO NEW DATASET é a opção mais adequada pois cria um novo Dataset que pode ser disponibilizado via Share para os usuários utilizarem.

Veja na figura que existe o parâmetro de REFERENCED = 128K

Esta informação é o tamanho de espaço em disco ocupado pelo Snapshot.

Restauração manual de 1 arquivo

Se você deseja realizar restaurar apenas 1 arquivo e não voltar todos os arquivos precisará entrar no Shell do TrueNAS-CORE/FreeNAS e fazer isso manualmente

cd /mnt/Pool-Raid-Z/Windows-Dataset/publico/.ZFS/manual-2020-04-14_14-51

ls -lah

cp ShowMyPC3520.exe /mnt/Pool-Raid-Z/Windows-Dataset/ti

Automatizando o Backup Versionado

Fazer manualmente um backup é algo nada confiável e com muita margem de erros, portanto a forma mais adequada é localizar os horários de menor atividade do servidor e nestes horários da madrugada agendar a operação dos backups, ou ainda o oposto, localizar os horários mais críticos de operação e agendar muitos backups para possibilitar maior precisão no restauro das informações.

Exemplificando:

- Fazer backup da Pool-Raid-Z todos os dias às 00:00 horas guardando por 365 dias

- Fazer backup do sub-Dataset financeiro a cada 10 minutos guardando por 30 dias.

Estas 2 regras podem ser implantadas simultaneamente permitindo uma granularidade fantástica no que diz respeito ao Macro e ao Micro no Backup da Organização.

Roteiro dos Backups automatizados

- Agendar backup do Pool-Raid-Z para 1 vez ao dia 00:00 horas por 365 dias

- Agendar backup do Pool-Raid-Z/Windows-Dataset/financeiro a cada 10 min por 30 dias

Agendando backup do Pool-Raid-Z

Tasks > Periodic Snapshot Tasks > ADD

Dataset = Pool-Raid-Z

Recursive ativado

Snapshot Life Time = 365 Days

Desativar Allow Taking Empty Snapshots

SAVE

Agendando backup do financeiro

Tasks > Periodic Snapshot Tasks > ADD

Dataset = Pool-Raid-Z/Windows-Dataset/financeiro

Recursive = ativado

Snapshot Life Time = 30 Days

Desativar Allow Taking Empty Snapshots

 

Schedule the Periodic Snapshot Task* = Custom

 

Minutes = */10 (vai executar o backup de 10 em 10 minutos)

Hours = *

Begin = 1:00:00

End = 23:00:00

SAVE

 

Veja abaixo os arquivos gravados pelo Snapshot automático do sub-Dataset financeiro

Com isso finalizamos o tema do Backup.

Nada complicado

Tudo funcional e com configuração rápida e fácil.

Importante as pastas .zfs que contém os Snapshots são inacessíveis para os usuários dos Compartilhamentos SMB/SAMBA.

Para que o Ransomware acesse estas pastas .zfs, seria necessário que seu TrueNAS-CORE/FreeNAS seja invadido no Sistema Operacional, por isso recomendamos sempre usar senhas difíceis para o usuário = root e não ativar o serviço de SSH do seu TrueNAS-CORE/FreeNAS.


 

Quebrou o HD

Vamos ver agora o que fazer quando quebra um HD.

Um HD do seu Raid-Z quebrou.

Você nem percebe o problema pois o Raid-Z continua funcionando normalmente sem apresentar erros, contudo, no Dashboard do TrueNAS-CORE/FreeNAS aparece o Status de Pool Degradada.

Isto significa que o disco de Spare que nós configuramos passa receber o conteúdo que iria para o disco defeituoso até que ele seja trocado.

O Raid-Z com Spare suporta a perda de até 2 HDs, vamos então simular a perda de 1 HD e depois a perda de um segundo HD e observar o comportamento do Raid-Z.

E depois veremos como se faz para restaurar os HDs defeituosos.

Roteiro

- Remover 1 HD

- Remover segundo HD

- Testar Raid-Z

- Recolocar 1 HD

- Recolocar segundo HD

- Testes Finais

Removendo 1 HD

Pare a máquina Virtual.

Faça um clone dela.

Abra as Configurações de Armazenamento

 

Selecione o HD_Quebrou-disk1.vdi e remova-o da máquina virtual

Reinicie a VM

 

 

 

No instante em que o Pool-Raid-Z fica degradado o TrueNAS-CORE/FreeNAS também te avisa via E-mail, mandando para o seu E-mail a seguinte mensagem:

TrueNAS-CORE/FreeNAS TrueNAS-CORE/FreeNAS.local: Alerts

 

edson.tagusagawa@gmail.com               18:06 (há 1 hora)

TrueNAS-CORE/FreeNAS @ TrueNAS-CORE/FreeNAS.local

 

New alerts:

* Pool Pool-Raid-Z state is DEGRADED: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state..

 

Para ver o Status da Pool-Raid-Z entre em:

Storage > Pools > Pool-Raid-Z > Engrenagem do lado direito da tela > Status

 

 

Observe que o Spare é ativado e fica indisponível pois está substituindo o disco perdido.

Removendo Segundo HD

Vamos agora remover o segundo HD.

Desligue a máquina virtual e remova o segundo HD

 

Observe que apenas 1 partição continua ativa do Raid-Z original a ada1p2

Testando Raid-Z

Agora sem 2 HDs faltando vamos acessar o Compartilhamento Windows-Share para ver como está se comportando o Raid-Z.

 

O Raid-Z está perfeito e funcionando normalmente.

Recolocando 1 HD

Vamos parar novamente a máquina virtual e recolocar um HD de tamanho 30Gb para testar.

 

Para reinstalar um HD você tem que selecionar uma linha e ativar a opção de REPLACE

 

 

 

 

Recolocando segundo HD

Agora que você viu como é simples recolocar um HD no Raid-Z vamos completar sua configuração com todos os 4 discos dele.

 

 

 

Observem que remontamos o Raid-Z com discos de tamanhos diferentes 20Gb , 30Gb e 40 Gb, isso não importa, todos serão utilizados como se fossem de 20Gb de tamanho e o tamanho excedente será descartado.

 

 

 

Pronto tudo recuperado, o Pool-Raid-Z está perfeito e On-Line.

Muitos se perguntam se ao invés de Spare seria melhor criar um Raid-Z2 com 2 discos de paridade, mas observe bem que o disco de Spare por não ser usado o tempo todo fica com seu mecanismo preservado de forma que seu desgaste só ocorre se um HD quebra e precisa ser substituído.

Um Raid-Z2 causaria um desgaste permanente nos seus 2 discos de paridade diminuindo a vida útil deles, ao contrário do Spare que fica em imobilidade à espera para ser usado sem se desgastar.

Testes Finais


 

 

Conclusões

Ao longo do livro abordamos teoria e prática, pois sem a teoria você perde a visão do que está fazendo e pode acabar perdendo dados importantes.

Nos primeiros exemplos o conteúdo foi mais detalhado para que o leitor pudesse se familiarizar com as telas, mas na medida em que as coisas passaram a se repetir passamos a mostrar os comandos em modo texto pois fica mais fácil para configurar e memorizar.

Seguindo as receitas, é muito possível que você consiga adaptar os modelos que o livro traz sem se preocupar muito com a perda de dados.

Os nomes das Pools, Datasets, Shares, ACLs, Usuários e Grupos utilizados neste livro podem ser muito bem aproveitados por você, pois são genéricos e não causam problemas junto ao usuário final que consegue identificar seu nome de login facilmente.

Vimos também o mais importante que é a manutenção de um Raid-Z com a remoção e substituição de discos no TrueNAS-CORE/FreeNAS, vocês puderam verificar que toda a operação é simples e feita pela interface gráfica WEB do TrueNAS-CORE/FreeNAS, sem grandes problemas ou dificuldades.

Quando uma Pool/Raid fica degradada, vimos também que o TrueNAS-CORE/FreeNAS envia um e-mail de aviso por isso é tão importante configurarmos a rede e o e-mail do administrador = root como é feito no início do livro.

Todo cuidado é pouco, e um e-mail pode te salvar de situações muito difíceis que é a perda de mais de um HD simultaneamente na mesma Pool/Raid.

Lembre-se também de sempre deixar o TrueNAS-CORE/FreeNAS ligado nos Finais de Semana, quando o Scrub realiza os testes de funcionamento dos HDs físicos.

Sem o Scrub, toda a segurança dos Snapshots pode ficar comprometida, pois sem testes constantes, você  pode perder tudo sem perceber.

Nos casos reais, o tempo para a sincronização do Raid-Z será muito maior e demorado, pois o volume de dados precisará ser processado, mas neste laboratório foi quase instantâneo, por isso quando algum disco quebrar e o seu Pool-Raid-Z ficar degradado substitua imediatamente o disco defeituoso, pois levará um bom tempo para que ele volte a funcionar normalmente, e durante este período de tempo você estará vulnerável à perda de dados caso outro HD também quebre.

Isso não é difícil, ainda mais se os HDs forem do mesmo lote com o mesmo erro de fabricação afetando-os, ou ainda pelo mesmo tempo de desgaste físico pois estão sendo usados pelo mesmo período de tempo.

Para quem tiver dúvidas, deixo o meu e-mail para contato,  edson.tagusagawa@gmail.com, mas acredito que o conteúdo é bem completo e funciona.

Boa sorte e que o TrueNAS-CORE/FreeNAS possa te ajudar muito no seu dia a dia e abrir novos caminhos.