Džiugiai pranešu, kad pagaliau pradėsiu rašyti įvairiomis temomis apie inkiliuko protinimą. Pats ilgai laukiau šito momento, bet nenorėjau tuščiai filosofuoti, nes dažnai sprendimai pasikeičia kokį tūkstantį kartų iki realaus įgyvendinimo. Net ir šis įrašas būtų buvęs kitoks, jei būčiau rašęs ankščiau. Juolab kai kalbama apie DIY sprendimą. Bet paskui reiktų rašyt naujus įrašus apie pasikeitimus, kaip kad D rašė apie interjerą. (Ir galimai rašys dar…) O tų pasikeitimų per metus buvo nemažai.
Rašydamas bandysiu labiau vadovautis „agile” metodologija. T.y. rašysiu apie atskiras sistemos dalis, ir tik apie tas, kurios jau įgyvendintos. Ne veltui krioklio metodologija (kai pirma daromas projektas, o paskui įgyvendnimas… Nu arbaaa pagal faktą pritempiamas projektas) smagiai miršta šių laikų programavime. Tiesą pasakius, aš kai dar pusėtinai jaunas (tolumoje kikena D) programeris, ta prasme nė dviženklio skaičiaus metų nedirbu, tai nelabai man su kriokliais teko susidurti, apart tų gamtinių. Na gal tik banke truputį susidūriau, nes ten vis dar reikėjo dokumentacijos kai pradėjau dirbt, bet ir šaldytuvo instrukcija kuo puikiausiai sueidavo…
Šiai dienai situacija tokia: kaip pas tikrą dizainerę, grindų plytelės atvažiuoja greičiau, nei išliejamos pačios grindys, taip ir programeris suderina, kad šviesos laidas name internetą pradeda tiekti greičiau, nei sutvarkoma elektros instaliacija, ar tuo labiau pradedama name gyventi. Tiesiog norėjau greičiau susitvarkyti su kasinėjimais, o ir vieną kitą kamerytę paleist jau būtų neblogai. Tuo pačiu džiaugiuosi, kad pakentėjau dar metus ir išėjo avietė su 8GB RAM, kuri pagaliau nebenaudoja vieno kontrolerio ant USB ir LAN, atsirado gigabitinis ethernet ir USB 3.0. Na, o rugpjūčio pradžioj šitas džiaugsmas atsidūrė ir mano rankose.
Ėmiau visą komplektuką: korpusas su radiatoriais, maitinimo šaltiniu, laidais, SD kortele, ir t.t. Aktyvaus aušinimo turbūt nenaudosiu, bet visumoj patenkintas šituo komplektu. „Maitekas” geras, sunkus, 3 amperų – jaučiasi, kad visai kokybiškas, neblogai telefoną krauna.
Tai, kad jau vyksta kažkas ir raspberis greitai nutūps inkile, pradėsiu drėgmes gal kokias stebėti ir temperatūrą. Ta proga pasakosiu šiandien jums, kaip nebrangiai pasidaryti patikimą duomenų saugyklą jūsų programų duomenims vieno raspberio konfigūracijoje. O bent jau pas mane tų programų suksis ne tiek jau ir mažai. Didelė dalis ir dabar jau veikia, bet skirtinguose raspberiuose arba jų alternatyvose.
Tai kokie variantai?
Viskam naudoti Raspberry SD kortelę
Aišku kaip tikram vyrui, tai galima viską saugot raspberrio SD kortelėj be jokių atsarginių kopijų, nes tikras vyras jaučia kai SD korta jau į pabaigą. Negalima. Man net akis trūkčioti pradeda, vien pamačius ar išgirdus apie tokį variantą. Kai kuriuose blog’uose yra pasvarstymų, kad pirk brangią kortelę ir daryk „read-only” – aha pažiūrėčiau kaip jums duombazė kokia veiks. Gal tada ram-disk iškart daryt? Dar kai kur svarstoma, kad su laiku kortelės bus patikimos. Tai P sako – nebus, ir šiaip atrodo kvaila neturėti jokio plano B.
P patirtis su „Raspberry’iais” ir SD kortelėm
Su Raspberry pi galima sakyt esu nuo pat jo išleidimo. Dar kaip šiandien pamenu, kad tais 2012 metais buvau Erasmuse Danijoj, padariau pre-order ir prieš grįžtant Lietuvon gavau pačios pirmosios avietės B versiją (tuomet B nuo A skyrėsi tuo, kad B turėjo LAN jungtį) su 26 GPIO „pin’ais” (visi naujesni nuėjo su 40 „pin’ų”, net buvo išleista pirmojo raspberio B+ versija ir su 40 pin’ų, raspberry pi zero (kurį irgi turiu) – ir tas turi 40 pin). Gan greit jame apgyvendinau visokių skriptų skirtų prisijungimams į svetaines, kad duotų taškų, torrentų parsisiuntimo serverį, paprastą NAS pasidariau perkėlimams tarp kompų. Vienu metu net įsigudrinau naudoti kaip bitcoinų USB įrenginių (buvo tokie USB čipai kurie galėdavo kasti bitcoinus) kasimo servą. Nuo to laiko ir radiatoriai atsirado ant avietės, nes pradėjo perkaitinėt USB/LAN chipas. Na, o vėliau greitai tas „raspberris” atsidūrė pas tėvus name valdyti signalizacijai per telefoną ir ten guli iki šiol.
Ir veikia jau šita sistema kokius 6 metus. Ar buvo nusprogus kortelė? Taip. 2 kart. Bet nei vieno karto nenusprogo dėl amžiaus ar „sudrožimo”. Iš pradžių rakinėjau į read-only rėžimą kol daėdė keitinėt kaskart kai nori kažką atnaujint programoj. O dar vėliau pradėjau saugoti duomenis ir apie zonų suveikimus, tada read-only net ir nebetiko. Ir korta buvo ne pirmos jaunystės, išimta iš fotiko (nes nu studentas), LEXAR berods 4GB. Pirmas nusprogimas įvyko po 4 metų naudojimo kažkur. Kirto žaibas į telefono liniją greičiausiai, nes nusprogo DSL modemas, ir nusprogo SD korta. Sutapimas? Nemanau. Antras kartas įvyko po metų. Tuomet dar LESTO kažką sumalė su tinklu, kad dingo nulis, susvyravo įtampa tinkle – nusprogo nemažai buitinės technikos, nusprogo ir signalizacijos maitinimo blokas, nusinešė ir naują SD kortą kartu. Vėl gi – pats raspberris liko sveikas, Į sugadintos įrangos sąrašą įtraukėm tą SD kortą – kompensavo .
Dar vienas nelaimėlis, kurio SD kortelė išėjo pasivaikščioti anapilin, yra Orange Pi Zero. Tai mielas ir kompaktiškas kompiuteriukas turintis 4 branduolių nebaisiai galingą procesorių ir 512MB RAM. Ir dar net WiFi turi ir pigus buvo, dėl to ir paėmiau, nes gal kur nors prireiks, o kur, net negalvojau tuo metu.
Ilgą laiką šitas kompiuteriukas veikė kaip VPN serveris ir nieko daugiau. Paleidus PD namo blog’ą, spėkit kur jis sukosi. Taip – šiame mielame kompiuteriuke, ir jei galėjot pastebėti pradžioje, blog’as buvo kiek lėtokas. Nors D sakė, kad viskas čia gerai. Ir taip jau nutiko, kad jame SD kortelė mirė nuo amžiaus turbūt, nes ir įdėta buvo tikrai ne pirmos jaunystės – pirma pasitaikiusi iš stalčiaus. Šiuo metu pats kompiuteriukas stovi be panaudojimo, nes blog’as perkeltas suktis ant Odroid XU4, kas turbūt tuo metu kai įsigijau (2015 metais) buvo geriausia, ką galima nusipirkti už pinigus iš tokio tipo kompiuterių. 8 branduolių Samsung Exynos procesorius (kažkas panašaus, kas ėjo ir Galaxy S serijos flagmanus). Vis gi korėjiečių kompanija gamina šitas avietės privalgusias šustrų morkų. Teko pagudrauti, kad atsisiųsčiau į Lietuvą, nes nesiuntė iš pradžių, ir ebėjuose nebuvo. Esminis skirtumas nuo kitų tokio tipo kompiuterių, kad gali naudoti tiek SD kortelę, tiek greitesnę eMMC atmintį. Tai vardan greičio – SD kortelės net ir nebandžiau. Plačiau jei kam įdomu:
https://www.hardkernel.com/shop/odroid-xu4-special-price/
Jei susidomėsit pirkti, tai asmeniškai man kliūnantis dalykas, kad XU4 pakankamai mėgsta kaisti. Originaliai ateina su aktyviu aušinimu, kuris garsiai ūžia. Aš ilgą laiką eksperimentavau su milžinišku radiatorium, tačiau galop vistiek teko primontuoti aušintuvą, nes stipriau ir ilgiau prismaugus – nesusitvarko, reikia apriboti dažnį procesoriaus norint naudoti be aušintuvo arba laikyt visiškai nuogą be jokios dėžutės.
Šiuo skyriumi norėjau pasakyti, kad iš asmeninės patirties, kuri ne tokia jau ir trumpa, SD kortos miršta ne tik nuo amžiaus ir drožimo.
Kaip P saugojosi nuo duomenų praradimo?
Per visas nutikusias gamtos išdaigas su žaibais, LESTO pokštus ar senatvės požymius nepraradau jokių svarbių duomenų. Lyg ir.
Nuo pat pirmųjų nuolatinio naudojimo dienų atsarginėms kopijoms naudojau smagius, mažiukus, nedidelės talpos USB raktus, kurių buvau visą krūvą iš gerųjų kiniečių atsisiuntęs. Dar ir dabar keli likę, bet didžioji dalis išdalinta arba išmėtyta. Principas paprastas – viskas sukasi iš SD kortos ir visiškai nesuku galvos kokia ta SD kortelė. O programų duomenų atsarginės kopijos kuriamos pagal pasirinktą dažnumą į USB raktą, kuris prijungtas per autoFS prie avietės.
AutoFS leidžia prijungti (primountinti) pasirinktą resursą tik tada, kai kreipiesi į jį žinodamas tikslų path iki jo, kitu atveju jis sistemoj nematomas. Jei diskas nenaudojamas, tai po kurio laiko atjungia jį ir vėl reikia žinot tikslų path.
Mano religiniai įsitikinimai sako: tokiu būdu sistema nemato, kad yra prijungtas diskas tai jo ir nedrožia šiaip sau.
Nenaudojau USB rakto programos duomenų saugojimui tiesiogiai, nes tada kaip ir du nekontroliuojamai drožiami taškai gaunasi – ir SD kortelė ir USB raktas.
Įsigijus Odroid pakūriau patikimą prie tinklo prijungtą diską, į kurį ir darydavau kopijas jei jis „online”, bet tuo pačiu neatsisakiau kopijų ir į USB raktą, nes tas patikimo tinklo disko projektas nebuvo toks jau patikimas. Papasakosiu gal kituose įrašuose, kas atsitiko.
Kaip bus šį kartą?
Šį kartą bus kažkoks hibridas, tarp patikimo tinklo disko ir USB rakto atsarginėm kopijom. Pasimokęs iš savo tinklo disko su aviete ar jos alternatyvomis privalumų ir klaidų, šį kartą patikimą diską nusprendžiau konstruoti iš nedidelės talpos USB raktų. Tuo labiau kad programoms daug vietos nereikės. Bent jau pradžioje. Paskui gal duombazės ir prisipildys. Idėja paprasta – kelis vienodos talpos raktus apjungti į vieną bendrą diską. Taip nukelsiu ir krūvį nuo SD kortelės.
Ką tai duoda?
Priklausomai nuo pasirinktos konfigūracijos, galima išlošti greičio arba saugumo, arba ir to, ir to. Saugumas pasireiškia tuo, kad paaukojus tam tikrą dalį vietos (vėl gi – priklausomai nuo pasirinktos konfigūracijos ir USB raktų kiekio) veikimo metu „leidžiama” sugesti betkuriam vienam ar keliems (priklausomai nuo konfigūracijos) USB raktams, ir duomenys nebus prarasti. Užteks sugedusį USB raktą pakeisti nauju tokios pat ar didesnės talpos, pridėti jį prie masyvo ir bus viskas atkurta. Net nieko perkrauti nereikia. Viskas kas veikė, veiks sėkmingai ir toliau. Čia yra kažkas tokio, ką gal net registrų centras naudoja, bet nebūtinai teisingai, arba nebūtinai ten kur reikia. Tik žinoma rimtiems reikalams naudojami „hardware” kontroleriai, aš naudosiu programinį kontrolerį.
Koks skirtumas nuo atsarginių kopijų?
Skirtumas tas, kad atsarginių kopijų darymui reikia parinkti kopijų darymo laiką ir dažnumą. Paleidus kelis blog’us, kopijas padažninau, kad darytų kas dvi dienas. Paprastesnių projektų kopijas darydavau kas savaitę. Su dabar aprašoma konfigūracija gausiu pakankamai saugią duomenų talpyklą realiu laiku, kurios saugumą galima dar padidinti pridėjus papildomų raktų ir pakeitus masyvo konfigūraciją iš RAID1 į tarkim RAID6. Tačiau net ir su diskų masyvu, pačių kopijų darymo neatsisakysiu, tik galimai praretinsiu iki karto per savaitę.
Kokia konfigūracija?
Iš pradžių galvojau, kad tai bus RAID5 masyvas iš 3 arba 4 USB raktų, kaip ir tinklo disko projekte, bet nusprendžiau, kad nenoriu prasidėti su USB šakotuvais (jie labiausiai ir kišo koją patikimumui), nes jie užimą vietą, o raspberis turi tik dvi USB 3.0 jungtis. Tad paskutiniu metu nusprendžiau, kad bus RAID1 masyvas iš 2 USB raktų, nes gal pradžioj man daug vietos ir nereikės, o vėliau vistiek planai kiti, kuriems šitas sprendimas netiks. USB 2.0 jungčių nenaudosiu, nes neišnaudos rakto greičio potencialo ir plius visas masyvas tada remiasi į lėčiausiai veikiantį USB raktą.
Apie RAID lygius čia: https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0
P patirtis
Kaip ir minėjau 2015 metais pradėjau žaisti su patikimo tinklo disko projektu, kurį sudarė 4 tradiciniai diskai po 500GB sujungti į RAID 5 masyvą – bendra talpa 1.5TB. Su nesklandumais vienaip ar kitaip susidorojau greičio sąskaita, ir tas tinklo diskas užkuriamas ir dabar, kai reikia, bet gavosi nepraktiškas.
Kokie USB raktai?
Nieko brangaus neieškojau, bet vis gi norėjau padorių greičių. Pasižiūrėjau AliExpresą, tai nieko ten nesuprasi kokie greičiai – pabijojau. Galvojau gal SD korteles daryt su skaitytuvais, bet truputį išbrangsta ir vėl su tais greičiais sunku ten suprast. Ir tada netyčia užmačiau šituos ir net Lietuvos parduotuvėse padori kaina, tai paėmiau iš Topo centro 4 tokius 32GB po nepilnai 6EUR už vienetą. Taip – tada dar galvojau, kad bus iš 4 raktų. Pirma ką pasidariau, tai atlikau greičio matavimą – neblogai.
Kaip?
Na nieko sudėtingo tikrai nėra, nereikia net būt penktoku. Visų pirma atsisiunčiam mdadm:
sudo apt install mdadm
Pasitkrinimui kur kokie diskai, pasileidžiam:
sudo fdisk -l
Mano dalis komandos atsakymo:
Kad galėtume sukurti diskų masyvą, paleidžiame tokią komandą. Po level= įrašote savo norimą – šiuo atveju tai level=1 atitinka RAID1, visi kiti parametrai turbūt savaime aiškūs. Mdadm perspės jus, kad nurodyti diskai bus suformatuoti, ir viską prarasite, tad porno persikelkit iš anksto.
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
Vat ir viskas, diskų masyvas gatavas ir iš nurodytų fizinių diskų sukurtas vienas. Galima pasitkrinti su:
sudo mdadm --detail /dev/md0
Dabar masyvą reikia suformatuoti norima failų sistema. Mano atveju ext4:
sudo mkfs.ext4 -F /dev/md0
Ir viskas. Mountinam kur norim, jei reikia susikuriam direktorijas mountinimui:
sudo mkdir /mnt/raid sudo mount /dev/md0 /mnt/raid
Ir dabar diskas gatavas naudoti. Įdomumui galima prasileisti:
df -h -x devtmpfs -x tmpfs
Ir į /etc/fstab pridedam tokią eilutę, kad prijungtų mums diską su sistemos pasileidimu:
/dev/md0 /mnt/raid ext4 defaults 0 0
Perkraunam avietę ir perkrovus pasitikrinimui dar galima paleist komandą:
mount | grep md0
Jei duoda atsakymą, reiškia viskas veikia.
Toliau diską galite naudoti kur tik širdis geidžia.
Pabaigai
Tikrai neverčiu naudoti tokios konfigūracijos, įrašas labiau informacinis. Vis gi jei ketinate leisti išmanius namus ir vienaip ar kitaip naudoti avietę, o įpatingai jei ketinate saugoti visokius telemetrinius duomenis, kaip temperatūros, statusai ir t.t., primigtynai siūlyčiau galvoti apie kažką patikimiau nei tik avietės SD kortelė. Jos nepatikimos ir niekad nebus patikimos. Ir net brangiausią SD kortelę galima nesunkiai sugadinti su elektros iškrova. Ir šiaip laikyti duomenis saugiais, nes porą metų nebuvo jokių problemų – kvaila.
Kažkada greitai bandysiu aprašyti kaip lengvai ir paprastai organizuoti ir konfigūruoti programas/serverius ir jų duomenis, kad būtų lengva juos tvarkyti, ir daryti atsargines kopijas.
Bonus
Darbai sėkmingai vyksta toliau:
- Išliejo grindis.
- Apšiltino fasadą ir nepataikė su dekoratyvinio tinko spalva. D gal norės kada prie progos apstumt mane dėl to, tai sukals kokį įrašą.
- Sumontavo lauko duris ir garažo vartus.
- Atvedė dujas tiek iki sklypo, tiek ir į namą.
- Kaip ir minėjau, atvedė šviesos laidą į chatą. Sakė imi 1gbps 2 metus ir nereikės mokėt už kabelio klojimą. Sutikau.
2020-09-09 - 12:05
Rodos tai geriausias matytas sprendimas. Taip ir darysiu 🙂 Ačiū.
Avietę pagalvojau reikia kažkaip saugoti nuo elektros šokinėjimų.
Kiniški, ypač pigūs atmintukai labai nepatikimi. Kartą visą partiją gavau neveikiančių.
2020-09-13 - 12:59
Tikri vyrai daro backupus ir saugo freenas’e 🙂
2020-09-14 - 7:54
Na tikiuosi skaitėte, kad backup’ų neatsisakiau ir aš, ir NAS’ą ir esu pakūręs.
FreeNAS aš kažkaip nelabai mėgstu, arčiau prie širdies OpenMediaVault’as. Grįžtant prie klausimo kodėl nenaudoju NAS’o, tai nes laikyt įjungtą NAS’ą kai 95% laiko jis nieko nedaro, o didžiąją elektros dalį suvalgo keturių HDD sukimasis man tiesiog skauda širdį ir neatrodo tas sprendimas kurio reikia.
Aš NAS’ą pasileidžiu tik tada kai montuoju video, nes tiesiog neturiu kompe tiek atminties, vienintelis jo prasmingas panaudojimas šiai dienai.
2020-09-14 - 20:30
Šaunus gidas, manau daug kam, kas naudoja Rpi SD korteles pravers. Dar papildyčiau laiko turint su auto skriptukais, kurie tam tikras direktorijas ar archyvus tam tikrais intervalais sumeta į tą USB Raid’ą (tiems kurie neiškrausto visko iš SD kortelės). 🙂 Aš jau be NAS su FreeNAS nebemokėčiau, sukasi 24/7, eina ne tik visų kompų backupai, bet ir Plex servas, kurį savo TV ekranuose naudojam kasdien (paprastos TV nelabai mokam žiūrėti). 🙂
2020-09-15 - 8:52
Kitas įrašas bus apie kažką panašaus 🙂
2020-09-13 - 13:02
O kiek metru sviesolaidzio vede? Mane Telia reketuoja susimoketi uz varganus 130 metru…. jeigu nori optikos.
2020-09-14 - 7:55
Na pas mane gerokai mažiau reikėjo vesti. Vos 10m gal gavos, bet ir tai arti 1k EUR už darbus būtų buvę jei pačiam reiktų mokėt.
2020-11-30 - 2:30
Nenori nuolatos bereikalingai besisukančių HDD, pajunk SSD :). O jei rimtai, tai 2,5HDD pakankamai nedaug energijos rija, o jei dar ir užmiginėja (vat Transcend viena USB HDD buvau prie rasberio pajungęs, tai kaip tik užmiginėjo ilgiau nepanaudojus), tai ir bereikalingo sukimosi nėra. Vis apie SSD pamastau, bet kaip suomenų saugyklai, didelių talpų reikia, baisiai jau brangiai kainuoja :(.
Vis dar neturiu NAS. Kaip tik planuose yra. Net nežinau, kiek mano RPi 3 sugebės pavežti :). Nors USB2 greitis ir nedidelis, bet juk ne programas iš taip pajungto kieto disko krauti planuoju, o kad sakykime naktį kokia duomenų sincronizavimo programėlė pasileis, tai man visai neįdomu, valandą jinai dirbs, ar kokias 6 valandas kankinsis.
Nusipirkau 4 Tb USB HDD, bet Rasbis jo nepaveža 🙁
2020-11-30 - 22:24
Aš turiu diskų masyvą iš 4x 2.5 HDD 500GB RAID 5 konfiguracijoje, kartu su raspeberriu tai sudaro apie 25W elektros kai veikia kas nėra mažai. Aišku, galbūt 4 diskai yra „overkillas” ir pilnai su dviem apsieiti galima RAID 1 „setupe”. Viską laikyt vienam diske man jau seniai neatrodo patikimas variantas, kad ir kiek metų tai veikia patikimai.
Naudojant HDD arba SSD bent jau man asmeniškai kliūna keli dalykai:
Kadangi šiuo metu ant mano odroid XU4 (galingesnė raspberio alternatyva) sukasi bent 2 blogai, 3 duombazės, 2 MQTT brokeriai, grafana ir dar krūva visokių python skriptukų, naivu tikėtis kad tie HDD kada nors užmigtų, nes kaip skaitėte mano įrašą apie konteinerius, visus duomenų failus aš laikau būtent išorinėj RAID konfiguracijos laikmenoje. Kitas dalykas tuos HDD/SSD reikia kažkur montuoti, taip pat reikia arba ieškoti labai trumpų USB laidų (iš kiniečiu esu siuntęs, bet tada nuo avietės nebepasileidžia – kokybė matyt prasta) arba savo custom gaminti. Su ilgais laidais gaunasi raizgalynė nereikalinga. O aš name ketinu savo avietę montuoti skyde ant DIN bėgelio, tai man toks setup’as su USB fleshiukais labai patinka ir labai kompaktiškas gaunasi ir pigus ir bent kolkas visiškai gerai veikia. Juolab, kad bent kolkas didelio kiekio GB nėra poreikio.
Aišku namų NAS greičiausiai bus iš HDD/SDD, bet apie tai atskiras įrašas bus.