Kirjoittaja Aihe: SSD-levyn käyttö / tiedostojen muokkaus ?  (Luettu 4541 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
SSD-levyn käyttö / tiedostojen muokkaus ?
« : 29.01.15 - klo:09.32 »
Työn alla on mittalaitekone, jossa data talletetaan SD-korteille tai SSD:lle.
Tiedon keruuta tullaan tekemään vuosia.
Kerralla talletettavat määrät ovat pieniä, mutta talletuskertoja tulee paljon.
Tiedot kerätään jatkoksi rajalliseen määrään tiedostoja
Varsinaisessa tiedon keruussa kaikki operaatiot tehdään RAM:lla olevassa /tmp -hakemistossa.

Miten tiedostojen käsittely kannattaa tehdä ?
Jos teen esim 'cat file1 >> kokoelmafile', kirjoittaako komento koko tiedoston uudestaan, vai pelkästään lisää palan olemassaolevan tiedoston perään ?
Jos vain lisätään tiedoston perään, muokkaako systeemi jotain indeksi-tietuetta ?
Saako järjestelmässä täydellisesti estettyä kaikki levy-kirjanpitoon liittyvät kirjoittelut (modiy-time, access-time...) ?
Miten lisäys kannattaa tehdä, jotta levylle kirjoituksien määrä saadaan minimoitua ?



nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: SSD-levyn käyttö / tiedostojen muokkaus ?
« Vastaus #1 : 29.01.15 - klo:11.59 »
Työn alla on mittalaitekone, jossa data talletetaan SD-korteille tai SSD:lle.
Tiedon keruuta tullaan tekemään vuosia.
Kerralla talletettavat määrät ovat pieniä, mutta talletuskertoja tulee paljon.

Jos talletuksia tulee esimerkiksi vain kerran tunnissa ja datamäärä on kilotavujen luokkaa, hyvä SD-kortti kestänee käyttöä useita vuosia. Modernilla SSD-levyllä asiaa voi alkaa murehtia sitten, kun kirjoituksia tehdään useampi sata teratavua vuodessa (yli 5 MB/s jatkuvaa kirjoitusta). Pienillä datamäärillä, jotka eivät edes täytä koko levyä vuodessa, mikä tahansa peruslevy kestää flash-piirien puolesta vuosikymmeniä. Todennäköisemmin levyyn tulee muuta vikaa ennen kuin flash kuluu puhki.

Miten tiedostojen käsittely kannattaa tehdä ?
Jos teen esim 'cat file1 >> kokoelmafile', kirjoittaako komento koko tiedoston uudestaan, vai pelkästään lisää palan olemassaolevan tiedoston perään ?

Komento lisää palan tiedoston perään kirjoittamatta koko tiedostoa uudestaan. Käytännössä ainakin yksi blokki/sivu (page) luetaan levyltä, muokataan ja kirjoitetaan takaisin. Sivun koko on SSD-levyillä yleensä 8 kt.

Jos vain lisätään tiedoston perään, muokkaako systeemi jotain indeksi-tietuetta ?
Saako järjestelmässä täydellisesti estettyä kaikki levy-kirjanpitoon liittyvät kirjoittelut (modiy-time, access-time...) ?

Muokkausajan kirjanpitoa ei voi kytkeä pois päältä. Access-timen saa pois käytöstä liitosparametrilla noatime. Käytännössä muokkausajan tallentamisella ei ole suurta merkitystä SSD-levyn kulumisen kannalta.

Tavallista SD-korttia käyttäessä aikakirjanpito voi aiheuttaa tarpeetonta rasitusta, jos kortissa ei ole sisäänrakennettua wear leveling -mekanismia. Silloin kirjoitettava data kannattaa pätkiä useampiin tiedostoihin siten, että yhteen tiedostoon kohdistuu vain 10 000 kirjoituskertaa. Parhaissa SD-korteissa on wear leveling, jolloin ongelmia ei välttämättä pääse syntymään.

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Vs: SSD-levyn käyttö / tiedostojen muokkaus ?
« Vastaus #2 : 29.01.15 - klo:13.37 »

Kiitos. Vastauksesi oli varsin kattava ja selkeä.
Ehkä olen turhan paranoidi. Taustalla on kuitenkin se, että nykyinen pyörivä levy on ollut käytössä jo yli 10 vuotta, joten oletan uuden systeemin joutuvan samanlaiseen käyttöön
(Tietenkin käytössä on moninkertainen backup-järjestelmä)
« Viimeksi muokattu: 30.01.15 - klo:14.14 kirjoittanut Mistofelees »

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Vs: SSD-levyn käyttö / tiedostojen muokkaus ?
« Vastaus #3 : 11.02.15 - klo:08.59 »
Tulipa vielä mieleen.
Mikropiirien valmistuksessa siirrytään jatkuvasti kapeampiin viivaleveyksiin, mikä on johtanut siihen, että SSD -levyjen kirjoituskertojen määrä on pudonnut dramaattisesti. 100,000 kerrasta 4,000 kertaan. Samaten tiedon säilyvyys on heikentynyt.
Tämä tieto on tullut SSD-levyistä.

Mikä on totuus SD-muistien ja muistitikkujen suhteen ?
Olenko väärässä, kun olen yrittänyt keräillä tiedonkeruukäyttöön vanhoja <4GB muisteja ?

Asensin läppäriini SSD-levyn. (i3, 8GB RAM). Linux Mint:n käynnistys kestää nyt 12 sek.
Saman tien poistin rsyslog:n (apt-get remove).
Tämä rsyslog on yleensä aika turha muutenkin. Varsinkin työasemassa. Serverissä silla on oma merkityksensä. Sielläkin olen poistanut logrotaten asetuksista  turhat talletuskerrat. En tiedä ketään 'kotikäyttäjää', joka olisi koskaan tutkinut vanhoja log-tiedostoja. Vain viimeinen päivä saattaa joskus kiinnostaa scriptien toimintaa tutkiessa.

/tmp -hakemiston siirsin tietenkin heti tmpfs:lle ja lähdin muokkaamaan scriptejäni siten, että kaikki työaikaiset tiedostot käsitellään tmp-hakemistossa ja vasta lopputuote viedään SSD:lle.
Nyt pitää vielä selvittää, kannattaako esim /var/cache siirtää myös tmpfs:lle.

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Vs: SSD-levyn käyttö / tiedostojen muokkaus ?
« Vastaus #4 : 11.02.15 - klo:11.54 »

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Vs: SSD-levyn käyttö / tiedostojen muokkaus ?
« Vastaus #5 : 11.02.15 - klo:14.39 »
Tässä kattava selostus asiasta:

http://www.storagesearch.com/ssdmyths-endurance.html

Pitkä vuodatus tiivistettynä: SSD kuluu ja kuluminen riippuu käyttötavasta. Erilaiset SSD:t kuluvat eri tavoin.

Itse pyrin siihen, että minimoin kulutuksen. Mikään ei takaa, etteikö sama kalikka olisi omassa käytössäni tulilla vielä 40v päästä.
Olen aivan kyllikseni kaivanut dataa ikivanhoilta tallennusmedioilta. Osassa hankaluutena on ollut datan himmeneminen. Osassa talletukseen käytetyn laitteiston katoaminen sulatusuuneihin.
Mieluiten suunnittelen omat järjestelmäni varautumaan Worst Case -tapauksiin.


nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: SSD-levyn käyttö / tiedostojen muokkaus ?
« Vastaus #6 : 11.02.15 - klo:15.42 »
Tulipa vielä mieleen.
Mikropiirien valmistuksessa siirrytään jatkuvasti kapeampiin viivaleveyksiin, mikä on johtanut siihen, että SSD -levyjen kirjoituskertojen määrä on pudonnut dramaattisesti. 100,000 kerrasta 4,000 kertaan. Samaten tiedon säilyvyys on heikentynyt.
Tämä tieto on tullut SSD-levyistä.

Kirjoituskertojen määrä ei ole pudonnut viivaleveyden vuoksi, vaan siksi että SLC:stä (1 bitti per Flash-solu) on siirrytty MLC-tallennukseen (2-4 bittiä per solu). 25 nm:n SLC-levy kestää edelleen n. 20 kertaa enemmän kirjoituksia kuin vastaava MLC-levy.

Viimeisten muutaman vuoden aikana myös enterprise-tason SSD-levyissä on siirrytty SLC:stä MLC:hen tai eMLC:hen, joka on kirjoituskertojen suhteen välimaastossa, sietäen n. 20000 kirjoitusta per solu.

Mikä on totuus SD-muistien ja muistitikkujen suhteen ?
Olenko väärässä, kun olen yrittänyt keräillä tiedonkeruukäyttöön vanhoja <4GB muisteja ?

Uudemmissa SD-korteissa voi tosiaan olla MLC-tyyppiset Flash-piirit. Toisaalta niissä voi myös olla wear leveling -tekniikkaa, joka puuttuu vanhoista muistikorteista ja -tikuista. Itse en ehkä luottaisi vanhoihin tikkuihin sen enempää kuin uusiinkaan, enkä muutenkaan säilyttelisi tärkeitä tietoja SD-korteilla tai muistitikuilla pitkiä aikoja.

Mikään ei takaa, etteikö sama kalikka olisi omassa käytössäni tulilla vielä 40v päästä.

Käytännössä et kuitenkaan voi luottaa siihen, että mikään tallennusmedia kestää edes muutaman vuoden ajan. Arkistointistrategia on suunniteltava niin, että pystyt ajoittain verifioimaan datan virheettömyyden (tarkistussummat) ja data on tallennettu arvokkuudesta riippuen kahteen tai useampaan fyysisesti erilliseen sijaintiin. Vioittuneen median korvaamisen lisäksi data siirretään kerran vuosikymmenessä uudelle tallennusmedialle, joka on yhteensopiva ajan yleisen tekniikan kanssa.

Uusi levysi saattaa hajota yllättäen vaikka huomenna, jos se esimerkiksi saa jännitepiikin viallisesta virtalähteestä. Pyörivältä magneettilevyltä on vielä useimmiten mahdollista palauttaa dataa, mutta Flash-muisti voi kärähtää kerralla ja lopullisesti. Nimimerkillä kokemusta molemmista vikaantumisista maaseudun epävarmojen sähkölinjojen takana.

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Vs: SSD-levyn käyttö / tiedostojen muokkaus ?
« Vastaus #7 : 17.02.15 - klo:16.48 »
Uusi levysi saattaa hajota yllättäen vaikka huomenna, jos se esimerkiksi saa jännitepiikin viallisesta virtalähteestä. Pyörivältä magneettilevyltä on vielä useimmiten mahdollista palauttaa dataa, mutta Flash-muisti voi kärähtää kerralla ja lopullisesti. Nimimerkillä kokemusta molemmista vikaantumisista maaseudun epävarmojen sähkölinjojen takana.

Allekirjoitan täysin. Tässä ammatissa on nähty kasoittain hajonneita kovalevyjä, CD:tä, lerppuja, korppuja, USB-tikkuja yms. Osa on saatu pelastettua kolvilla tai ilman.
Yleensä sanon, että USB-tikku ja SD-kortti on tarkoitettu vain tiedostojen kopiointiin koneelta toiselle. Mahdollisesti ohjelmien asennukseen.

Tällä kertaa mielessä on kuitenkin pistää käyttöjärjestelmä koneen sisälle SD:llä tai SSD:llä.
Kyseessä on joukko mittalaitteiksi tarkoitettuja koneita.
Läppärissä, jossa olen testaillut SSD:tä olen päässyt jo kohtalaisen hyviin tuloksiin. Kone kirjoittelee enää n. 20kB minuutissa kovalevylle. Tarkoitus on saada tuokin pois, kunhan löydän, mikä ohjelma siellä kirjoittelee. Kaikki loki-kirjanpito on estetty, työtiedostot ovat tmpfs:llä.

Läpäri käynnistyy nyt n. 5sekunnissa, kun Win8:n aikaan meni yli minuutti. Hauskaa sinänsä, vaikka en tästä ollutkaan alkujaan kiinnostunut.