- Mesmo após a descontinuação do Time Capsule, é possível instalar Linux em um equipamento pequeno e de baixo consumo para montar por conta própria um dispositivo de backup sempre ativo para macOS por um custo baixo
- O HP t520 de US$ 25 com frete incluído traz AMD G-Series dual-core, 4 GB de RAM, SSD M.2 SATA de 16 GB, Ethernet de 1 Gbps e portas USB 3.0, o que é suficiente para um servidor de função única
- O armazenamento pode ser interno em SSD M.2 SATA ou externo via USB3; usando um SSD M.2 SATA 2280 de 2 TB, o custo total fica em torno de US$ 94
- No Bodhi Linux, instala-se
netatalk e avahi-daemon para configurar um compartilhamento Time Machine baseado em AFP, mas após a publicação foi acrescentado o aviso de que o AFP foi descontinuado e o ideal é usar Samba
- O backup inicial de 460 GB, que a 2 Mbit/s levaria 21 dias, foi reduzido para 8 horas ao melhorar para 120 Mbit/s com Power Nap,
debug.lowpri_throttle_enabled=0 e posicionamento próximo ao ponto de acesso Wi‑Fi
Plano do ThinMachine como substituto do Time Capsule
- O Time Machine da Apple foi o motivo da mudança para Mac em 2007, e depois o autor passou a usar backup sem fio com o Time Capsule
- O Time Capsule antigo funcionou por mais de 10 anos até quebrar, e o macOS passou a exibir repetidamente alertas de que o backup estava desatualizado
- Mesmo depois de a Apple descontinuar o Time Capsule, ainda é possível montar um dispositivo de backup parecido configurando um servidor Linux
- Para um dispositivo de função única que ficará sempre ligado, o ideal é um hardware pequeno, de baixo consumo e que caiba no armário de internet
- Um Raspberry Pi também serviria, mas na época era difícil de encontrar e custava mais de US$ 80, além de exigir gabinete e fonte separados, reduzindo a atratividade em custo
- Como alternativa, foi escolhido um PC thin client usado, com um HP t520 comprado no eBay por US$ 25 com frete incluído
Hardware e consumo de energia do HP t520
- A configuração básica do HP t520 de US$ 25 é suficiente para uso como servidor de backup simples
- AMD G-Series GX-212JC dual-core de 1,2 GHz com Radeon R2E
- 4 GB DDR3-1600
- SSD M.2 SATA de 16 GB
- Ethernet de 1 Gbps
- 2 USB 3.0, 4 USB 2.0
- 2 DisplayPort, 1 VGA
- Suporte vertical
- Adaptador de energia de 18,5 V e cabo
- Não há Wi‑Fi, mas como ele ficaria ao lado do roteador no armário de internet, isso não foi um problema; se necessário, é possível usar o slot mini PCIe vazio
- A adição de Wi‑Fi não foi testada diretamente, então não há confirmação de funcionamento em 100%
- O t520 consome 6 W em idle e 10 W fora disso
- Considerando tarifa média de US$ 0,35 por kWh, manter 6 W continuamente custa cerca de US$ 19 por ano
- Outros thin clients, como o HP t610, podem passar de 10 W em idle por causa de chipsets mais antigos
- Um Raspberry Pi 4 mede cerca de 4 W
- O sistema padrão é o HP Thin Pro, uma distribuição personalizada baseada em Tiny Core Linux
- O HP Thin Pro inclui clientes Citrix e VMWare
- O Tiny Core Linux original também foi testado, mas a quantidade de pacotes disponíveis era limitada demais
Escolha do armazenamento de backup: SSD interno e USB3 externo
- A capacidade oficialmente suportada para SSD interno no t520 é de 64 GB, mas isso reflete especificações de uma época em que SSDs M.2 maiores ainda não existiam
- O slot M.2 interno suporta os formatos 2242 e 2260, e um SSD 2280 interfere fisicamente no alto-falante por padrão
- O alto-falante pode ser removido soltando dois parafusos após levantar a placa-mãe
- Antes de instalar um SSD 2280, é preciso cobrir com fita os pads de cobre expostos e trilhas na parte traseira do SSD
- Como não há parafuso de fixação, existe a possibilidade de o SSD se soltar do soquete, mas isso não foi considerado uma grande preocupação na montagem real
- O slot interno do t520 suporta apenas SSD M.2 SATA
- SSDs de grande capacidade são frequentemente NVMe, mas esse slot não é para PCIe/NVMe
- A HP escolheu um conector inadequado, o que permite encaixar fisicamente um SSD NVMe
- Se um SSD NVMe for inserido, há risco de danificar o SSD, a placa-mãe ou ambos
- Na escolha do armazenamento interno, houve grande diferença de preço e formato
- Um SSD M.2 SATA 2260 de 2 TB custava US$ 149 na Amazon
- Um SSD M.2 SATA 2280 de 2 TB começava em US$ 69
- Um SSD SATA 2280 de 4 TB saltava para US$ 260
- O SSD M.2 SATA 2280 de 2 TB escolhido funcionou normalmente, e o custo total do ThinMachine de 2 TB ficou em US$ 94
- Um drive externo USB3 é uma alternativa que reduz a dificuldade de instalação
- SSDs de 2,5 polegadas de 4 TB começam em US$ 150, com possibilidade de capacidades maiores
- É fácil desconectar o drive para guardar ou conectar em outro PC
- Não é preciso abrir o t520
- A desvantagem é a necessidade de um gabinete USB3 e um visual menos limpo
Instalação do Bodhi Linux e particionamento
- Procurando uma distribuição baseada em Ubuntu com imagem de instalação pequena, a escolha foi o Bodhi Linux
- A versão HWE era 5 MB maior que a versão padrão, com 837 MB, e oferecia suporte a hardware mais recente
- O download da ISO do Ubuntu era lento, mas a ISO do Bodhi Linux foi baixada rapidamente
- O fluxo de instalação segue o processo comum de boot via USB
- Preparar um pendrive de pelo menos 1 GB
- Gravar a imagem ISO no USB com Balena Etcher
- Conectar o USB ao t520 e inicializar
- Seguir o instalador para instalar o Bodhi Linux no SSD do t520
- O particionamento do SSD interno separa sistema operacional e dados de backup
/dev/sda1: efi, 1 GB, partição de boot e precisa ser a primeira partição
/dev/sda2: ext4, 16 GB, para instalação do Bodhi Linux
/dev/sda3: ext4, todo o restante, partição de dados de backup
- Os pontos de montagem também ficam claramente separados
/dev/sda2 é montado no diretório raiz /
/dev/sda3 é montado em /mnt/timemachine
- Após a instalação, o Bodhi Linux usa pouco mais de 5 GB no SSD, então alocar 16 GB deixa espaço para instalar ferramentas adicionais
Conta do servidor Time Machine e configuração AFP
- Primeiro, os pacotes são atualizados para a versão mais recente
sudo apt update && sudo apt dist-upgrade
- Em seguida, instalam-se os pacotes necessários para o funcionamento do Time Machine
sudo apt install procinfo netatalk avahi-daemon
- O Avahi é uma implementação open source de rede de configuração zero semelhante ao Apple Bonjour e permite que o Mac veja o servidor thinmachine na rede
- O Netatalk é uma implementação open source do Apple Filing Protocol e inclui suporte ao Apple Time Machine
- É criada uma conta dedicada chamada
timemachine
- Essa conta não tem privilégios de
root nem sudo e não cria diretório em /home
- Esse nome de usuário e senha são usados ao conectar do Mac ao servidor
- Essa senha não é a senha de criptografia dos dados de backup
sudo useradd --no-create-home timemachine
sudo passwd timemachine
sudo chown timemachine:timemachine /mnt/timemachine/
- Edita-se
/etc/netatalk/afp.conf para configurar o compartilhamento do Time Machine
vol size limit permite limitar em MB o espaço em disco que o backup do Time Machine pode usar
- Aqui, como o drive inteiro é usado para o Time Machine, não foi definido limite de capacidade
hostname não precisa ser igual ao hostname Unix, mas será o nome exibido na rede Bonjour
;
; Netatalk 3.x configuration file
;
[Global]
hostname = thinmachine
[ThinMachine]
path = /mnt/timemachine
time machine = yes
valid users = timemachine
;vol size limit = 500000
- Os daemons necessários são habilitados e iniciados
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon
sudo systemctl enable netatalk
sudo systemctl start netatalk
- As portas necessárias são liberadas no firewall e o Netatalk é reiniciado
sudo ufw allow 548
sudo ufw allow 427
sudo ufw allow 4700
sudo systemctl restart netatalk
- Essa configuração é baseada em AFP e, após a publicação, foi acrescentado o aviso de que o AFP foi descontinuado e que se deve usar Samba
Recuperação de energia e conexão com o Mac
- Como o appliance de backup precisa voltar a ligar automaticamente após uma queda de energia, a configuração da BIOS foi alterada
- Pressionar F10 no início da inicialização para entrar na BIOS
- Ir em
Advanced → Power-On Options
- Definir
After Power Loss como On
- Nas configurações do Time Machine no Mac, ao clicar em
Select Disk, o ThinMachine aparece como uma das opções
- A criptografia dos dados de backup é feita no Mac, e o thin client não participa da criptografia nem da descriptografia
- Se a senha do backup for perdida, não há como recuperar os dados
- O primeiro backup pode demorar bastante
Melhorando a velocidade do backup inicial
- O MacBook tinha 460 GB de dados, e o backup do Time Machine é atômico, então, se não terminar, precisa recomeçar do zero
- A velocidade inicial do backup era de cerca de 2 Mbit/s, o que significava algo em torno de 21 dias para concluir tudo
- Nesse meio-tempo, se o servidor fosse desligado e ligado novamente ou se o notebook saísse do alcance do Wi‑Fi, o backup teria de reiniciar do começo
- O Power Nap foi ativado mesmo no uso com bateria
- Com o Power Nap ativado, o backup do Time Machine continua mesmo com o notebook fechado ou funcionando na bateria
- Com o Power Nap desativado, o backup era interrompido e reiniciado
- Durante o primeiro backup completo, foi desativada a limitação de processos em segundo plano
sudo sysctl debug.lowpri_throttle_enabled=0
- Com isso, a velocidade do backup subiu de 2 Mbit/s para 20 Mbit/s
- Depois do backup inicial, a limitação deve ser reativada
sudo sysctl debug.lowpri_throttle_enabled=1
- Ao mover o notebook para perto de um ponto de acesso da rede mesh Wi‑Fi Eero, a velocidade subiu de 20 Mbit/s para 120 Mbit/s
- Graças à mudança de prioridade e à proximidade com o AP, o tempo de backup dos 460 GB caiu de 21 dias para 8 horas
Resultado de uso e possibilidades adicionais
- Após alguns dias de uso, o alerta de backup desatualizado no MacBook desapareceu, e os backups passaram a funcionar normalmente em segundo plano
- Também seria possível expandir o t520 com drives adicionais e usá-lo como NAS, mas isso não pareceu necessário
- Outra possibilidade seria criar cópias completas periódicas em um drive externo para se proteger contra falha do drive interno
- Como já era usado o Backblaze como serviço de backup off-site, isso foi considerado redundância suficiente
1 comentários
Comentários no Hacker News
Não confio mais no Time Machine. Há alguns anos, criei um shell script que automatiza quase toda a configuração completa do sistema usando
brewe outras ferramentas, e de vez em quando apago tudo do sistema e restauro com esse scriptPara backup de dados, uso restic. A grande vantagem é que dá para ler os backups mesmo sem ter um dispositivo macOS. Quando o meu único equipamento com macOS teve um problema de hardware, o backup do Time Machine foi praticamente inútil até eu conseguir um novo Mac
Não é um método ideal para todo mundo, mas o Time Machine corrompeu meus backups mais de 5 vezes e é lento demais em comparação com o restic, então nem penso em tentar de novo a cada novo lançamento do macOS
Sou só um usuário satisfeito há 9 anos, não tenho nenhuma relação com a empresa
[1] https://www.arqbackup.com
Hoje uso Carbon Copy Cloner, Syncthing e Arq. Como resultado, os backups da família ficaram mais rápidos, mais naturais e muito mais fáceis de administrar
Mas no macOS eu tenho 2 contas de usuário, ou seja, a minha e a da minha esposa, e não consegui fazer o Restic acessar os dados da outra conta. Sou administrador, executei como root e também dei “Acesso Total ao Disco”, mas ainda assim não funciona. Gostaria de receber alguma dica
Mesmo usando
brewebrew cask, há muitos apps GUI que ainda exigem instalação manual, e as configurações de cada um ficam espalhadas em vários lugares. Considerando também ferramentas CLI instaladas manualmente, ferramentas em segundo plano e até configurações do sistema, não sei muito bem como automatizar de forma razoável a restauração de tudo isso sem um backup no estilo do Time Machine, ou seja, sem praticamente usar uma imagem de discoTambém queria saber se você teve a mesma corrupção na versão com APFS
Estou rodando Pi-hole e Time Machine em um Raspberry Pi e talvez seja um dos produtos de tecnologia com melhor custo-benefício que já comprei. Segui https://saschaeggi.medium.com/use-a-raspberry-pi-4-for-time-...
É mais caro, precisa de gabinete e fonte de alimentação separados e, sem um gabinete USB3 adicional, não dá para usar SSD M.2. Também há o histórico de corrupção de cartão flash, e o consumo ocioso de energia é só um pouco menor
Dei para minha filha usar quando foi para a faculdade, mas duvido muito que ela tenha realmente usado, e antes de ver este post eu nem tinha pensado em perguntar
Para preservar a sanidade mental, recomendo parar de usar o Time Machine e usar o Carbon Copy Cloner [0]. Ele funciona direito, continua funcionando, tem uma documentação excelente para os cenários possíveis de backup e restauração, e mostra com transparência o que está fazendo
O Time Machine funciona bem até que, de repente, para de funcionar. Ele também não avisa que o backup foi corrompido até você tentar restaurá-lo. Os erros são enigmáticos, não há suporte, os fóruns não ajudam, e backups quebrados não podem ser consertados. O Time Machine adota uma abordagem de “dane-se o usuário” ao não fornecer nenhuma informação sobre o que está fazendo, deixando de fazer ou tentando fazer
Se os dados têm valor suficiente para merecer backup, então você não deveria usar o Time Machine
[0] https://bombich.com
Com o iCloud também, em todo lugar a resposta é só “os dados estão sincronizando”, “desligue e ligue de novo”, “reinicie”. Ao ver o Apple Support recomendar com toda confiança redefinir o iOS ou reinstalar o macOS inteiro por causa de um pequeno problema de sincronização, parece que você está falando com um bot sádico kafkiano
Esse é o manual da Apple. Criticar publicamente nas redes sociais não adianta, e-mails não recebem resposta, e solicitações de clientes são bloqueadas. Às vezes parece até que eu estou sendo pago para usar produtos da Apple
Quando um antigo gerente dizia que, ao receber um Mac, fosse pessoal ou de trabalho, a primeira coisa que fazia era instalar Linux, os novatos o viam como algum fanático estranho de GNU/FOSS. Ele ria e dizia que com o tempo eles entenderiam, e agora eu entendo como o ecossistema da Apple é impotente e hostil. Você acaba em um estado de refém em que aturar barreiras e limitações irritantes faz isso parecer o único caminho possível
Neste ponto, dizer que Time Machine ou qualquer recurso da Apple do qual dependam integridade e confiabilidade dos dados “funciona” ou é “bom o bastante”, ou depender de algo como o iCloud para backup e integridade dos dados, me parece quase autodestrutivo
Estou esperando o dia em que o acesso a arquivos sob permissão explícita fique mais fácil no iOS, ou o Android fique menos ruim. No fim, só resta forçar a abertura das plataformas nesse glorioso duopólio; por conta própria, eles não vão fazer isso
O Time Machine é gratuito e, para a maioria das pessoas, é “bom o bastante” para backup local ou pela rede local. Para backup remoto, BorgBase, Vorta — embora o app GUI do borg seja horrível — e o Backblaze são opções mais ou menos suportáveis
Além disso, o CCC não parece ter backups somente para gravação e imutáveis do lado do cliente após a criação, como o Borg, e a lista de recursos também não mostra criptografia nem deduplicação. https://bombich.com/features
Hoje faço backup com o Time Machine para um servidor TrueNAS e para um disco local, quando lembro de conectá-lo, ambos. Meu diretório home vai para o B2 com o Arq
Para a família, faço todo mundo usar o Backblaze. Foi realmente a única forma de configurar e esquecer. Os familiares sempre esquecem de conectar o drive local do Time Machine e, quando o Time Machine é configurado em um drive de rede, a cada poucos meses ele enlouquece e eles simplesmente ignoram a mensagem dizendo que o backup não está funcionando
O Backblaze praticamente só funciona, e ainda manda um relatório semanal por e-mail. Uma restauração completa provavelmente seria um pouco dolorosa, mas ainda é melhor do que não ter backup nenhum
Criei um shell script relativamente simples para corrigir isso
https://github.com/torstenvl/tmutils
Ainda está bastante beta, então é preciso cuidado ao usar. Há um procedimento de confirmação para mudanças importantes de metadados, e o script
dirdeduperoda em modo de teste por padrão. Para realmente fazer algo, é preciso usar a flag--executeO CCC é excelente, mas não faz backup em tempo quase real nem mantém versionamento. Ele não teria me salvado como o Time Machine “embutido” no slot SD me salvou na sexta-feira passada, em trânsito
O que chama atenção é que o autor conseguiu 16 GB de armazenamento por 25 dólares e depois gastou mais 70 dólares para subir para 2 TB
Para usuários de GNU/Linux — embora isso provavelmente também funcione bem com clientes Microsoft e Apple — uma boa combinação para mini servidores locais e remotos é usar Syncthing e rodar BorgBackup apenas no lado do servidor
Syncthing oferece sincronização quase imediata, e o BorgBackup fornece arquivamento periódico de acordo com a periodicidade e a política de retenção desejadas
Para isolamento, foi colocada uma pequena VM para cada membro da família, e foi orientado que tudo o que fosse realmente importante fosse colocado em
~/work/ou~/private/Curiosamente, a APU suporta AES-NI e também tem um pequeno acelerador criptográfico para SHA. Em contraste com o Raspberry Pi, que não gastou 1 dólar a mais com Armv8 Cryptography Extensions
Com o mesmo consumo ocioso de 6,5 W e o dobro de núcleos, recomendo o t620 em vez do t520
Se 2 núcleos forem suficientes, o Fujitsu Futro s520 também é bom
https://heap.ovh/tag/thin-client.html
Não tenho certeza se usar AFP via Netatalk é mesmo a escolha certa. Pelo que sei, o Time Machine “nativo” atual prefere CIFS/Samba na rede
“Se você puder escolher entre SMB e AFP, use SMB para um disco de backup externo”
https://support.apple.com/guide/mac-help/types-of-disks-you-...
A abordagem de dizer “Não se preocupem. Também uso BackBlaze para backup externo automático, e todos os projetos estão salvos no GitHub e em vários PCs” é inteligente
Em 20 anos, tive 7 falhas catastróficas de disco, e em 4 delas eu estava usando backups que eu mesmo tinha montado. Por preguiça e por fazer tudo de qualquer jeito, em 2 dessas vezes perdi muitos dados. Soluções de backup caseiras não funcionam para mim
Parece um texto escrito hoje, mas é importante notar que o Mac mencionado está rodando um macOS de 5 anos atrás. Como alguém que manteve uma configuração parecida em um Raspberry Pi por um tempo, hoje já não acho que seja uma boa ideia
Se você for usar Time Machine hoje em dia, deveria fazer backup para um volume APFS com snapshots. É muito mais rápido e confiável do que um disco HFS+. Também não recomendo mais porque parece possível que o macOS algum dia abandone de vez o suporte a novos backups em HFS+
O problema é que praticamente não existe um driver de APFS para Linux em um nível de confiança que permita depender dele para backup. Então a escolha realista é ter um Mac para lidar com isso. Na minha rede, deixo um MacBook Pro antigo, de uma das últimas gerações antes do Touch Bar, ligado por cabo ao backbone. É caro, mas pode acreditar que essa é a configuração que você quer
Como observação, se você usar Time Machine em compartilhamento de rede, recomendo ter também mais um backup de “pior caso”, renovado periodicamente. Discos de rede são convenientes, então são ótimos para backups regulares e acesso rápido, mas às vezes o Time Machine pode se corromper de um jeito que ele mesmo não consegue corrigir
Outra solução barata de Time Machine em rede é usar um Intel Mac Mini de segunda mão. Um modelo com Intel i5 de 2,5 GHz, 8 GB de RAM e SSD de 256 GB custa por volta de 120 dólares, e basta configurá-lo para compartilhar o disco do Time Machine pela rede
Além de ser um Time Machine “de verdade”, ele também permite continuar os backups a partir de um disco de Time Machine antigo que antes era usado conectado diretamente. Não há nada novo para aprender
Meu backup principal do Time Machine, para o meu MBP e o da minha esposa, é feito via SMB para um ZFS RAIDZ2 no NAS. Tem funcionado muito bem há cerca de 2 anos
O problema que enfrentei parecia estar relacionado ao espaço acabando por causa da cota configurada. Por causa dos snapshots do ZFS, o mecanismo automático de limpeza do Time Machine não conseguia liberar espaço como esperado. Felizmente, consegui localizar um snapshot recente e íntegro com rollback do ZFS, apagar manualmente snapshots antigos do ZFS para abrir espaço, rodar a verificação do Time Machine e continuar usando. Antes disso, também criei manualmente um snapshot de “confirmação de integridade”
Recentemente descobri a configuração ZFS refquota, e ela parece resolver todo o incômodo acima, fazendo a cota funcionar da forma que o Time Machine espera. Claro que os snapshots do ZFS ainda consomem espaço extra, mas os dados do Time Machine são só uma pequena parte do armazenamento total do array, então tudo bem
O outro problema era com upgrades de kernel e questões de dkms ao usar ZFS no Arch, mas desde que migrei para o NixOS está estável. Backup do Time Machine via Tailscale também funciona muito bem
Também mantenho um segundo backup do Time Machine em um drive USB conectado separadamente a um AirPort Extreme
No mesmo NAS, também uso restic para backups multiplataforma, e esse NAS envia snapshots ZFS dos dados do Time Machine e do restic para um servidor remoto
Por fim, mantenho um drive USB em um cofre e, mais ou menos uma vez por mês, tiro de lá para fazer manualmente um backup local do Time Machine com conexão direta
Fazer backup de tudo era, meio de brincadeira e meio a sério, parte dos votos de casamento. Havia muito em jogo
O principal motivo de eu abrir o link era ver qual modelo de thin client o autor tinha escolhido, e por acaso era o HP T520, do qual eu tenho uma unidade
Sobre o Time Machine não posso comentar, mas a combinação de hardware e Linux era um servidor mais estável do que um computador de placa única semelhante, como um Raspberry Pi ou Odroid. Também não consumia muito mais energia, só era maior