Mundarija:

Oson va arzon masofali RAID uchun 2 malina Pis: 19 qadam
Oson va arzon masofali RAID uchun 2 malina Pis: 19 qadam

Video: Oson va arzon masofali RAID uchun 2 malina Pis: 19 qadam

Video: Oson va arzon masofali RAID uchun 2 malina Pis: 19 qadam
Video: UYDA O'TIRGAN AYOLLAR PUL TOPISH UCHUN YOUTUBE | INTERNETDA PUL TOPISH YO'LLARI 2024, Noyabr
Anonim
Oson va arzon masofali RAID uchun 2 ta malina Pis
Oson va arzon masofali RAID uchun 2 ta malina Pis
Oson va arzon masofali RAID uchun 2 ta malina Pis
Oson va arzon masofali RAID uchun 2 ta malina Pis

Maqsad

  1. Agar uyda voqea sodir bo'lsa, men asosiy raqamli hujjatlarimni (rasmlar, shaxsiy guvohnomalar va boshqalar) qayta tiklashni xohlayman va ixtiyoriy ravishda ularni bo'lishishni xohlayman.
  2. Men bu echimni boshqa birov bilan bo'lishmoqchiman (men ishonadigan odam, ota -onam yoki do'stim)
  3. Men ochiq bulutga (obuna, to'lovlar, rivojlanayotgan GTC va boshqalar) bog'liq bo'lishni xohlamayman.

Printsip

  1. 2 ta bir xil saqlash mashinasini yarating, ularni 2 xil joyga qo'ying (masalan, 2 uy).
  2. Har bir mashinaning har bir joyiga alohida saqlash joyini belgilang.
  3. Muntazam ravishda 2 ta saqlash joyini sinxronlashtiring.

Ta'minotlar

Uskuna

Har bir mashinada quyidagilar mavjud:

  • 1x Raspberry Pi 4 B 1GB
  • Raspberry Pi 4 uchun 1x quti
  • 1x quvvat manbai USB C 5V 3A
  • 1 ta SD -karta Kingston SDC10/16GB
  • 1x NAS HDD 1To WD Red Mobile
  • 1x HDD qutisi BX-2525U3

Windows uchun dasturiy ta'minot

  • balenaEtcher
  • Raspbian buster ish stoli to'la
  • mobaxterm
  • VNC tomoshabin (ixtiyoriy)

Raspbian to'plamlari

  • Rsync
  • samba

1 -qadam: ijobiy va salbiy tomonlari

Kamchiliklari va kamchiliklari
Kamchiliklari va kamchiliklari

Afzalliklar

  1. Bu yechim arzon: menda hech qanday obuna to'lovi yo'q va uskunani sotib olish mumkin emas.
  2. Bu "masofaviy RAID" ni bajarish juda oson. Buni amalga oshirish uchun menga qo'shimcha material yoki asbob kerak emas.
  3. Raspberry Pi -ni media -markaz (kodi,…) yoki domotik (jeedom, domoticz,…) kabi qo'shimcha ilovalar uchun ishlatish mumkin.
  4. Mening ma'lumotlarim ommaviy piratriya uchun nishon bo'lishi mumkin bo'lgan ommaviy bulutda mavjud emas.
  5. 1To HDD yordamida o'rtacha elektr iste'moli bulut bilan bir xil bo'ladi.
  6. Routerimning xavfsizlik devori va ulanishning SSH shifrlanishi ma'lumotlar almashinuvini ta'minlaydi.

Kamchiliklari/yaxshilanishlari

  1. Boshqa birovda mening hujjatlarim nusxasi bor. Mening holatimda, bu odam mening oilamdan, shuning uchun menga ahamiyat bermaydi.
  2. Men standart "pi" hisobidan foydalanaman, har ikkala mashina uchun maxsus parol bilan. Men "pi" hisobidan emas, balki har tomondan alohida alohida hisob yordamida kirishni biroz ko'proq ta'minlashim mumkin edi.
  3. Men 2 uy o'rtasidagi aloqaning xavfsizligini ta'minlash uchun Internet -provayderim va SSH shifrlashga tayanaman. Xavfsizlik darajasini yaxshilash uchun tadqiqotlar o'tkazish mumkin.
  4. Hozircha men har bir diskda faqat 2 ta bo'lim yaratdim. Kichikroq uchinchi qism (~ 5Go), boshqa Raspbian faoliyati uchun, SD kartani saqlab qolish uchun foydali bo'lishi mumkin.

2 -qadam: SD -ni tayyorlang: Raspbian -ni yuklang

Kompyuterdan (mening holatimda Windows 10), "Raspbian Buster -ni ish stoli bilan" o'rnatish uchun rasmiy o'rnatish qo'llanmasiga amal qiling (https://www.raspberrypi.org/downloads/raspbian/).

"/Boot/" diskiga "ssh" nomli bo'sh fayl qo'shing

"/Boot/" diskiga "wpa_supplicant.conf" nomli fayl qo'shing

Wpa_supplicant.conf -ni oching va matnni kiriting:

mamlakat = AQSh

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

Faylni saqlang va yoping.

3 -qadam: SD -ni tayyorlang: kartani sozlang

SD -ni tayyorlang: kartani sozlang
SD -ni tayyorlang: kartani sozlang

"/Boot/" diskiga "ssh" nomli bo'sh fayl qo'shing

"/Boot/" diskiga "wpa_supplicant.conf" nomli fayl qo'shing

Wpa_supplicant.conf -ni oching va matnni kiriting:

mamlakat = AQSh

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

Faylni saqlang va yoping.

4 -qadam: Raspberry Pi tayyorlang

SD -kartangizni Pi -ga joylashtiring

Raspberry Pi -ni yoqing, ish stolini ochish usulini tanlang:

  1. HDMI kabeli, ekran, klaviatura va sichqoncha yordamida
  2. VNC -ni kompyuterdan ishlatish.

Qo'shimcha ma'lumot olish uchun tashrif buyuring

5 -qadam: 1 -usul: Ekran, klaviatura, sichqoncha yordamida Pi -ga ulaning

1 -usul: Ekran, klaviatura, sichqoncha yordamida Pi -ga ulaning
1 -usul: Ekran, klaviatura, sichqoncha yordamida Pi -ga ulaning
1 -usul: Ekran, klaviatura, sichqoncha yordamida Pi -ga ulaning
1 -usul: Ekran, klaviatura, sichqoncha yordamida Pi -ga ulaning

Raspberry Pi HDMI0 portini micro-hdmi-hdmi kabeli bo'lgan ekranga ulang

USB klaviatura va sichqonchani ulang (yoki simsiz mini klaviatura "Rii Mini i8 Simsiz" kabi)

USB C quvvat manbaiga ulang va Raspberry Pi -ni yoqing.

Raspbian ekranda boshlanadi.

Ish stoli paydo bo'lgandan so'ng, Pi konfiguratsiyasini tugatish uchun konfiguratsiya paneliga javob bering.

6 -qadam: 2 -usul: VNC yordamida kompyuterga ulang

2 -usul: VNC yordamida kompyuterga ulang
2 -usul: VNC yordamida kompyuterga ulang
2 -usul: VNC yordamida kompyuterga ulang
2 -usul: VNC yordamida kompyuterga ulang
2 -usul: VNC yordamida kompyuterga ulang
2 -usul: VNC yordamida kompyuterga ulang

Raspberry Pi -ni chekilgan tarmoqqa ulang (wifi yoki kabel orqali).

Kompyuteringizdan Mobaxterm (yoki macun) ni oching, yangi ssh ulanishini boshlang (login pi, malina parol) va Pi -ni sozlang:

ssh pi@malina_ip

sudo raspi-config

  • Interfacing variantida / VNC: Ha ni o'rnating
  • Kengaytirilgan variantlarda / Ruxsat: DMT rejimini 82 1920x1080 60 Gts 16: 9 ga o'rnating
  • Kengaytirilgan variantlarda / GL drayveri: G1 Legacy Original GL bo'lmagan ish stoli diskini o'rnating

Raspi-config-ni saqlang va undan chiqing

Pi -ni qayta ishga tushiring:

sudo qayta yuklash

Kompyuteringizdan VNC Viewer -ni oching va Pi -ga kiring, malina parolini ishlating: Pi ish stoli paydo bo'lishi kerak.

Pi konfiguratsiyasini tugatish uchun konfiguratsiya paneliga javob bering.

Pi parolini o'zgartirgandan so'ng, VNC ulanishi yopilishi mumkin. Yangi parol yordamida uni qayta ishga tushiring.

7 -qadam: qattiq diskni tayyorlang

Qattiq diskni tayyorlang
Qattiq diskni tayyorlang
Qattiq diskni tayyorlang
Qattiq diskni tayyorlang
  1. HDD -ni kompyuteringizga ulang.
  2. Windows bo'limi menejerini oching, HDD -ni tanlang va 2 ta NTFS bo'limini yarating (yoki agar siz microSD kartasini saqlash uchun bo'sh joy kerak bo'lsa 3). Masalan, men 2 qismni "loik" va "vinsent" deb nomlayman.
  3. HDD -ni Pi -ga ulang: Raspbian avtomatik ravishda ish stoliga 2 ta diskni o'rnatishi kerak. Drayvlar papka bilan bog'langan/media/pi/loic/va/media/pi/vincent/

8 -qadam: Rsync -ni sozlang: Synchro skriptini yarating

Rsync -ni sozlang: Synchro skriptini yarating
Rsync -ni sozlang: Synchro skriptini yarating

Pi ish stolida ko'rsatma oching

/Home/pi/da skript yarating:

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

matnni kiriting:

#!/bin/sh

######## Konfigurator ############ 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 = `sana+"%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 _ $ {machine_distante} ech Sinxronizatsiya: $ {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}.log echo "--------- -Debut: "" sana +"%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:" "sana +"%Y-%m-%d%T "" "----------" >> $ {log_local}/ 1. $ {machine_locale} _vers _ $ {machine_distante}.log

$ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante}

