Daftar Isi:

2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah: 19 Langkah
2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah: 19 Langkah

Video: 2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah: 19 Langkah

Video: 2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah: 19 Langkah
Video: Berjuang Untuk Rakyat? Ahhh Yang Bener? 2024, November
Anonim
2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah
2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah
2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah
2 Raspberry Pis untuk RAID Jarak Jauh yang Mudah dan Murah

Tujuan

  1. Jika terjadi insiden di rumah, saya ingin dapat memulihkan dokumen digital utama saya (gambar, dokumen identitas, dll), dan secara opsional membagikannya.
  2. Saya ingin berbagi solusi ini dengan orang lain (seseorang yang saya percaya, orang tua, atau teman)
  3. Saya tidak ingin bergantung pada cloud publik (langganan, biaya, GTC yang berkembang, dll)

Prinsip

  1. Buat 2 mesin penyimpanan identik, letakkan di 2 lokasi berbeda (misalnya, 2 rumah).
  2. Tetapkan ruang penyimpanan khusus untuk setiap lokasi di setiap mesin.
  3. Sinkronkan 2 ruang penyimpanan secara teratur.

Perlengkapan

Perangkat keras

Setiap mesin memiliki:

  • 1x Raspberry Pi 4 B 1 GB
  • 1x kotak untuk Raspberry Pi 4
  • 1x catu daya USB C 5V 3A
  • 1x kartu SD Kingston SDC10/16GB
  • 1x NAS HDD 1Untuk WD Red Mobile
  • 1x kotak HDD BX-2525U3

Perangkat Lunak Windows

  • balenaEtcher
  • Desktop buster Raspbian penuh
  • mobaxterm
  • Penampil VNC (opsional)

Paket Raspbian

  • Sinkronisasi
  • samba

Langkah 1: Pro & Kontra

Pro & Kontra
Pro & Kontra

Keuntungan

  1. Solusi ini murah: Saya tidak memiliki biaya berlangganan dan perangkat keras terjangkau.
  2. "RAID jarak jauh" ini cukup mudah dilakukan. Saya tidak membutuhkan bahan atau alat tambahan untuk melakukannya.
  3. Raspberry Pi dapat digunakan untuk aplikasi tambahan seperti media center (kodi, …), atau domotic (jeedom, domoticz, …).
  4. Data saya tidak tersedia di cloud publik yang bisa menjadi target pembajakan data besar-besaran.
  5. Menggunakan HDD 1To, konsumsi listrik rata-rata sama dengan cloud.
  6. Firewall router saya dan enkripsi SSH koneksi saya mengamankan pertukaran data.

Kekurangan/perbaikan

  1. Orang lain memiliki salinan dokumen saya. Dalam kasus saya, orang ini dari keluarga saya jadi saya tidak peduli.
  2. Saya menggunakan akun "pi" default, dengan kata sandi khusus untuk kedua mesin. Saya dapat mengamankan akses sedikit lebih banyak dengan menggunakan akun khusus yang terpisah di setiap sisi daripada akun "pi".
  3. Saya mengandalkan penyedia layanan Internet saya dan enkripsi SSH untuk keamanan koneksi antara 2 rumah. Penelitian dapat dilakukan untuk meningkatkan tingkat keamanan.
  4. Untuk saat ini, saya hanya membuat 2 partisi per drive. Partisi ke-3 yang lebih kecil (~5Go) dapat berguna untuk aktivitas Raspbian lainnya, untuk mempertahankan kartu SD.

Langkah 2: Siapkan SD: Unggah Raspbian

Dari komputer (Windows 10 dalam kasus saya), ikuti panduan instalasi resmi (https://www.raspberrypi.org/downloads/raspbian/) untuk menginstal "Raspbian Buster dengan desktop".

Tambahkan file kosong bernama "ssh" di disk "/ boot/"

Tambahkan file bernama "wpa_supplicant.conf" di disk "/ boot/"

Buka wpa_supplicant.conf dan masukkan teks:

negara=AS

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

Simpan dan tutup file.

Langkah 3: Siapkan SD: Sesuaikan Kartu

Siapkan SD: Sesuaikan Kartu
Siapkan SD: Sesuaikan Kartu

Tambahkan file kosong bernama "ssh" di disk "/ boot/"

Tambahkan file bernama "wpa_supplicant.conf" di disk "/ boot/"

Buka wpa_supplicant.conf dan masukkan teks:

negara=AS

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

Simpan dan tutup file.

Langkah 4: Siapkan Raspberry Pi

Masukkan kartu SD Anda di Pi

Nyalakan Raspberry Pi, pilih cara untuk membuka desktop:

  1. Menggunakan kabel HDMI, layar, keyboard, dan mouse
  2. Menggunakan VNC dari komputer Anda.

Untuk informasi lebih lanjut, kunjungi

Langkah 5: Cara 1: Hubungkan ke Pi Menggunakan Layar, Keyboard, Mouse

Cara 1: Hubungkan ke Pi Menggunakan Layar, Keyboard, Mouse
Cara 1: Hubungkan ke Pi Menggunakan Layar, Keyboard, Mouse
Cara 1: Hubungkan ke Pi Menggunakan Layar, Keyboard, Mouse
Cara 1: Hubungkan ke Pi Menggunakan Layar, Keyboard, Mouse

Hubungkan port Raspberry Pi HDMI0 ke layar dengan kabel micro-hdmi ke HDMI

Pasang keyboard dan mouse usb (atau keyboard mini nirkabel seperti "Rii Mini i8 Wireless")

Colokkan catu daya USB C dan nyalakan Raspberry Pi.

Raspbian akan dimulai di layar Anda.

Setelah desktop muncul, jawab panel konfigurasi untuk menyelesaikan konfigurasi Pi Anda.

Langkah 6: Cara 2: Hubungkan ke Pi Menggunakan VNC Dari Komputer Anda

Cara 2: Hubungkan ke Pi Menggunakan VNC Dari Komputer Anda
Cara 2: Hubungkan ke Pi Menggunakan VNC Dari Komputer Anda
Cara 2: Hubungkan ke Pi Menggunakan VNC Dari Komputer Anda
Cara 2: Hubungkan ke Pi Menggunakan VNC Dari Komputer Anda
Cara 2: Hubungkan ke Pi Menggunakan VNC Dari Komputer Anda
Cara 2: Hubungkan ke Pi Menggunakan VNC Dari Komputer Anda

Hubungkan Raspberry Pi ke jaringan ethernet Anda (dengan wifi atau dengan kabel).

Dari komputer Anda, buka Mobaxterm (atau dempul), mulai koneksi ssh baru (login pi, kata sandi raspberry) dan konfigurasikan Pi Anda:

ssh pi@raspberry_ip

sudo raspi-config

  • dalam opsi Interfacing / VNC: atur Ya
  • di Opsi / Resolusi Lanjutan: atur Mode DMT 82 1920x1080 60Hz 16:9
  • di Opsi lanjutan / driver GL: setel drive desktop non-GL G1 Legacy Original

Simpan dan keluar dari raspi-config

Nyalakan ulang Pi:

sudo reboot

Dari komputer Anda, buka VNC Viewer, dan sambungkan ke Pi menggunakan pi login, kata sandi raspberry: desktop Pi akan muncul.

Jawab panel konfigurasi untuk menyelesaikan konfigurasi Pi Anda.

Setelah Anda mengubah kata sandi Pi, koneksi VNC dapat ditutup. Mulai ulang menggunakan kata sandi baru Anda.

Langkah 7: Siapkan HDD

Siapkan HDDnya
Siapkan HDDnya
Siapkan HDDnya
Siapkan HDDnya
  1. Hubungkan HDD ke komputer Anda.
  2. Buka manajer partisi Windows, pilih HDD Anda, dan buat 2 partisi NTFS (atau 3, jika Anda ingin ruang kosong kecil untuk menyimpan kartu SD). Misalnya, saya beri nama 2 bagian "loic" dan "vincent"
  3. Hubungkan HDD ke Pi: Raspbian harus me-mount secara otomatis 2 disk di desktop. Drive ditautkan ke folder /media/pi/loic/, dan /media/pi/vincent/

Langkah 8: Konfigurasikan Rsync: Buat Skrip Sinkron

Konfigurasikan Rsync: Buat Skrip Sinkronisasi
Konfigurasikan Rsync: Buat Skrip Sinkronisasi

buka prompt di desktop Pi

Di /home/pi/, buat skrip:

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

masukkan teks:

#!/bin/sh

######## CONFIGURER ########### ip_disstante="192.168.0.19" port_distant="xxxxx" media_local="/media/pi/loic" media_distant="pi@${ ip_disstante}:/media/pi/loic" machine_locale="RPi4_loic" machine_disstante="RPi4_vincent" ############################# ## log_local="/home/pi/SB_sync_logs"log_distant="pi@${ip_disstante}:/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_disstante} ${media_distant}/ echo $currentDate> ${log_local}/0.synchro_en_cours_${machine_locale}_vers_${machine_distante} " Sinkronisasi berlangsung: de ${machine_locale} ${media_local}/ vers ${machine_disstante} ${media_distant}/ " >> ${log_local}/0.synchro_en_cours_${machine_locale}_vers_${machine_disstante} ${machine_distante} ${_distante} media_distant}/ " >> ${log_distant}/0.synchro_en_cours_${machine_locale}_vers_${machine_disstante} echo "Compte `whoami`" > ${log_local}/1.${machine_locale}_vers_${machine_disstante}.log echo "--------- -Debut: "`date +"%Y-%m-%d %T"`"----------" >> ${log_local}/1.${machine_locale}_vers_${machine_disstante}.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_disstante}.log

echo "----------Fin: "`date +"%Y-%m-%d%T"`"----------" >> ${log_local}/ 1.${machine_locale}_vers_${machine_disstante}.log

rm ${log_local}/0.synchro_en_cours_${machine_locale}_vers_${machine_disstante}

Konfigurasikan baris 3 hingga 7:

  • ganti "loic" dan "vincent" dengan nama drive Anda
  • port_distant: untuk saat ini, gunakan 22 sebagai port jarak jauh. Pada langkah terakhir, Anda harus menggantinya dengan nilai lain pilihan Anda (misalnya: 34567)

simpan file dan keluar.

Langkah 9: Konfigurasikan Rsync: Lakukan Sinkronisasi Sekali Sehari

Di prompt, buka crontab:

sudo crontab -u pi -e

di akhir file, tambahkan cron:

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

Di cron ini, skrip SB_sync akan diluncurkan setiap hari pada jam 1:00 pagi. Pilih jam yang Anda inginkan, tetapi ubah di antara 2 mesin, sehingga 2 sinkronisasi akan dilakukan satu demi satu.

Simpan dan tutup file.

Langkah 10: Siapkan Samba

Samba menghubungkan penyimpanan linux ke jaringan windows.

Buka prompt dan instal paket:

sudo apt-get install samba samba-common-bin -y

Otorisasi akun "pi" untuk mengakses Samba:

sudo smbpasswd -a pi

Simpan file konfigurasi Samba default:

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

Buka filenya:

sudo nano /etc/samba/smb.conf

Dan di akhir file, tambahkan baris ini untuk mengonfigurasi drive Anda untuk dibagikan:

[LOIK DOKUMEN]

komentar = NAS de loic path = /media/pi/loic pengguna yang valid = @pengguna grup paksa = pengguna membuat topeng = 0660 direktori topeng = 0775 hanya baca = tidak dapat dijelajahi = ya publik = ya

Simpan file dan keluar.

Langkah 11: [Opsional] Samba: Konfigurasikan Akses Baca ke Drive Jaringan Vincent

Buka file konfigurasi Samba:

sudo nano /etc/samba/smb.conf

Dan di akhir file, tambahkan baris ini untuk mengonfigurasi drive lain yang ingin Anda akses:

[DOKUMEN VINCENT]

comment = backup de vincent path = /media/pi/vincent valid users = @users force group = pengguna membuat mask = 0660 direktori mask = 0775 read only = yes browseable = yes public = yes

Simpan file dan keluar.

Langkah 12: [Opsional] Samba: Akses ke Log

Buka file konfigurasi Samba:

sudo nano /etc/samba/smb.conf

Dan di akhir file, tambahkan baris ini untuk mengakses dari windows ke status sinkronisasi:

[LOG SYNCHRO]comment = "log de synchro entre machine"

path = /home/pi/SB_sync_logs/ valid users = @users force group = pengguna membuat mask = 0660 direktori mask = 0771 read only = yes browseable = yes public = yes

Simpan file dan keluar.

Langkah 13: [Opsional] Samba: Sembunyikan Folder Tidak Berguna "/ home/pi"

Buka file konfigurasi Samba:

sudo nano /etc/samba/smb.conf

Dalam file, temukan baris berikut dan tambahkan ";" di awal untuk mengomentarinya:

;[rumah]

; komentar = Direktori Rumah; dapat dijelajahi = tidak; baca saja = ya; buat topeng = 0700; topeng direktori = 0700; pengguna yang valid = %S

Simpan file dan keluar.

Langkah 14: Akses ke Drive Jaringan Dari Windows

Akses ke Drive Jaringan Dari Windows
Akses ke Drive Jaringan Dari Windows

Dari komputer Windows, buka explorer.

Klik "Jaringan" dan segarkan jendela.

Komputer dengan nama Rapberry Pi Anda akan muncul.

Buka menggunakan akun "pi" dan kata sandi Anda.

Anda akan melihat folder yang ditambahkan sebelumnya di file konfigurasi Samba.

Langkah 15: Siapkan Mesin ke-2

Mesin pertama Anda sudah siap.

Ulangi langkah sebelumnya untuk mesin ke-2, ganti (misalnya) "loic" dengan "vincent".

Setelah 2 mesin disiapkan, Anda perlu menukar kunci ssh untuk mengotorisasi akses di antara mereka, lihat langkah selanjutnya.

Langkah 16: Buat SSH Antara Mesin Lokal dan Jarak Jauh

Untuk menyederhanakan pembagian kunci SSH, setiap Raspberry Pi harus terhubung ke jaringan ethernet yang sama.

Pada setiap Raspberry Pi, buka prompt di desktop Pi dan masukkan:

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

ssh-copy-id pi@IP_of_other_raspberry

Langkah 17: Uji Sinkronisasi

Uji Sinkronisasi
Uji Sinkronisasi
Uji Sinkronisasi
Uji Sinkronisasi
Uji Sinkronisasi
Uji Sinkronisasi

2 mesin Anda sudah siap.

Anda dapat menguji sinkronisasi di komputer windows Anda:

  1. tambahkan file di drive jaringan lokal Anda (yaitu \Rpi4-loic\documents loic\test\test.txt),
  2. jalankan skrip di desktop Pi lokal Anda (jalankan SB_sync di /home/pi/scripts)
  3. periksa apakah file Anda muncul di drive jaringan cadangan (yaitu \Rpi4-vincent\documents loic\test\test.txt).

Anda seharusnya dapat membaca dan menulis file di \Rpi4-loic\documents loic\test\, tetapi hanya membaca file di \Rpi4-vincent\documents loic\test\.

Langkah selanjutnya dan terakhir adalah memindahkan mesin "jarak jauh" ke dalam jaringan tempat lain, dan mengkonfigurasi koneksi antara 2 router melalui internet.

Langkah 18: Konfigurasikan Rute Internet

Dalam kasus saya, untuk mesin lokal di rumah, saya berlangganan akses internet termasuk router dan IP tetap.

Untuk mesin jarak jauh, penyedia layanan Internetnya sama, jadi konfigurasinya lebih mudah, dan saya tidak perlu DNS.

Di rumahku:

  • Di router saya, saya membuat rute port dari "remote_internet_fixed_IP" di "port_34567" ke "my_raspberry_IP" di port "22"
  • Di raspberry saya, di /home/pi/scripts/SB_sync, saya mengganti nilai "port_distant" "22" dengan "port_34567"

Di tempat terpencil:

  • Di router, saya membuat rute port dari "my_internet_fixed_IP" di "port_34567" ke "my_raspberry_IP" di port "22"
  • Di raspberry jarak jauh, di /home/pi/scripts/SB_sync, saya mengganti nilai "port_distant" "22" dengan "port_34567"

Untuk aplikasi Anda:

  • Anda harus mengganti IP dan port_34567 dengan milik Anda sendiri.
  • Dalam hal IP internet dinamis, Anda harus berlangganan DNS.

Dengan bantuan pemilik raspberry jarak jauh, ulangi pengujian langkah sebelumnya.

Selesai!

Langkah 19: Daftar Pustaka

Instal Raspbian di kartu SD

Kustomisasi kartu SD setelah memformat (SSH dan WiFi)

Menggunakan Raspberry Pi Anda

Sinkronisasi Raspberry Pi dengan rysnc oleh feralhosting

Port SSH khusus untuk Rsync

Instal dan gunakan Samba

Direkomendasikan: