Mi a különbség write endurance terén egy HDD, egy SSD és egy pendrive között?
Szenzor adatot loggolnék rájuk adatbázisba. A HDD-t nem szeretném, mert sokat fogyaszt és túl hangos. Ideális megoldás a pendrive lenne, mert kicsi és könnyen szállítható. Kibírnak ezek a flash memóriák huzamosabb ideig másodpercenként 1 írást? Elég változatosak a vélemények arról, hogy mennyi írást bírnak, meg hogy jók e adatbázisnak. (Gondolom ez még erősen márka és model függő is.) Ti mit tapasztaltatok?
■
Közben kaptam választ máshol.
Ha nem titok, elárulnád, hol
Egyébként én néhány hétig írtam egy router logját egy ősrégi, 1G-s pendrive-ra, ennyi idő alatt nem volt vele gond. De épp készülök még utoljára átalakítani az itthoni hálózatomat, jó lenne biztosra menni a pendrive-val, hogy kiiktathassam a laptop hdd-t.
itt. azt írja a srác, hogy
én ilyet veszek, aztán felteszek rá egy linux-ot meg egy adatbázist event storage-ekkel. lehet, hogy az event storage egyedi lesz, és fájlrendszerbe fog menteni, ahogy a srác javasolta 4k-nként. ups van, úgyhogy nagy baj nem lehet az áramszünetekkel sem, akkor sem lesz adat vesztés.
Ez a pogos kütyü jobb, mint
Néha eszembe jut, hogy kellene egy debianos házi szerver... (persze a megvalósításig sohasem fogok eljutni :) )
Nem igazán lehet
A cobieboard4 már tud
Ami gázos, az az ár... rpi még 10e körül volt, a cubieboard 4 már 50e+ :((
A pogoplug v4 5-6k, mivel 20
Ha kereskedelmi NAS-t akarsz venni, akkor pl egy zyxel doboz 15k és 10k bele az ssd, szóval 25k a minimum, és akkor az csak NAS funkciókat tud.
A legújabb PI itthon 15k körül van, nem alkalmas NAS-nak, mert csak USB2-t tud. Az arduino 10k körül van emlékeim szerint, kb egy kategória, csak egy fokkal gyengébb teljesítményre, mint a PI. Webszervernek jó, úgy valszeg nem limitálja az USB2 annyira. Kell neki projekt box, hogy legyen burkolata, kell bele memória ugyanígy, ami összesen legalább 25k.
A cubieboard v4, amit említettél 40k az amazonon. Ha teszünk rá áfát, akkor 50k. 5-10k a pendrive vagy az ssd, plusz ugyanúgy kell project box, szóval legalább 65k abból kihozni egy NAS-t vagy webszervert, ami azért már elszállt, de biztos megvan annak is a fogyasztói bázisa.
Nyilván ezek teljesítményben az árral növekednek. Például memóriában a pogoplug 128MB, az RPI 512MB, a cubieboard 2GB. Gondolom ugyanez igaz a processzorra is. Azt mondják egy konzolos Linux-nak elég a 10-15MB memória is... Döntse el mindenki maga, hogy melyiket választja. :-)
Jó, így részben érthető.
Hát elvileg ezeket a
Itt ami a lényeg, hogy a
Emiatt jó ötlet a buffering, így a töredékére csökkenthető az írás, vagyis az erase/rewrite cycle mennyisége, amiben igazából kifejezik az élettartamot. 4k block méretnél és 128 byte rekord méretnél 32 másodpercenként írnál. Cserébe egy esetleges crashnél ennyi adatod megy a lecsóba. Ha nagyobb block méretet használsz - én dolgoztam 64k block méretű flash memóriával -, akkor ez ugye sokkal több is lehet. Azt te tudod, hogy belefér-e ekkora adatvesztés (gondolom igen). Ha tutira akarsz menni, akkor replikálhatod a buffered :)
Hogy legyen plusz egy szempont, érdemes azt is nézni mennyibe kerül egy pendrive (2-3 évente cserélve) és mennyibe kerül az időd, amit azzal töltesz, hogy kitold az életciklusát 1-2 évvel. Szerintem nem összemérhető.
Van UPS alatta, úgyhogy
Hát ja, olcsók ezek a kütyük, de nem szeretek pazarolni, ha minimális erőfeszítéssel megoldható jobban is a dolog.
Vannak itt még érdekességek:
Ha szerencsém van, akkor találok olyan adatbázist, ami már eleve ssd-re vagy pendrive-ra optimalizált. (Gondolom ugyanúgy kell mindkettőre.) És nem kell kézzel megírni a buffer-t, csak a config fájlt beállítani. A hétvégén nem érek rá, de majd hétfőn átnézem, hogy mik a lehetőségek.
Elhasználódás
Nekem az a benyomásom, hogy a
Alapmű
Eslő rész
...
Utolsó Rész
Más: az oprendszered nem akkor fogja kiírni a szektorokat, amikor te végrehajtod a write műveletet.
Akkor sem, ha sync opcióval
(Itt jött volna egy smiley, de mióta ssd van... azóta semmi ilyesmiben nem vagyok biztos)
Lehet
Jó lenne, ha lennének ilyen
A másik része a dolognak, hogy SD kártyára szeretnék Linux-ot tenni és úgy bootoltatni, hogy csak olvassa, de ne írja a kártyát, hogy ne használódjon el. Gyanítom, hogy ez is csak bajosan oldható meg. Egyébként lehet mountolni read-only módban is, de gondolom akkor ha bármit konfigurálni akarok, az se megy át, illetve, ha nincs rendesen beállítva a rendszer, akkor elszáll hibával.
Kösz a linkeket, majd elolvasom őket.
Telepíted, a kártyán lévő
mount /dev/pendrive /pendrive
mount -o bind /pendrive/home /home
mount -o bind /pendrive/logs /var/logs
stb.
Mondjuk ez pont a konfig fájlokhoz nem nyerő, de egy belőtt, működő rendszer konfigurációs állommányait azért nem kell túl sűrűn piszkálni.
Egyszer csináltam csak ilyet, azt úgy oldottam meg, hogy a konfig módosítás idejére írhatóvá tettem a fájlrendszert. (mount -o rw,remount ...)
Mennyire lett stabil a
Csak játék volt. Megnéztem,
Találtam egy csomó tutorial-t
Közben tovább olvasgattam, és
Flash drive-nál azt mondják, hogy 3 féle megoldás van: TLC, MLC, SLC. Az időtállóság is így növekszik: a TLC kb 1000 írást bíz, az MLC 3-5000 írást, az SLC meg 50000 írást egy cikk szerint. Ezen kívül persze számít, hogy milyen wear leveling megoldást, stb... használnak még benne, de ez az alap. A Kingston V300-amban MLC van. Az olcsó pendrive-okban azt mondják TLC, a jobbakban meg MLC. A drágább dolgokban előfordulhat SLC. Pendrive terén van néhány SLC-s, de egyszerűen nem lehet elérni őket, nem egy jellemző technológia valamiért.
Zalman adott ki SLC pendrive-okat 2012-ben, nem lehet még külföldről sem rendelni. Ugyanígy van Mach Xtreme pendrive is, amit szintén nem lehet kapni, vagy ami van amazonon, az erősen hamisítványnak tűnik. Még a tartósnak reklámozott Kingston DataTraveler Workspace is MLC-t használ, tehát az sem lehet igazán tartós. Cikket még nem találtam, ami tartósság szempontjából pendrive-okat hasonlítana össze, de keresek tovább. SSD-knél van cikk.
Még tovább olvasva szóba jött még két kategória:
- external SSD - gyakorlatilag ugyanolyan, mint egy sata SSD (20k körül kezdődnek), csak sata helyett usb3 csatival. sebességben is ugyanolyan jók, mint az SSD. MLC van bennük általában, amit kompenzál a jóval nagyobb méret (jobban eloszlanak az írások).
- SD kártya - ebben is vannak komolyak, és pl a sandisk extreme pro sd kártyában 32GB-os és elérhető áron van (15k), szemben egy pendrive-al, ami 128GB-nál kezdődik, és nyilván annyival drágább is (40k). állítólag 24nm-es SLC van ebben is és beépített wear leveling, szóval sokáig bírja. alternatív megoldásnak tehát teljesen jó, ha az oprendszer, a HTTP és adatbázis szerverek SD kártyáról mennek, a statikus fájlok, amiket keveset írunk, de sok helyet foglalnak meg mehetnének egy olcsó pendrive-ról.
Még tovább olvasva kiderül, hogy az SD kártya nem opció, mret lassú BUS-on van. Úgy tűnik a pogoplug v4 esetében a 800Mhz-es processzor erősen limitálja a másolási sebességet és a hálózatot is. Bizonyos beállításokkal ezen lehet valamennyit segíteni, de még így is lassú; USB2 szintű. Talán a CPU-t kellene húzni, ha bírja, de erről nem találtam valami sokat eddig. A srác szerint hamarosan kijön egy új Linux kernel, ami csökkenti a CPU és memória igényét az I/O-nak, és így sokat javíthat a helyzeten. Kíváncsian várom. Legalább egy 60MB/s-et szeretnék. Ha az nem jön össze, akkor inkább nem veszem meg.
Ha már szóba került a kontextusban kezelés, 100MB/s-el írva a 10TB-ot (SD kártyára említett érték) kb 1 nap alatt lehet összehozni (27 óra). Ez azért nem sok. Ugyanezt alapul véve a 2PB kb 200x annyi idő, szóval nincs 1 év. Tegyük fel, hogy minden másodpercben történik valamilyen event a szerveren, amit le kell tárolni, az egyszerűség kedvéért 4K-n, szóval 0.5KB-on. Ez ugye a 100MB/s-hez képest 200.000x-es sebességcsökkenés, tehát 200.000x tovább fogja bírni a cucc. 200.000 nap meg elég sok az SD kártyának, az SSD-t meg inkább ki sem számolom... Terhelésnek kb ez a reális. A nagy mennyiségű adatra nálam inkább az a jellemző, hogy ritkán írom, és utána nem nyúlok hozzá. Ha az adatbázis optimalizálva van SSD-re, és a HTTP szerver is rendesen van belőve, akkor nem lehet baj egy jó pendrive-al sem. Keresek majd adatot, hogy hány TB írást bír egy-egy mai MLC pendrive. Ha nem bíztató, akkor inkább beteszek egy SSD-t a pogoplug-ba.
Más szemszögből nézve ugyanazt, a táblázat szerint napi 1GB írással is vígan elmegy egy 32GB-os gagyi TLC pendrive 87 évig. Ez mondjuk kb annyit jelent, hogy úgy hibernáljuk, hogy közben nyitva marad a böngésző, és menti a lemezre a megnyitott oldalakat. Na most egy konzolos szerveren ilyesmi nem fordul elő, és ha tényleg csak pár felhasználó fér hozzá, akkor teljesen rendben van egy jobb pendrive is oprendszernek és adatbázisnak.
Azt írják páran, hogy 40MB/s-es írást és 70MB/s-es olvasást tudtak elérni, vagy RAID5-el 30MB/s és 90MB/s (a párhuzamos írás és olvasás miatt eltérőek az értékek), ami azért elfogadható. Remélhetőleg az új Linux kernel-el még tovább fog javulni, és elérjük a 60-at az írásnál a 120-at meg az olvasásnál, ha meg csoda történik, akkor nem fogja limitálni a CPU az I/O-t. :-)
Ár-érték arányban a legjobban a SATA SSD éri meg, abból is a 120GB-os vagy nagyobb. Az USB-s SSD kicsit drágább, de nem sokkal. Ha 32GB-os kell, akkor a pendrive a nyerő, 64GB-nál meg kb egy árban vannak. Az SD kártya nem játszik, de ha játszana, akkor is azzal lenne a legdrágább 1GB, ha normálisat akar az ember. Szóval én egyelőre kivárok, hogy mit hoz a 4.2-es kernel a kirkwood-nál, aztán ha jelentősen gyorsul, akkor rendelek egy pp4-et meg veszek hozzá még egy kingston v300-at, aztán megy rá az adatbázis, meg ha elég a memória (amit kétlek), akkor a HTTP szerver is. Egyelőre nem gondolkodok RAID-ben. Az kb 80$ lenne a 3-as doboz meg még 2db SSD, szóval jelentősen megdobná a költségvetést. Sebességben az olvasáson javítana valamennyit, az íráson meg rontana egy keveset.