ugrás a tartalomhoz

Mi a különbség write endurance terén egy HDD, egy SSD és egy pendrive között?

inf · 2015. Aug. 14. (P), 05.38
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?
 
1

Közben kaptam választ máshol.

inf · 2015. Aug. 14. (P), 06.13
Közben kaptam választ máshol. Azt írják, hogy egy átlag SSD évszázadokig bírja 4k/sec írással, és hogy ez a terhelés nem számít write intensive-nek. A pendrive-ok gyengébb minőségűek kevesebbet bírnak, de az én esetemben még azok is jók lehetnek. Nyilván a nagyon olcsók hamarabb tönkremennek. Azt hiszem nekifutok a dolognak egy 64GB-os pendrive-al (kingston, adata vagy sandisk), aztán meglátom mi lesz.
2

Ha nem titok, elárulnád, hol

pythonozok · 2015. Aug. 14. (P), 09.17
Ha nem titok, elárulnád, hol kaptál rá választ?
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.
3

itt. azt írja a srác, hogy

inf · 2015. Aug. 14. (P), 14.39
itt. azt írja a srác, hogy érdemes 4k-hoz közel lenni írásnál, addig meg memóriába gyűjteni. gondolom úgy pont belefér egy memória cellába az adat. a pendrive-ra azt írja, hogy 3-5 évet bírhat ki, és hogy érdemes 3 évente újat venni, mert folyamatosan javul a minőségük. gondolom ezt a másodpercenkénti írásra értette.

é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.
4

Ez a pogos kütyü jobb, mint

pythonozok · 2015. Aug. 14. (P), 19.53
Ez a pogos kütyü jobb, mint egy raspberry pi vagy annak valamely utánzata, pl. Cubieboard?
Néha eszembe jut, hogy kellene egy debianos házi szerver... (persze a megvalósításig sohasem fogok eljutni :) )
5

Nem igazán lehet

inf · 2015. Aug. 14. (P), 20.41
Nem igazán lehet összehasonlítani a kettőt. Azok nem tudnak USB3-at meg SATA-t jelenleg. Ez sokkal gyengébb teljesítményben, kevesebb a memória rajta, nem aksival jön, nem barebone, nincs rajta HDMI, nem szerelhető, nincsenek más kimenetei, stb... NAS-nak, szervernek ez a jobb választás. Szenzor adatok loggolására, vezérlő építésre, robot építésre, stb... meg az RPI, arduino és társai.
6

A cobieboard4 már tud

pythonozok · 2015. Aug. 14. (P), 21.25
A cubieboard4 már tud usb3-at, sata-t szerintem a régebbiek is.
Ami gázos, az az ár... rpi még 10e körül volt, a cubieboard 4 már 50e+ :((
8

A pogoplug v4 5-6k, mivel 20

inf · 2015. Aug. 15. (Szo), 01.40
A pogoplug v4 5-6k, mivel 20 euro alatti, áfa és vám mentes még ha az eu-n kívülről jön, akkor is. A szállítást azt hiszem bele szokták számolni, úgyhogy vigyázni kell, hogy a 22 eurot ne lépjük át. Egy elfogadható 32gb-os pendrive 5k. Ha nagyon gyorsat akarsz, ami annyit tud, mint egy ssd, akkor pl egy sandisk extreme 10k. Egy ugyanakkora ssd szintén 10k. Összesen 10-15k-ból megvan egy egyszerű házi webszerver vagy NAS. Érdemes sd kártyáról bootolni, és akkor a pendrive-ra csak az adat megy. Egy 4gb-os sd kártya 1-5k-ba kerül, ami összesen így max 20kt jelent.

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. :-)
10

Jó, így részben érthető.

pythonozok · 2015. Aug. 15. (Szo), 03.57
Jó, így részben érthető. Amikor cubieboardot néztem, akkor a 3-ast sem lehetett itthon kapni, a 2-es meg valahol 10000Ft körül volt, talán egy sd kártyával együtt - bár ez utóbbi nem biztos. Lényeg, hogy azért néztem alternatívát a rpi helyett, mert már épp rendeltem volna, amikor észrevettem, hogy sokan panaszkodnak a teljesítményére. Elsősorban olyanok, akik php+mysql szervert akartak rárakni vagy épp médiaszerverként használták volna, sambával.
11

Hát elvileg ezeket a

inf · 2015. Aug. 15. (Szo), 07.52
Hát ezeket a funkciókat (mediaserver) a pogoplug elvileg jól viszi, legalábbis alapból ilyen célra gyártják ezeket a kütyüket. Samba sajna nincs rajta alapból, meg nem valami jó az alap szoftver, azért szokás lecserélni. Elképzelhető, hogy az USB2-vel volt a gond PI terén, CPU és memória terén nincs gond vele. Szerintem.
7

Itt ami a lényeg, hogy a

BlaZe · 2015. Aug. 14. (P), 22.43
Itt ami a lényeg, hogy a block erasure miatt - csak egész block resetelhető - a flash device, vagy a flash file system wear leveling-gel próbálja a növelni a device élettartamát.

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ő.
9

Van UPS alatta, úgyhogy

inf · 2015. Aug. 15. (Szo), 01.55
Van UPS alatta, úgyhogy áramkimaradás miatt nincs adatvesztés, a szerver meg remélhetőleg nem hal be. Ha nagy ritkán mégis, az belefér. A bufferelés így látatlanban pár sor kód, szóval nem probléma. Amire még gondoltam, hogy memóriában bent lesz az utolsó adat, és csak akkor mentek, ha változás van. Így is teljesen reprodukálható minden, viszont sokkal kevesebb írásba kerül menteni. Ha ezt még egy 4k bufferrel összekapcsolom, akkor meg kánaán van. :D

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

Vannak itt még érdekességek:

inf · 2015. Aug. 15. (Szo), 08.06
Vannak itt még érdekességek: http://www.slideshare.net/gharriso/ssd-and-the-db-flash-cache http://www.vldb.org/pvldb/vldb2010/papers/I06.pdf

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

Elhasználódás

Hidvégi Gábor · 2015. Aug. 15. (Szo), 09.01
Utána kell járni, hogy az adott flash meghajtó támogatja-e a wear levelinget, amire egy pendrive esetén kisebb az esély, mint SSD-nél. A wear leveling ráadásul kétféle lehet, statikus és dinamikus, az előbbi a tartósabb.
18

Nekem az a benyomásom, hogy a

inf · 2015. Aug. 17. (H), 02.47
Nekem az a benyomásom, hogy a wear leveling már alap feature elég régóta pendrive-ok terén is. Illetve vannak direkt endurance-re tervezett pendrive-ok is, amik az átlagnál tartósabbak. Ezeknek meg is kérik az árát.
14

Alapmű

vbence · 2015. Aug. 15. (Szo), 10.17
Ez segít sokmindent kontextusban kezelni:

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

Akkor sem, ha sync opcióval

pythonozok · 2015. Aug. 15. (Szo), 15.44
Akkor sem, ha sync opcióval mountol?
(Itt jött volna egy smiley, de mióta ssd van... azóta semmi ilyesmiben nem vagyok biztos)
16

Lehet

vbence · 2015. Aug. 15. (Szo), 18.58
... de az nagyon speciális :)
17

Jó lenne, ha lennének ilyen

inf · 2015. Aug. 17. (H), 02.46
Jó lenne, ha lennének ilyen endurance tesztek pendrive-ra is. Egyébként már vannak nagyon jó pendrive-ok, amik lenyomnak sok SSD-t is. Pl a sandisk extreme és a kingston workspace, stb... szériák elvileg ilyenek. Sajnos egy átlag pendrive-nél sokkal drágábbak néhány kivételtől eltekintve. Még tájékozódom, biztosan találok teszteket ezzel kapcsolatban is.

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

Telepíted, a kártyán lévő

pythonozok · 2015. Aug. 17. (H), 07.44
Telepíted, a kártyán lévő könyvtárakat read only mountolod, amit meg írni akarsz, azt a pendrive-ról. Esetleg érdemes megnézni a mount bind opcióját: a pendrive-on elég egyetlen partíció, azt felmountolod valahova, utána azokat a könyvtárakat, amikbe írni kell, mount bind segítségével beilleszted a megfelelő helyre.

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 ...)
20

Mennyire lett stabil a

inf · 2015. Aug. 17. (H), 14.53
Mennyire lett stabil a végeredmény? Újraindításkor mi történik?
21

Csak játék volt. Megnéztem,

pythonozok · 2015. Aug. 17. (H), 15.54
Csak játék volt. Megnéztem, hogy működik-e, aztán kuka :(
22

Találtam egy csomó tutorial-t

inf · 2015. Aug. 17. (H), 16.34
Találtam egy csomó tutorial-t read-only linux-ra, majd próbálkozok vele. Aztán lehet, hogy felesleges idő ráfordítás, és annyi írás, amennyit produkál nem enné meg az sd kártyát soha. Fogalmam sincs. Azért én úgy néztem, hogy elég sűrűn loggol olyasmiket is, amik teljesen lényegtelenek. Aztán lehet, hogy csak indításkor ilyen, passz. Kevesebb, mint egy hónapja használok Linux-ot, nem látok még bele a lelkébe.
23

Közben tovább olvasgattam, és

inf · 2015. Aug. 18. (K), 01.17
Közben tovább olvasgattam, és feltűnt, hogyha az Asus T100TA-mon eMMC-n van rajta a windows 8.1, akkor valószínűleg egy átlag MLC SD kártyáról futó Linux-al sem lesz évekig baj, még ha ír is a kártyára valamennyit. Elég hasonló a kettő. A wear leveling terén nincs specifikáció, erősen gyártó függő itt is, hogy implementálják e, szóval utána kell nézni vásárlás előtt. Írnak itt olyat is, hogy az átlag SD kártya kb 10TB-ig bírja az írást (összehasonlítva egy komoly SSD 2PB-ot kibír), szóval egy kicsi Linux meg egy HTTP szerver loggolása biztosan nem nyírja ki évek alatt sem. Az adatbázist meg be tudom állítani, hogy az adatokat pendrive-ra tegye, amit vagy úgy választok, hogy tartós legyen, vagy 2-3 évente lecserélek. Márkában egyelőre a sandisk és a kingston, ami nálam szóba jöhet, de még olvasgatok hátha a többiről is jó benyomást szerzek.

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.