Índice:
- Suprimentos
- Etapa 1: prós e contras
- Etapa 2: preparar o SD: fazer upload do Raspbian
- Etapa 3: preparar o SD: personalizar o cartão
- Etapa 4: prepare o Raspberry Pi
- Etapa 5: Caminho 1: conectar-se ao Pi usando tela, teclado, mouse
- Etapa 6: Caminho 2: conectar-se ao Pi usando VNC a partir do seu computador
- Etapa 7: Prepare o HDD
- Etapa 8: Configurar Rsync: Criar Script de Sincronização
- Etapa 9: Configurar Rsync: Executar uma sincronização uma vez por dia
- Etapa 10: preparar o Samba
- Etapa 11: [Opcional] Samba: configure o acesso de leitura à unidade de rede Vincent
- Etapa 12: [opcional] Samba: acesso ao registro
- Etapa 13: [opcional] Samba: ocultar pasta inútil "/ home / pi"
- Etapa 14: Acesso à unidade de rede do Windows
- Etapa 15: Prepare a 2ª máquina
- Etapa 16: Criar SSH entre máquina local e remota
- Etapa 17: Teste a Sincronização
- Etapa 18: Configurar Rotas de Internet
- Etapa 19: Bibliografia
Vídeo: 2 Raspberry Pis para RAID remoto fácil e barato: 19 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Propósito
- No caso de um incidente em casa, quero poder recuperar meus principais documentos digitais (fotos, documentos de identidade, etc.) e, opcionalmente, compartilhá-los.
- Quero compartilhar esta solução com outra pessoa (alguém em quem confio, pais ou amigo)
- Não quero depender de uma nuvem pública (assinatura, taxas, GTC em evolução, etc)
Princípio
- Crie 2 máquinas de armazenamento idênticas, coloque-as em 2 locais diferentes (por exemplo, 2 casas).
- Atribua um espaço de armazenamento dedicado a cada local em cada máquina.
- Sincronize regularmente os 2 espaços de armazenamento.
Suprimentos
Hardware
Cada máquina tem:
- 1x Raspberry Pi 4 B 1 GB
- 1 caixa para Raspberry Pi 4
- 1x fonte de alimentação USB C 5V 3A
- 1x cartão SD Kingston SDC10 / 16GB
- 1x NAS HDD 1 para WD Red Mobile
- 1x HDD box BX-2525U3
Windows de software
- balenaEtcher
- Raspbian buster desktop completo
- mobaxterm
- Visualizador VNC (opcional)
Pacotes Raspbian
- Rsync
- samba
Etapa 1: prós e contras
Vantagens
- Esta solução é barata: não tenho taxas de assinatura e o hardware é acessível.
- Este "RAID remoto" é bastante fácil de fazer. Não preciso de material ou ferramenta adicional para fazer isso.
- O Raspberry Pi pode ser usado para aplicativos adicionais, como media center (kodi, …) ou domotic (jeedom, domoticz, …).
- Meus dados não estão disponíveis em uma nuvem pública que poderia ser alvo de pirataria massiva de dados.
- Usando um HDD de 1To, o consumo elétrico médio é o mesmo que uma nuvem.
- O firewall do meu roteador e a criptografia SSH da minha conexão protegem as trocas de dados.
Desvantagens / melhorias
- Outra pessoa tem uma cópia dos meus documentos. No meu caso, essa pessoa é da minha família, então não me importo.
- Eu uso a conta "pi" padrão, com uma senha dedicada para ambas as máquinas. Eu poderia proteger o acesso um pouco mais usando uma conta específica separada em cada lado, em vez da conta "pi".
- Conto com meu provedor de serviços de Internet e criptografia SSH para a segurança da conexão entre as 2 casas. A pesquisa pode ser feita para melhorar o nível de segurança.
- Por enquanto, fiz apenas 2 partições por unidade. Uma terceira partição menor (~ 5Go) pode ser útil para outras atividades do Raspbian, para preservar o cartão µSD.
Etapa 2: preparar o SD: fazer upload do Raspbian
De um computador (Windows 10 no meu caso), siga o guia de instalação oficial (https://www.raspberrypi.org/downloads/raspbian/) para instalar o "Raspbian Buster com desktop".
Adicione um arquivo vazio chamado "ssh" no disco "/ boot /"
Adicione um arquivo chamado "wpa_supplicant.conf" no disco "/ boot /"
Abra wpa_supplicant.conf e digite o texto:
país = EUA
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 rede = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}
Salve e feche o arquivo.
Etapa 3: preparar o SD: personalizar o cartão
Adicione um arquivo vazio chamado "ssh" no disco "/ boot /"
Adicione um arquivo chamado "wpa_supplicant.conf" no disco "/ boot /"
Abra wpa_supplicant.conf e digite o texto:
país = EUA
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 rede = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}
Salve e feche o arquivo.
Etapa 4: prepare o Raspberry Pi
Insira seu cartão SD no Pi
Ligue o Raspberry Pi e escolha uma forma de abrir uma área de trabalho:
- Usando cabo HDMI, tela, teclado e mouse
- Usando o VNC do seu computador.
Para obter mais informações, visite
Etapa 5: Caminho 1: conectar-se ao Pi usando tela, teclado, mouse
Conecte a porta HDMI0 do Raspberry Pi a uma tela com um cabo micro-HDMI para HDMI
Conecte um teclado e mouse USB (ou um mini teclado sem fio como um "Rii Mini i8 Wireless")
Conecte a fonte de alimentação USB C e ligue o Raspberry Pi.
Raspbian deve começar na sua tela.
Assim que a área de trabalho aparecer, responda ao painel de configuração para finalizar a configuração do seu Pi.
Etapa 6: Caminho 2: conectar-se ao Pi usando VNC a partir do seu computador
Conecte o Raspberry Pi à sua rede Ethernet (por wi-fi ou com um cabo).
Em seu computador, abra Mobaxterm (ou putty), inicie uma nova conexão ssh (login pi, senha raspberry) e configure seu Pi:
ssh pi @ raspberry_ip
sudo raspi-config
- na opção de interface / VNC: defina Sim
- em Opções avançadas / Resolução: defina o modo DMT 82 1920x1080 60Hz 16: 9
- em Opções avançadas / driver GL: defina a unidade de desktop G1 Legacy Original não GL
Salvar e sair do raspi-config
Reinicie o Pi:
sudo reboot
No seu computador, abra o VNC Viewer e conecte-se ao Pi usando o login pi, senha raspberry: a área de trabalho do Pi deve aparecer.
Responda ao painel de configuração para finalizar a configuração do seu Pi.
Depois de alterar a senha Pi, a conexão VNC pode fechar. Reinicie-o usando sua nova senha.
Etapa 7: Prepare o HDD
- Conecte o HDD ao seu computador.
- Abra o gerenciador de partição do Windows, selecione seu HDD e crie 2 partições NTFS (ou 3, se desejar um pequeno espaço livre para preservar o cartão µSD). Por exemplo, chamo as 2 partes de "loic" e "vincent"
- Conecte o HDD ao Pi: Raspbian deve montar automaticamente 2 discos na área de trabalho. As unidades estão vinculadas à pasta / media / pi / loic / e / media / pi / vincent /
Etapa 8: Configurar Rsync: Criar Script de Sincronização
abrir um prompt no desktop Pi
Em / home / pi /, crie um script:
mkdir / home / pi / scriptsnano / home / pi / scripts / SB_sync
digite o texto:
#! / bin / sh
######### A CONFIGURER ############# ip_distante = "192.168.0.19" port_distant = "xxxxx" media_local = "/ media / pi / loic" media_distant = "pi @ $ { ip_distante}: / media / pi / loic "machine_locale =" RPi4_loic "machine_distante =" RPi4_vincent "#################################### ## log_local = "/ home / pi / SB_sync_logs" log_distant = "pi @ $ {ip_distante}: / home / pi / SB_sync_logs" currentDate = `date +"% Y-% m-% d% T "` mkdir -p / home / pi / SB_sync_logs #synchro de $ {machine_locale} $ {media_local} / vers $ {machine_distante} $ {media_distant} / echo $ currentDate> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _versante _ $ {machine_distante} Sincronização em curso: de $ {machine_locale} $ {media_local} / vers $ {machine_distante} $ {media_distant} / ">> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} $ {machine_distante} $ { media_distant} / ">> $ {log_distant} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} echo" Compte `whoami`"> $ {log_local} / 1. $ {machine_locale} _vers _ $ {machine_distante}. "--------- -Début: "` date + "% Y-% m-% d% T" `" ---------- ">> $ {log_local} / 1. $ {Machine_locale} _vers _ $ {machine_distante}.log / usr / bin / rsync -avhPS --chmod = a + rwx --delete -e "ssh -p $ {port_distant}" $ {media_local} / $ {media_distant} / 2> & 1 >> $ {log_local} /1.${machine_locale}_vers_${machine_distante}.log
echo "---------- Fin:" `date +"% Y-% m-% d% T "` "----------" >> $ {log_local} / 1. $ {Machine_locale} _vers _ $ {machine_distante}.log
rm $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante}
Configure as linhas 3 a 7:
- substitua "loic" e "vincent" pelo nome de suas unidades
- port_distant: por enquanto, use 22 como porta remota. Na última etapa, você terá que substituí-lo por outro valor de sua escolha (por exemplo: 34567)
salvar o arquivo e sair.
Etapa 9: Configurar Rsync: Executar uma sincronização uma vez por dia
No prompt, abra o crontab:
sudo crontab -u pi -e
no final do arquivo, adicione um cron:
0 1 * * * / usr / bin / flock -xn /tmp/flocktmp.lock -c "/ home / pi / scripts / SB_sync"
Neste cron, o script SB_sync será lançado todos os dias à 1h. Escolha a hora desejada, mas troque-a entre as 2 máquinas, para que as 2 sincronizações sejam realizadas uma após a outra.
Salve e feche o arquivo.
Etapa 10: preparar o Samba
Samba conecta um armazenamento Linux à rede Windows.
Abra um prompt e instale os pacotes:
sudo apt-get install samba samba-common-bin -y
Autorize a conta "pi" para acessar o Samba:
sudo smbpasswd -a pi
Salve o arquivo de configuração padrão do Samba:
cp /etc/samba/smb.conf /etc/samba/smb.old
Abra o arquivo:
sudo nano /etc/samba/smb.conf
E no final do arquivo, adicione estas linhas para configurar sua unidade para compartilhar:
[DOCUMENTOS LOIC]
comment = NAS de loic path = / media / pi / loic usuários válidos = @users force group = users criar máscara = 0660 máscara de diretório = 0775 somente leitura = não navegável = sim público = sim
Salve o arquivo e saia.
Etapa 11: [Opcional] Samba: configure o acesso de leitura à unidade de rede Vincent
Abra o arquivo de configuração do Samba:
sudo nano /etc/samba/smb.conf
E no final do arquivo, adicione estas linhas para configurar a outra unidade que deseja acessar:
[DOCUMENTOS VINCENTES]
comentário = caminho de backup de vincent = / media / pi / vincent usuários válidos = @users force grupo = usuários criar máscara = 0660 máscara de diretório = 0775 somente leitura = sim navegável = sim público = sim
Salve o arquivo e saia.
Etapa 12: [opcional] Samba: acesso ao registro
Abra o arquivo de configuração do Samba:
sudo nano /etc/samba/smb.conf
E no final do arquivo, adicione estas linhas para acessar do Windows ao status de sincronização:
[LOG SYNCHRO] comment = "logs de sincronização entre máquinas"
caminho = / home / pi / SB_sync_logs / usuários válidos = @users force grupo = usuários criar máscara = 0660 máscara de diretório = 0771 somente leitura = sim navegável = sim público = sim
Salve o arquivo e saia.
Etapa 13: [opcional] Samba: ocultar pasta inútil "/ home / pi"
Abra o arquivo de configuração do Samba:
sudo nano /etc/samba/smb.conf
No arquivo, encontre as linhas a seguir e adicione ";" no início para comentá-lo:
; [casas]
; comentário = Diretórios Home; navegável = não; somente leitura = sim; criar máscara = 0700; máscara de diretório = 0700; usuários válidos =% S
Salve o arquivo e saia.
Etapa 14: Acesso à unidade de rede do Windows
No computador Windows, abra um explorador.
Clique em "Rede" e atualize a janela.
Um computador com o nome do seu Rapberry Pi aparecerá.
Abra-o usando a conta "pi" e sua senha.
Você deve ver as pastas adicionadas anteriormente no arquivo de configuração do Samba.
Etapa 15: Prepare a 2ª máquina
Sua 1ª máquina está preparada.
Repita os passos anteriores para a 2ª máquina, substituindo (por exemplo) "loic" por "vincent".
Assim que as 2 máquinas estiverem preparadas, você precisará trocar a chave ssh para autorizar o acesso entre elas, consulte a próxima etapa.
Etapa 16: Criar SSH entre máquina local e remota
Para simplificar o compartilhamento da chave SSH, cada Raspberry Pi deve ser conectado à mesma rede Ethernet.
Em cada Raspberry Pi, abra um prompt na área de trabalho do Pi e digite:
ssh-keygen -q -t rsa -b 2048 -N ''
ssh-copy-id pi @ IP_of_other_raspberry
Etapa 17: Teste a Sincronização
Suas 2 máquinas estão prontas.
Você pode testar a sincronização no seu computador Windows:
- adicione um arquivo em sua unidade de rede local (ou seja, / Rpi4-loic / documents loic / test / test.txt),
- execute o script em seu desktop Pi local (execute SB_sync em / home / pi / scripts)
- verifique se o seu arquivo aparece na unidade de rede de backup (ou seja, / Rpi4-vincent / documents loic / test / test.txt).
Você deve ser capaz de ler e gravar arquivos em / Rpi4-loic / documents loic / test \, mas apenas ler arquivos em / Rpi4-vincent / documents loic / test \.
O próximo e último passo é mover a máquina "remota" dentro de uma rede de outro local, e configurar uma conexão entre os 2 roteadores através da internet.
Etapa 18: Configurar Rotas de Internet
No meu caso, para a máquina local de casa, subscrevo um acesso à Internet que inclui um router e um IP fixo.
Para a máquina remota, o provedor de serviços de Internet é o mesmo, então a configuração é mais fácil e não preciso de DNS.
Em minha casa:
- No meu roteador, crio uma rota de porta de "remote_internet_fixed_IP" em "port_34567" para "my_raspberry_IP" na porta "22"
- No meu raspberry, em / home / pi / scripts / SB_sync, substituo o valor "port_distant" "22" por "port_34567"
No lugar remoto:
- No roteador, crio uma rota de porta de "my_internet_fixed_IP" em "port_34567" para "my_raspberry_IP" na porta "22"
- No raspberry remoto, em / home / pi / scripts / SB_sync, substituo o valor "port_distant" "22" por "port_34567"
Para sua aplicação:
- Você deve substituir os IPs e a porta_34567 por conta própria.
- No caso de IP de Internet dinâmico, você deve se inscrever em um DNS.
Com a ajuda do proprietário do controle remoto da framboesa, repita o teste da etapa anterior.
Finalizado!
Etapa 19: Bibliografia
Instale Raspbian no cartão µSD
Personalize o cartão µSD após a formatação (SSH e WiFi)
Usando seu Raspberry Pi
Raspberry Pi Sync com rysnc por feralhosting
Porta SSH específica para Rsync
Instale e use o Samba
Recomendado:
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: 3 etapas
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: Este projeto irá ajudá-lo a conectar 18 LEDs (6 vermelho + 6 azul + 6 amarelo) à sua placa Arduino e analisar os sinais em tempo real da placa de som do seu computador e retransmiti-los para os LEDs para iluminá-los de acordo com os efeitos da batida (caixa, chapéu alto, chute)
Refletor infravermelho barato DIY para um controle remoto: 9 etapas
Refletor de infravermelho barato DIY para um controle remoto: Este é um hack realmente fácil para um controle remoto que pode aumentar sua potência de sinal, criando um refletor atrás do emissor de infravermelho. E definitivamente funciona. Agora posso usar o controlador. Tive a ideia disso quando estava pensando em uma maneira de
Barato e fácil de fazer suporte para laptop: 4 etapas
Suporte para laptop barato e fácil de fazer: Este é um suporte para laptop para o meu laptop Acer Aspire 5032. você pode fazer isso para qualquer laptop com almofadas de borracha na parte inferior (motivo mais tarde) ajustando a largura das barras de madeira à largura do seu laptop. este é meu primeiro instrutível, então, por favor, dê ao seu co
Dock para iPod barato e fácil !: 4 etapas
Dock para Ipod Fácil e Barato !: Esta é uma maneira fácil de fazer um dock forte e resistente da caixa, e mais algumas peças que vêm com um Ipod Touch / Iphone. * Se acontecer de você fazer isso e bagunçar nosso Iphone, Ipod, Itouch ou outros produtos I, não sou responsável
Suporte para câmera de vídeo IPhone barato e fácil: 4 etapas (com fotos)
Suporte de câmera de vídeo para iPhone barato e fácil: Você sempre quis fazer um vídeo de seu iPhone porque: quer mostrar um truque legal, quer demonstrar seu novo aplicativo, quer revisar um aplicativo de iPhone? Você está entediado e achou que seria legal se você já tive que gravar um vídeo do iPhon