3 dan 7 gacha qatorlarni sozlang:

  • "loik" va "vinsent" ni drayverlar nomi bilan almashtiring
  • port_distant: hozircha 22 dan uzoq port sifatida foydalaning. Oxirgi bosqichda siz uni boshqa qiymat bilan almashtirishingiz kerak bo'ladi (masalan: 34567)

faylni saqlang va chiqing.

9 -qadam: Rsync -ni sozlang: Sinxronizatsiyani kuniga bir marta bajaring

So'rovda crontab -ni oching:

sudo crontab -u pi -e

fayl oxirida cron qo'shing:

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

Bu cronda SB_sync skript har kuni 1:00 da ishga tushadi. O'zingiz xohlagan soatni tanlang, lekin uni 2 ta mashina o'rtasida almashtiring, shunda 2 ta sinxron ketma -ket bajariladi.

Faylni saqlang va yoping.

10 -qadam: Samba tayyorlang

Samba Linux xotirasini Windows tarmog'iga ulaydi.

Buyruqni oching va paketlarni o'rnating:

sudo apt-get samba samba-common-bin -y ni o'rnating

Samba -ga kirish uchun "pi" hisobini avtorizatsiya qiling:

sudo smbpasswd -pi

Samba standart konfiguratsiya faylini saqlang:

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

Faylni oching:

sudo nano /etc/samba/smb.conf

Va faylning oxirida, diskni almashish uchun sozlash uchun quyidagi qatorlarni qo'shing:

[Hujjatlar yolg'on]

comment = NAS de loic path =/media/pi/loic valid users = @users force group = foydalanuvchilar maskani yaratadi = 0660 katalog niqobi = 0775 faqat o'qiladi = ko'zdan kechirish mumkin emas = ha jamoatchilik = ha

Faylni saqlang va chiqing.

11 -qadam: [Ixtiyoriy] Samba: Vinsent tarmoq diskiga o'qish ruxsatini sozlash

Samba konfiguratsiya faylini oching:

sudo nano /etc/samba/smb.conf

Va fayl oxirida kirishni xohlagan boshqa diskni sozlash uchun ushbu qatorlarni qo'shing:

[Hujjatlar VINCENT]

sharh = zaxira de vinsent yo'li =/media/pi/vincent haqiqiy foydalanuvchilar = @foydalanuvchilar kuch guruhi = foydalanuvchilar niqob yaratadi = 0660 katalog niqobi = 0775 faqat o'qiladi = ha ko'rib chiqish mumkin = ha umumiy = ha

Faylni saqlang va chiqing.

12 -qadam: [Ixtiyoriy] Samba: Jurnalga kirish

Samba konfiguratsiya faylini oching:

sudo nano /etc/samba/smb.conf

Va fayl oxirida sinxronlash holatiga derazadan kirish uchun quyidagi qatorlarni qo'shing:

[LOG SYNCHRO] comment = "mashinalarni sinxronlashtirish jurnallari"

path =/home/pi/SB_sync_logs/valid users = @users force group = foydalanuvchilar maskani yaratadi = 0660 katalog niqobi = 0771 faqat o'qiladi = ha ko'rib chiqish mumkin = ha public = ha

Faylni saqlang va chiqing.

13 -qadam: [Majburiy emas] Samba: "/home/pi" foydasiz papkasini yashirish

Samba konfiguratsiya faylini oching:

sudo nano /etc/samba/smb.conf

Faylda quyidagi qatorlarni toping va ";" qo'shing. boshida unga izoh bering:

; [uylar]

; izoh = Uy kataloglari; ko'rib chiqish = yo'q; faqat o'qish = ha; niqob yaratish = 0700; katalog niqobi = 0700; haqiqiy foydalanuvchilar = %S

Faylni saqlang va chiqing.

14 -qadam: Windows -dan tarmoq drayveriga kirish

Windows -dan tarmoq drayveriga kirish
Windows -dan tarmoq drayveriga kirish

Windows kompyuteridan kashfiyotchini oching.

"Tarmoq" ni bosing va oynani yangilang.

Sizning Rapberry Pi ismingiz bo'lgan kompyuter paydo bo'ladi.

Uni "pi" hisob qaydnomasi va parolingiz yordamida oching.

Samba konfiguratsiya faylida ilgari qo'shilgan papkalarni ko'rishingiz kerak.

15 -qadam: 2 -chi mashinani tayyorlang

Sizning birinchi mashinangiz tayyor.

2 -chi mashina uchun oldingi amallarni takrorlang, "loik" ni "vinsent" bilan almashtiring.

2 ta mashina tayyor bo'lgach, ssh tugmachasini almashtirishingiz kerak bo'ladi, ular orasidagi kirishga ruxsat berish uchun keyingi bosqichga qarang.

16 -qadam: Mahalliy va masofaviy mashina o'rtasida SSH yarating

SSH kalitini almashishni soddalashtirish uchun har bir Raspberry Pi bir xil chekilgan tarmoqqa ulangan bo'lishi kerak.

Har bir Raspberry Pi -da Pi ish stolida so'rovni oching va kiriting:

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

ssh-copy-id pi@IP_of_other_raspberry

17 -qadam: Synchro -ni sinab ko'ring

Synchro -ni sinab ko'ring
Synchro -ni sinab ko'ring
Synchro -ni sinab ko'ring
Synchro -ni sinab ko'ring
Synchro -ni sinab ko'ring
Synchro -ni sinab ko'ring

Sizning 2 ta mashinangiz tayyor.

Sinxronizatsiyani Windows kompyuteringizda sinab ko'rishingiz mumkin:

  1. mahalliy tarmoq drayveriga fayl qo'shing (ya'ni / Rpi4-loic / hujjatlar loic / test / test.txt),
  2. skriptni mahalliy Pi ish stolida ishga tushiring (SB_sync -ni/home/pi/skriptlarida bajaring)
  3. sizning faylingiz zaxira tarmoq drayverida paydo bo'lganligini tekshiring (ya'ni / Rpi4-vincent / hujjatlar loic / test / test.txt).

Fayllarni / Rpi4-loic / hujjatlari loic / test / da o'qish va yozish imkoniyatiga ega bo'lishingiz kerak, lekin faqat / Rpi4-vincent / hujjatlar loic / test / dagi fayllarni o'qishingiz kerak.

Keyingi va oxirgi qadam - "masofadan boshqarish" mashinasini boshqa joyga ko'chirish va Internet orqali 2 yo'riqnoma o'rtasida ulanishni sozlash.

18 -qadam: Internet yo'nalishlarini sozlash

Mening holimda, uydagi mahalliy mashina uchun, men yo'riqnoma va sobit IP -ni o'z ichiga olgan Internetga obuna bo'laman.

Masofaviy kompyuter uchun Internet -provayder bir xil, shuning uchun konfiguratsiya osonroq va menga DNS kerak emas.

Mening uyimda:

  • Men yo'riqchimda "port_34567" dagi "remote_internet_fixed_IP" dan "22_ port" dagi "my_raspberry_IP" gacha port yo'nalishini yarataman.
  • Mening malinamda/home/pi/scripts/SB_sync da "port_distant" qiymatini "22" ni "port_34567" ga almashtiraman.

Uzoq joyda:

  • Routerda men "port_34567" manzilidagi "my_internet_fixed_IP" dan "22_ port" dagi "my_raspberry_IP" ga yo'nalish yarataman.
  • Uzoq malinada,/home/pi/scripts/SB_sync da "port_distant" qiymatini "22" ni "port_34567" ga almashtiraman.

Sizning arizangiz uchun:

  • Siz IP va port_34567 -ni o'zingiz o'zgartirishingiz kerak.
  • Agar dinamik Internet -IP bo'lsa, siz DNS -ga obuna bo'lishingiz kerak.

Uzoq ahududu egasining yordami bilan oldingi qadam sinovini takrorlang.

Bajarildi!

19 -qadam: Bibliografiya

Raspbian -ni microSD kartasiga o'rnating

Formatlashdan keyin SD kartani sozlash (SSH va WiFi)

Raspberry Pi -dan foydalanish

Raspberry Pi bilan sinxronlashtirish fyshosting orqali rysnc bilan

Rsync uchun maxsus SSH porti

Samba -ni o'rnating va ishlating

Tavsiya: