Isi kandungan:

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

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

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

Tujuan

  1. Sekiranya berlaku kejadian di rumah, saya ingin mendapatkan kembali dokumen digital utama saya (gambar, kertas pengenalan, dll), dan secara opsional membagikannya.
  2. Saya ingin berkongsi penyelesaian ini dengan orang lain (seseorang yang saya percayai, ibu bapa atau rakan)
  3. Saya tidak mahu bergantung pada awan awam (langganan, yuran, GTC yang sedang berkembang, dll)

Prinsip

  1. Buat 2 mesin simpanan yang serupa, letakkan di 2 lokasi yang berbeza (contohnya, 2 rumah).
  2. Tetapkan ruang simpanan khusus ke setiap lokasi pada setiap mesin.
  3. Selaraskan 2 ruang simpanan secara berkala.

Bekalan

Perkakasan

Setiap mesin mempunyai:

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

Windows Perisian

  • balenaEtcher
  • Desktop Raspbian buster penuh
  • mobaxterm
  • Pemapar VNC (pilihan)

Pakej Raspbian

  • Rsync
  • samba

Langkah 1: Pro & Kekurangan

Pro & Kekurangan
Pro & Kekurangan

Kelebihan

  1. Penyelesaian ini murah: Saya tidak mempunyai yuran langganan dan perkakasan tidak berpatutan.
  2. "RAID jarak jauh" ini agak mudah dilakukan. Saya tidak memerlukan bahan atau alat tambahan untuk melakukannya.
  3. Raspberry Pi dapat digunakan untuk aplikasi tambahan seperti pusat media (kodi,…), atau domotic (jeedom, domoticz,…).
  4. Data saya tidak tersedia di awan awam yang boleh menjadi sasaran untuk cetak rompak data besar-besaran.
  5. Menggunakan HDD 1To, penggunaan elektrik purata sama dengan awan.
  6. Firewall penghala saya dan penyulitan SSH sambungan saya mengamankan pertukaran data.

Kekurangan / peningkatan

  1. Orang lain mempunyai salinan dokumen saya. Dalam kes saya, orang ini berasal dari keluarga saya jadi saya tidak peduli.
  2. Saya menggunakan akaun "pi" lalai, dengan kata laluan khusus untuk kedua-dua mesin. Saya boleh mendapatkan akses sedikit lebih banyak dengan menggunakan akaun khusus yang terpisah di setiap sisi dan bukannya akaun "pi".
  3. Saya bergantung pada penyedia perkhidmatan Internet dan enkripsi SSH untuk keselamatan sambungan antara 2 rumah tersebut. Penyelidikan boleh dilakukan untuk meningkatkan tahap keselamatan.
  4. Buat masa ini, saya hanya membuat 2 partition setiap pemacu. Partisi ke-3 yang lebih kecil (~ 5Go) boleh berguna untuk aktiviti Raspbian yang lain, untuk mengekalkan kad µSD.

Langkah 2: Siapkan SD: Muat naik Raspbian

Dari komputer (Windows 10 dalam kes saya), ikuti panduan pemasangan rasmi (https://www.raspberrypi.org/downloads/raspbian/) untuk memasang "Raspbian Buster dengan desktop".

Tambahkan fail kosong bernama disk "ssh" dalam "/ boot /"

Tambahkan fail bernama "wpa_supplicant.conf" dalam "/ boot /" disk

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 fail.

Langkah 3: Siapkan SD: Sesuaikan Kad

Siapkan SD: Sesuaikan Kad
Siapkan SD: Sesuaikan Kad

Tambahkan fail kosong bernama disk "ssh" dalam "/ boot /"

Tambahkan fail bernama "wpa_supplicant.conf" dalam "/ boot /" disk

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 fail.

Langkah 4: Sediakan Raspberry Pi

Masukkan kad SD anda di Pi

Nyalakan Raspberry Pi, pilih cara untuk membuka desktop:

  1. Menggunakan kabel, skrin, papan kekunci dan tetikus HDMI
  2. Menggunakan VNC dari komputer anda.

Untuk maklumat lebih lanjut, lawati

Langkah 5: Cara 1: Sambungkan ke Skrin Pi, Papan Kekunci, Tetikus

Cara 1: Sambungkan ke Pi Menggunakan Skrin, Papan Kekunci, Tetikus
Cara 1: Sambungkan ke Pi Menggunakan Skrin, Papan Kekunci, Tetikus
Cara 1: Sambungkan ke Pi Menggunakan Skrin, Papan Kekunci, Tetikus
Cara 1: Sambungkan ke Pi Menggunakan Skrin, Papan Kekunci, Tetikus

Sambungkan port Raspberry Pi HDMI0 ke skrin dengan kabel mikro-HDMI ke HDMI

Pasang papan kekunci dan tetikus usb (atau papan kekunci mini tanpa wayar seperti "Rii Mini i8 Wireless")

Pasang bekalan kuasa USB C dan hidupkan Raspberry Pi.

Raspbian akan bermula di skrin anda.

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

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

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

Sambungkan Raspberry Pi ke rangkaian ethernet anda (melalui wifi atau dengan kabel).

Dari komputer anda, buka Mobaxterm (atau putty), mulakan sambungan ssh baru (pi login, kata laluan raspberry) dan konfigurasikan Pi anda:

ssh pi @ raspberry_ip

sudo raspi-config

  • dalam pilihan Interfacing / VNC: tetapkan Ya
  • dalam Pilihan / Resolusi lanjutan: tetapkan Mod DMT 82 1920x1080 60Hz 16: 9
  • dalam Pilihan lanjutan / pemacu GL: tetapkan pemacu desktop bukan GL GL Legacy Original

Simpan dan keluar dari raspi-config

Reboot Pi:

rebo sudo

Dari komputer anda, buka VNC Viewer, dan sambungkan ke Pi menggunakan pi log masuk, kata laluan raspberry: desktop Pi akan muncul.

Jawab panel konfigurasi untuk menyelesaikan konfigurasi Pi anda.

Setelah anda menukar kata laluan Pi, sambungan VNC akan ditutup. Mulakan semula menggunakan kata laluan baru anda.

Langkah 7: Sediakan HDD

Sediakan HDD
Sediakan HDD
Sediakan HDD
Sediakan HDD
  1. Sambungkan HDD ke komputer anda.
  2. Buka pengurus partition Windows, pilih HDD anda, dan buat 2 partisi NTFS (atau 3, jika anda mahukan ruang kosong yang kecil untuk mengekalkan kad µSD). Contohnya, saya namakan 2 bahagian "loic" dan "vincent"
  3. Sambungkan HDD ke Pi: Raspbian harus dipasang secara automatik 2 cakera di desktop. Pemacu dihubungkan ke folder / media / pi / loic /, dan / media / pi / vincent /

Langkah 8: Konfigurasikan Rsync: Buat Skrip Synchro

Konfigurasikan Rsync: Buat Skrip Synchro
Konfigurasikan Rsync: Buat Skrip Synchro

buka arahan pada desktop Pi

Di / home / pi /, buat skrip:

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

masukkan teks:

#! / 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} _vers _ $ {mesin_d Penyegerakan secara automatik: 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} gema" Compte `whoami`"> $ {log_local} / 1. $ {machine_locale} _vers _ $ {machine_distante}.log echo "--------- -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 _ $ {mesin_distante}

Konfigurasikan garis 3 hingga 7:

  • ganti "loic" dan "vincent" dengan nama pemacu anda
  • port_distant: buat masa ini, gunakan 22 sebagai port terpencil. Pada langkah terakhir, anda harus menggantinya dengan nilai pilihan lain (seperti contoh: 34567)

simpan fail dan keluar.

Langkah 9: Konfigurasikan Rsync: Lakukan Synchro Sekali Sehari

Dalam arahan, buka crontab:

sudo crontab -u pi -e

pada akhir fail, tambahkan cron:

0 1 * * * / usr / bin / kawanan -xn /tmp/flocktmp.lock -c "/ rumah / pi / skrip / SB_sync"

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

Simpan dan tutup fail.

Langkah 10: Siapkan Samba

Samba menghubungkan storan linux ke rangkaian windows.

Buka arahan dan pasang pakej:

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

Autorisasi akaun "pi" untuk mengakses Samba:

sudo smbpasswd -a pi

Simpan fail konfigurasi Samba lalai:

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

Buka fail:

sudo nano /etc/samba/smb.conf

Dan di akhir fail, tambahkan baris ini untuk mengkonfigurasi pemacu anda untuk berkongsi:

[DOKUMEN LOIC]

komen = NAS de loic path = / media / pi / loic valid users = @users force group = pengguna membuat mask = 0660 mask mask = 0775 read only = no browseable = yes public = yes

Simpan fail dan keluar.

Langkah 11: [Pilihan] Samba: Konfigurasikan Akses Baca ke Network Drive Vincent

Buka fail konfigurasi Samba:

sudo nano /etc/samba/smb.conf

Dan di akhir fail, tambahkan baris ini untuk mengkonfigurasi pemacu lain yang ingin anda akses:

[DOKUMEN VINCENT]

komen = jalan sandaran de vincent = / media / pi / vincent pengguna yang sah = @users force group = pengguna membuat topeng = 0660 topeng direktori = 0775 baca sahaja = ya boleh dilayari = ya awam = ya

Simpan fail dan keluar.

Langkah 12: [Pilihan] Samba: Akses ke Log

Buka fail konfigurasi Samba:

sudo nano /etc/samba/smb.conf

Dan di akhir fail, tambahkan baris ini untuk mengakses dari tetingkap ke status segerak:

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

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

Simpan fail dan keluar.

Langkah 13: [Pilihan] Samba: Sembunyikan Folder Tidak Berguna "/ rumah / pi"

Buka fail konfigurasi Samba:

sudo nano /etc/samba/smb.conf

Dalam fail, cari baris berikut dan tambahkan ";" pada awal memberi komen:

; [rumah]

; komen = Direktori Rumah; dilayari = tidak; baca sahaja = ya; buat topeng = 0700; topeng direktori = 0700; pengguna yang sah =% S

Simpan fail dan keluar.

Langkah 14: Akses ke Pemacu Rangkaian Dari Windows

Akses ke Pemacu Rangkaian Dari Windows
Akses ke Pemacu Rangkaian Dari Windows

Dari komputer Windows, buka penjelajah.

Klik pada "Rangkaian" dan tetapkan semula tetingkap.

Komputer dengan nama Rapberry Pi anda akan muncul.

Buka dengan menggunakan akaun "pi" dan kata laluan anda.

Anda harus melihat folder yang ditambahkan sebelumnya dalam fail konfigurasi Samba.

Langkah 15: Sediakan Mesin ke-2

Mesin pertama anda sudah siap.

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

Setelah 2 mesin siap, anda perlu menukar kunci ssh untuk membenarkan akses di antara mereka, lihat langkah seterusnya.

Langkah 16: Buat SSH Antara Mesin Tempatan dan Jauh

Untuk memudahkan perkongsian kunci SSH, setiap Raspberry Pi harus disambungkan ke rangkaian ethernet yang sama.

Pada setiap Raspberry Pi, buka arahan pada desktop Pi dan masukkan:

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

ssh-copy-id pi @ IP_of_other_raspberry

Langkah 17: Uji Synchro

Uji Synchro
Uji Synchro
Uji Synchro
Uji Synchro
Uji Synchro
Uji Synchro

2 mesin anda sudah siap.

Anda boleh menguji sinkronisasi pada komputer windows anda:

  1. tambahkan fail dalam pemacu rangkaian tempatan anda (iaitu / Rpi4-loic / documents loic / test / test.txt),
  2. jalankan skrip di desktop Pi tempatan anda (jalankan SB_sync di / home / pi / script)
  3. pastikan fail anda muncul di pemacu rangkaian sandaran (iaitu / Rpi4-vincent / documents loic / test / test.txt).

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

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

Langkah 18: Konfigurasikan Laluan Internet

Dalam kes saya, untuk mesin tempatan di rumah, saya melanggan akses internet termasuk penghala dan IP tetap.

Untuk mesin jauh, penyedia perkhidmatan Internet adalah sama, jadi konfigurasi lebih mudah, dan saya tidak memerlukan DNS.

Di rumah saya:

  • Di penghala saya, saya membuat laluan port dari "remote_internet_fixed_IP" di "port_34567" ke "my_raspberry_IP" di port "22"
  • Dalam raspberry saya, di / home / pi / script / SB_sync, saya menggantikan nilai "port_distant" "22" dengan "port_34567"

Di tempat terpencil:

  • Di penghala, saya membuat laluan port dari "my_internet_fixed_IP" di "port_34567" ke "my_raspberry_IP" di port "22"
  • Di raspberry jauh, di / home / pi / scripts / SB_sync, saya menggantikan nilai "port_distant" "22" dengan "port_34567"

Untuk permohonan anda:

  • Anda harus mengganti IP dan port_34567 dengan anda sendiri.
  • Sekiranya IP internet dinamik, anda harus melanggan DNS.

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

Selesai!

Langkah 19: Pustaka

Pasang Raspbian pada kad µSD

Sesuaikan kad µSD selepas membuat formasi (SSH dan WiFi)

Menggunakan Raspberry Pi anda

Raspberry Pi Sync dengan rysnc oleh feralhosting

Port SSH khusus untuk Rsync

Pasang dan gunakan Samba

Disyorkan: