İçindekiler:

Kolay ve Ucuz Uzaktan RAID için 2 Ahududu Pis: 19 Adım
Kolay ve Ucuz Uzaktan RAID için 2 Ahududu Pis: 19 Adım

Video: Kolay ve Ucuz Uzaktan RAID için 2 Ahududu Pis: 19 Adım

Video: Kolay ve Ucuz Uzaktan RAID için 2 Ahududu Pis: 19 Adım
Video: Part 1 - Ann Veronica Audiobook by H. G. Wells (Chs 01 -03) 2024, Temmuz
Anonim
Kolay ve Ucuz Uzaktan RAID için 2 Ahududu Pis
Kolay ve Ucuz Uzaktan RAID için 2 Ahududu Pis
Kolay ve Ucuz Uzaktan RAID için 2 Raspberry Pis
Kolay ve Ucuz Uzaktan RAID için 2 Raspberry Pis

Amaç

  1. Evde bir olay olması durumunda, önemli dijital belgelerimi (resimler, kimlik belgeleri vb.) kurtarabilmek ve isteğe bağlı olarak paylaşabilmek istiyorum.
  2. Bu çözümü başka biriyle paylaşmak istiyorum (güvendiğim biri, ebeveynlerim veya arkadaşım)
  3. Genel bir buluta bağımlı olmak istemiyorum (abonelik, ücretler, gelişen GTC, vb.)

Prensip

  1. 2 özdeş depolama makinesi oluşturun, bunları 2 farklı yere koyun (örneğin, 2 ev).
  2. Her makinedeki her konuma özel bir depolama alanı atayın.
  3. 2 depolama alanını düzenli olarak senkronize edin.

Gereçler

Donanım

Her makinede şunlar bulunur:

  • 1x Ahududu Pi 4 B 1GB
  • Raspberry Pi 4 için 1x kutu
  • 1x güç kaynağı USB C 5V 3A
  • 1x SD kart Kingston SDC10/16GB
  • 1x NAS HDD 1To WD Red Mobile
  • 1x HDD kutusu BX-2525U3

Yazılım Pencereleri

  • balenaEtcher
  • Raspbian buster masaüstü dolu
  • mobaxterm
  • VNC görüntüleyici (isteğe bağlı)

Raspbian Paketleri

  • Rsync
  • samba

Adım 1: Artıları ve Eksileri

Artıları ve Eksileri
Artıları ve Eksileri

Avantajlar

  1. Bu çözüm ucuz: Abonelik ücretim yok ve donanım uygun.
  2. Bu "uzaktan RAID"i yapmak oldukça kolaydır. Bunu yapmak için ek malzemeye veya araca ihtiyacım yok.
  3. Raspberry Pi, medya merkezi (kodi, …) veya domotic (jeedom, domoticz, …) gibi ek uygulamalar için kullanılabilir.
  4. Verilerim, büyük veri korsanlığının hedefi olabilecek genel bir bulutta mevcut değil.
  5. 1To'luk bir HDD kullanıldığında, ortalama elektrik tüketimi bir bulutunkiyle aynıdır.
  6. Yönlendiricimin güvenlik duvarı ve bağlantımın SSH şifrelemesi, veri alışverişlerini güvence altına alıyor.

Dezavantajlar/iyileştirmeler

  1. Belgelerimin bir kopyası başkasında var. Benim durumumda, bu kişi benim ailemden, bu yüzden umurumda değil.
  2. Her iki makine için de özel bir şifre ile varsayılan "pi" hesabını kullanıyorum. "Pi" hesabı yerine her iki tarafta ayrı bir özel hesap kullanarak erişimi biraz daha güvenli hale getirebilirim.
  3. 2 ev arasındaki bağlantının güvenliği için İnternet servis sağlayıcıma ve SSH şifrelemesine güveniyorum. Güvenlik seviyesini artırmak için araştırma yapılabilir.
  4. Şimdilik, sürücü başına yalnızca 2 bölüm oluşturdum. Daha küçük bir 3. bölüm (~5Go), µSD kartını korumak için diğer Raspbian etkinlikleri için yararlı olabilir.

2. Adım: SD'yi Hazırlayın: Raspbian Yükleyin

Bir bilgisayardan (benim durumumda Windows 10), "Masaüstü ile Raspbian Buster"ı kurmak için resmi kurulum kılavuzunu (https://www.raspberrypi.org/downloads/raspbian/) izleyin.

"/boot/" diskine "ssh" adlı boş bir dosya ekleyin

"/boot/" diskine "wpa_supplicant.conf" adlı bir dosya ekleyin

wpa_supplicant.conf dosyasını açın ve metni girin:

ülke=ABD

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 ağ= { ssid="MyWiFiNetwork" psk="aVeryStrongPassword" key_mgmt=WPA-PSK }

Dosyayı kaydedin ve kapatın.

3. Adım: SD'yi Hazırlayın: Kartı Özelleştirin

SD'yi Hazırlayın: Kartı Özelleştirin
SD'yi Hazırlayın: Kartı Özelleştirin

"/boot/" diskine "ssh" adlı boş bir dosya ekleyin

"/boot/" diskine "wpa_supplicant.conf" adlı bir dosya ekleyin

wpa_supplicant.conf dosyasını açın ve metni girin:

ülke=ABD

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 ağ= { ssid="MyWiFiNetwork" psk="aVeryStrongPassword" key_mgmt=WPA-PSK }

Dosyayı kaydedin ve kapatın.

Adım 4: Raspberry Pi'yi Hazırlayın

SD kartınızı Pi'ye takın

Raspberry Pi'yi çalıştırın, masaüstünü açmanın bir yolunu seçin:

  1. Hdmi kablosu, ekran, klavye ve fare kullanma
  2. Bilgisayarınızdan VNC'yi kullanma.

Daha fazla bilgi için https://projects.raspberrypi.org/en/projects/raspberry-pi-using/1 adresini ziyaret edin.

Adım 5: 1. Yol: Ekran, Klavye, Fare Kullanarak Pi'ye Bağlanın

1. Yol: Ekran, Klavye, Fare Kullanarak Pi'ye Bağlanma
1. Yol: Ekran, Klavye, Fare Kullanarak Pi'ye Bağlanma
Yol 1: Ekran, Klavye, Fare Kullanarak Pi'ye Bağlanma
Yol 1: Ekran, Klavye, Fare Kullanarak Pi'ye Bağlanma

Raspberry Pi bağlantı noktası HDMI0'ı mikro-hdmi - hdmi kablosuyla bir ekrana bağlayın

Bir usb klavye ve fare (veya "Rii Mini i8 Wireless" gibi bir kablosuz mini klavye) takın

USB C güç kaynağını takın ve Raspberry Pi'yi çalıştırın.

Raspbian ekranınızda başlayacaktır.

Masaüstü göründüğünde, Pi'nizin yapılandırmasını tamamlamak için yapılandırma panelini yanıtlayın.

Adım 6: 2. Yol: Bilgisayarınızdan VNC Kullanarak Pi'ye Bağlanın

2. Yol: Bilgisayarınızdan VNC Kullanarak Pi'ye Bağlanın
2. Yol: Bilgisayarınızdan VNC Kullanarak Pi'ye Bağlanın
2. Yol: Bilgisayarınızdan VNC Kullanarak Pi'ye Bağlanın
2. Yol: Bilgisayarınızdan VNC Kullanarak Pi'ye Bağlanın
2. Yol: Bilgisayarınızdan VNC Kullanarak Pi'ye Bağlanın
2. Yol: Bilgisayarınızdan VNC Kullanarak Pi'ye Bağlanın

Raspberry Pi'yi ethernet ağınıza bağlayın (wifi veya kablo ile).

Bilgisayarınızdan Mobaxterm'i (veya macun) açın, yeni bir ssh bağlantısı başlatın (giriş pi, şifre ahududu) ve Pi'nizi yapılandırın:

ssh pi@raspberry_ip

sudo raspi yapılandırması

  • Arayüz seçeneği / VNC'de: Evet'i ayarlayın
  • Gelişmiş seçenekler / Çözünürlük'te: DMT Modu 82 1920x1080 60Hz 16:9'u ayarlayın
  • Gelişmiş seçeneklerde / GL sürücüsünde: G1 Eski Orijinal GL olmayan masaüstü sürücüsünü ayarlayın

raspi-config'i kaydedin ve çıkın

Pi'yi yeniden başlatın:

sudo yeniden başlatma

Bilgisayarınızdan VNC Görüntüleyici'yi açın ve giriş pi'sini kullanarak Pi'ye bağlanın, şifre ahududu: Pi masaüstü görünmelidir.

Pi'nizin yapılandırmasını tamamlamak için yapılandırma panelini yanıtlayın.

Pi şifresini değiştirdikten sonra VNC bağlantısı kapanabilir. Yeni şifrenizi kullanarak yeniden başlatın.

7. Adım: HDD'yi hazırlayın

HDD'yi hazırlayın
HDD'yi hazırlayın
HDD'yi hazırlayın
HDD'yi hazırlayın
  1. HDD'yi bilgisayarınıza bağlayın.
  2. Windows bölüm yöneticisini açın, HDD'nizi seçin ve 2 NTFS bölümü (veya µSD kartını korumak için küçük bir boş alan istiyorsanız 3) oluşturun. Örneğin, 2 parçayı "loic" ve "vincent" olarak adlandırıyorum.
  3. HDD'yi Pi'ye bağlayın: Raspbian masaüstüne otomatik olarak 2 disk takmalıdır. Sürücüler /media/pi/loic/ ve /media/pi/vincent/ klasörüne bağlıdır.

Adım 8: Rsync'i Yapılandırın: Senkronize Komut Dosyası Oluşturun

Rsync'i Yapılandır: Senkronize Komut Dosyası Oluştur
Rsync'i Yapılandır: Senkronize Komut Dosyası Oluştur

Pi masaüstünde bir bilgi istemi açın

/home/pi/ içinde bir komut dosyası oluşturun:

mkdir /home/pi/scriptsnano /home/pi/scripts/SB_sync

metni girin:

#!/bin/sh

######## BİR YAPILANDIRICI ########### 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}_vers_distan${machine "_ Senkronizasyon sırasında: ${machine_locale} ${media_local}/ vers ${machine_distante} ${media_distant}/ " >> ${log_local}/0.synchro_en_cours_${machine_locale}_vers_${machine_distante}_vers_${machine_distante_} ${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}

3 ila 7 arasındaki satırları yapılandırın:

  • "loic" ve "vincent" kelimelerini sürücü adınızla değiştirin
  • port_distant: şimdilik uzak bağlantı noktası olarak 22'yi kullanın. Son adımda, onu seçtiğiniz başka bir değerle değiştirmeniz gerekecektir (örnek: 34567)

dosyayı kaydedip çıkın.

9. Adım: Rsync'i Yapılandırın: Günde Bir Senkronizasyon Gerçekleştirin

İstemde, crontab'ı açın:

sudo crontab -u pi -e

dosyanın sonuna bir cron ekleyin:

0 1 * * * /usr/bin/flock -xn /tmp/flocktmp.lock -c"/home/pi/scripts/SB_sync"

Bu cron'da, SB_sync betiği her gün 01:00'de başlatılacaktır. İstediğiniz saati seçin, ancak 2 makine arasında değiştirin, böylece 2 senkronizasyon birbiri ardına gerçekleştirilecektir.

Dosyayı kaydedin ve kapatın.

Adım 10: Samba'yı Hazırlayın

Samba, bir linux depolamayı Windows ağına bağlar.

Bir bilgi istemi açın ve paketleri kurun:

sudo apt-get kurulum samba samba-ortak-bin -y

Samba'ya erişmek için "pi" hesabını yetkilendirin:

sudo smbpasswd -a pi

Varsayılan Samba yapılandırma dosyasını kaydedin:

cp /etc/samba/smb.conf /etc/samba/smb.old

Dosyayı aç:

sudo nano /etc/samba/smb.conf

Ve dosyanın sonuna, sürücünüzü paylaşacak şekilde yapılandırmak için şu satırları ekleyin:

[BELGELER LOIC]

yorum = NAS de loic yolu = /media/pi/loic geçerli kullanıcılar = @users force grubu = kullanıcılar maske oluşturur = 0660 dizin maskesi = 0775 salt okunur = göz atılabilir yok = evet genel = evet

Dosyayı kaydedin ve çıkın.

Adım 11: [İsteğe Bağlı] Samba: Ağ Sürücüsüne Okuma Erişimini Yapılandırın Vincent

Samba yapılandırma dosyasını açın:

sudo nano /etc/samba/smb.conf

Ve dosyanın sonuna, erişmek istediğiniz diğer sürücüyü yapılandırmak için şu satırları ekleyin:

[BELGELER VINCENT]

yorum = yedekleme de vincent yolu = /media/pi/vincent geçerli kullanıcılar = @users force group = kullanıcılar maske oluşturur = 0660 dizin maskesi = 0775 salt okunur = evet göz atılabilir = evet genel = evet

Dosyayı kaydedin ve çıkın.

Adım 12: [Opsiyonel] Samba: Günlüğe Erişim

Samba yapılandırma dosyasını açın:

sudo nano /etc/samba/smb.conf

Ve dosyanın sonuna, pencerelerden senkronizasyon durumuna erişmek için şu satırları ekleyin:

[LOG SYNCHRO]comment = "eşzamanlı giriş makinelerinin günlüklerini kaydeder"

path = /home/pi/SB_sync_logs/ geçerli kullanıcılar = @users force group = kullanıcılar maske oluşturur = 0660 dizin maskesi = 0771 salt okunur = evet göz atılabilir = evet genel = evet

Dosyayı kaydedin ve çıkın.

Adım 13: [İsteğe Bağlı] Samba: "/home/pi" Gereksiz Klasörünü Gizle

Samba yapılandırma dosyasını açın:

sudo nano /etc/samba/smb.conf

Dosyada aşağıdaki satırları bulun ve ";" ekleyin. yorumun başında:

;[evler]

; yorum = Ana Dizinler; göz atılabilir = hayır; salt okunur = evet; maske oluştur = 0700; dizin maskesi = 0700; geçerli kullanıcılar = %S

Dosyayı kaydedin ve çıkın.

Adım 14: Windows'tan Ağ Sürücüsüne Erişim

Windows'tan Ağ Sürücüsüne Erişim
Windows'tan Ağ Sürücüsüne Erişim

Windows bilgisayardan bir gezgin açın.

"Ağ" üzerine tıklayın ve pencereyi yenileyin.

Rapberry Pi'nizin adına sahip bir bilgisayar görünecektir.

"Pi" hesabını ve şifrenizi kullanarak açın.

Samba yapılandırma dosyasında daha önce eklenen klasörleri görmelisiniz.

Adım 15: 2. Makineyi Hazırlayın

1. makineniz hazır.

2. makine için önceki adımları tekrarlayın, (örneğin) "loic" yerine "vincent" koyun.

2 makine hazırlandıktan sonra, aralarında erişim yetkisi vermek için ssh anahtarını değiştirmeniz gerekecektir, sonraki adıma bakın.

Adım 16: Yerel ve Uzak Makine Arasında SSH Oluşturun

SSH anahtarının paylaşımını kolaylaştırmak için her Raspberry Pi aynı ethernet ağına bağlanacaktır.

Her Raspberry Pi'de, Pi masaüstünde bir bilgi istemi açın ve şunu girin:

ssh-keygen -q -t rsa -b 2048 -N ''

ssh-copy-id pi@IP_of_other_raspberry

Adım 17: Senkronizasyonu Test Edin

Senkronu Test Et
Senkronu Test Et
Senkronu Test Et
Senkronu Test Et
Senkronu Test Et
Senkronu Test Et

2 makineniz hazır.

Senkronu Windows bilgisayarınızda test edebilirsiniz:

  1. yerel ağ sürücünüze bir dosya ekleyin (ör. \Rpi4-loic\documents loic\test\test.txt),
  2. betiği yerel Pi masaüstünüzde çalıştırın (/home/pi/scripts içinde SB_sync yürütün)
  3. dosyanızın yedek ağ sürücüsünde görünüp görünmediğini kontrol edin (ör. \Rpi4-vincent\documents loic\test\test.txt).

Rpi4-loic\documents loic\test\ içindeki dosyaları okuyabilmeli ve yazabilmeli, ancak yalnızca \Rpi4-vincent\documents loic\test\ içindeki dosyaları okuyabilmelisiniz.

Bir sonraki ve son adım, "uzak" makineyi başka bir yerin ağı içinde taşımak ve 2 yönlendirici arasında internet üzerinden bir bağlantı yapılandırmaktır.

Adım 18: İnternet Yollarını Yapılandırın

Benim durumumda, evdeki yerel makine için bir yönlendirici ve sabit bir IP içeren bir internet erişimine aboneyim.

Uzak makine için İnternet servis sağlayıcısı aynıdır, bu nedenle yapılandırma daha kolaydır ve DNS'ye ihtiyacım yok.

Benim evimde:

  • Yönlendiricimde, "port_34567" adresindeki "remote_internet_fixed_IP" ile "22" bağlantı noktasındaki "my_raspberry_IP" arasında bir bağlantı noktası rotası oluşturuyorum
  • Ahududumda, /home/pi/scripts/SB_sync içinde, "port_distant" değerini "22" yerine "port_34567" koyuyorum

Uzak bir yerde:

  • Yönlendiricide, "port_34567"deki "my_internet_fixed_IP"den "22" numaralı bağlantı noktasındaki "my_raspberry_IP"ye bir bağlantı noktası rotası oluşturuyorum
  • Uzak ahudududa, /home/pi/scripts/SB_sync içinde, "port_distant" değeri "22"yi "port_34567" ile değiştiriyorum

Başvurunuz için:

  • IP'leri ve port_34567'yi kendiniz değiştirmelisiniz.
  • Dinamik internet IP'si durumunda, bir DNS'ye abone olmanız gerekir.

Remote ahududu sahibinin yardımıyla bir önceki adımın testini tekrarlayın.

Bitti!

Adım 19: Bibliyografya

Raspbian'ı µSD karta kurun

Biçimlendirdikten sonra µSD kartı özelleştirin (SSH ve WiFi)

Raspberry Pi'nizi kullanma

Raspberry Pi, feralhosting tarafından rysnc ile Sync

Rsync için özel SSH bağlantı noktası

Samba'yı kurun ve kullanın

Önerilen: