neprihlásený Piatok, 19. apríla 2024, dnes má meniny Jela
Pozor, Linux opäť ničí dáta na RAID 0 poliach z SSD diskov

Značky: linuxové jadroRAIDSSD

DSL.sk, 3.8.2015


V jadre operačného systému Linux bola v krátkom čase objavená už druhá chyba, ktorá ničí dáta na RAID 0 a ďalších RAID poliach využívajúcich softvérovú implementáciu RAID v jadre a postavených nad SSD diskami.

Chybu identifikovala spoločnosť Samsung po tom, ako sa prejavovala na jej SSD diskoch používaných technologickým startupom Algolia.

Ten najskôr označil za príčinu problémov SSD od Samsungu a ich radiče, Samsung ale následne našiel chybu v linuxovom jadre a po jej opravení podľa spoločnosti už k problémom neprichádza.

RAID 0 a ďalšie

RAID 0 pole umožňuje spojiť dva alebo viac diskov do jedného virtuálneho blokového zariadenia, v ktorom logicky po sebe nasledujú na striedačku malé bloky postupne z jednotlivých diskov.

Tento režim RAID umožňuje zvýšiť prenosové rýchlosti, vyššiu ochranu dát redundanciou na rozdiel od vyšších režimov neponúka.

Objavená chyba sa prejavuje respektíve môže prejavovať tiež v lineárnych RAID poliach, ktoré jednoducho spájajú viac diskov za seba, a RAID 10 poliach.

Chyba

Chyba sa nachádza v kóde spúšťanom pri uvoľňovaní blokov zraniteľných RAID polí, napríklad po zmazaní súborov.

Uvoľňovanie blokov je pri používaní SSD diskov dôležité, keď po informácii od jadra o uvoľnení blokov môže SSD disk podporujúci TRIM označiť blok ako nepoužívaný a efektívnejšie vďaka tomu manažovať svoju flash pamäť.

Operáciu uvoľnenia blokov posiela aj štandardný linuxový súborový systém ext4, pri pripojení s voľbou "discard". Ak je ext4 systém na RAID 0 poli, po odstránení súboru je zaslaná inštrukcia uvoľnenia blokov implementácii RAID 0 a tá ich následne posiela jednotlivým diskom.

Pre programátorskú chybu sa kvôli nesprávnemu manažmentu použitých štruktúr pamäte môžu ale v závislosti na poradí uskutočňovaných operácií prepísať informácie o bloku, ktoré má jadro pomocou TRIM uvoľniť. Jadro tak môže uvoľniť v skutočnosti iný používaný blok ako má a spôsobiť poškodenie súborov alebo súborového systému.

Na rozdiel od chyby s rovnakými prejavmi z mája neprichádza k prejaveniu sa chyby automaticky a často, keď jej prejavenie je závislé na presnom načasovaní a veľkom množstve realizovaných TRIM operácií. Prečo presne sa u Algolie prejavila len na SSD diskoch Samsungu a nie používaných modeloch Intelu nie je jasné.

Riešenie

Chyba sa evidentne nachádza v jadre veľmi dlho, u Algolie sa prejavovala aj v jadre 3.2 a pravdepodobne sa nachádzala aj v skorších jadrách.

Oprava sa zrejme dostane do jadra verzie 4.2.

Do získania jadra s opravenou chybou je potrebné vypnúť uvoľňovanie blokov v súborovom systéme inštalovanom na postihnutých RAID poliach a samozrejme aj spúšťanie nástroja fstrim.


      Zdieľaj na Twitteri



Najnovšie články:

V najbližších dňoch bude spustený nový vysielač digitálneho rádia
Seriál Fallout podľa počítačovej hry bude mať pokračovanie
Budúci týždeň budú vydané dve dôležité linuxové distribúcie
Špehovacie satelity SpaceX už snímkujú Zem, s vyšším rozlíšením ako doterajšie
Linux si na PC drží podiel 4%
AI výkon tohtoročnej generácie Intel CPU bude vyšší ako 100 teraops/s
Apple bude mať nový seriál o alternatívnom sovietskom vesmírnom programe, predĺžila For All Mankind
Pôsobivého dvojnohého robota Atlas nahradí úplne nová elektrická verzia
O2 spustilo predaj na diaľku. Namiesto eID sa fotí tvár a občiansky, nedá sa objednať eSIM ani predplatenka
Klon populárnej databázy Redis od Linux Foundation k dispozícii v prvej verzii


Diskusia:
                               
 

Som zvedavy ci sa dockam "Install arch" komentu xDD
Odpovedať Známka: 0.2 Hodnotiť:
 

Ale aspon na opravu chyby nebudeme cakat v radoch mesiacov/rokov....
Odpovedať Známka: 2.4 Hodnotiť:
 

asi si prehliadol "Chyba sa evidentne nachádza v jadre veľmi dlho"
To je take strasne pripustit, ze ani linux nie je dokonaly?
Stale reci o tom, ako je to verejne a preto sa chyby rychlo odhalia a potom sa zisti, ze skutek utek..
Odpovedať Známka: -1.7 Hodnotiť:
 

lenze.. v jadre sa najde vaznejsia chyba
- o hodinku uz je toho plny mailinglist, ako najlepsie/najefektivnejsie/naj..(dopln si) chybu vyriesit
- o dalsiu hodinu je prvy navrh (alebo viac) na fix
- koncom dna/dvoch je hotovy fix, s ktorou si hardcore linuxaci mozu ihned svoj kernel znova skompilovat (alebo len potrebnu cast)
- ...? profit
Odpovedať Známka: 5.3 Hodnotiť:
 

jeden z argumentov, preco je open source lepsi, je ten, ze v open source mozu skusenejsi programatori najst chybu, cim si zvysia renome... realita? nikomu sa v tom bordeli (ti, co videli zdrojak linuxoveho jadra, vedia, o com pisem) nechce hrabat, takze chyby tam nachadzaju vacsinou len hackeri, ktori ich zneuzivaju a linux useri sa doma prsia, aky maju super bezpecny os ;)
a este ked pocuvam nazory bezpecnostnych expertov, ako odporuca pouzivat open source, .....

taketo chyby su uz trosku moc... jeden by si myslel, ze jadro linuxu sa kodi tak, ze jeden kodi a MINIMALNE jeden to po nom kontroluje... fakt je asi skor taky, ze hocikto si tam moze napisat co len chce :(

pojem "open source" zacina stracat svoju vahu... tak, fajne som sa vyplakal, idem radsej makat ;)
Odpovedať Známka: -5.2 Hodnotiť:
 

Funkcia, ktora sposobuje chybu je v prvom rade defaultne vypnuta takze aka chyba ziadna sa realne nekona.
Odpovedať Známka: -3.8 Hodnotiť:
 

karolkooo, hovoris mi z duse ale zopar dementov ma iny nazor a preto tolko minusiek. Fanatizmus a slepost, mozno retardacia. Niekto nema rad windows, ale preto nebudem tvrdit ze linux je super naj top mega... Primitivne taketo chovanie
Odpovedať Známka: -5.0 Hodnotiť:
 

Akoze nikomu? Kolko sw chyb bolo odhalenych roznymi bezpecnostymi firmami? Ved ani tuto by neodhalili, keby sa nedostali do kernelu.

Kod jadra sa kodi tak, ze jeden to naprogramuje, 100 ludi mu to obucha o hlavu, tak to spravi znovu, cez 100 ludi to prejde a potom to testuju dalsi. Bohuzial taku exotiku ako mat SSD od samsungu v RAIDe ocividne nikto nema. Jedine tak firmy, ktore na to prisli a opravili to, tak kde je problem?

Netreba plakat treba makat lebo stratis svoju vahu;)
Odpovedať Známka: 6.2 Hodnotiť:
 

Cize nic sa nestalo? Linux je aj tak king?
Odpovedať Známka: -1.4 Hodnotiť:
 

Linux je king.
Mám rád linux.
Linux je zázrak.

V dnešnej dobe nemôže nikto pracovať zadarmo.
Každý trošku schopný jedinec, musí splácať hypotéku a živiť rodinu.
Odpovedať Známka: 5.0 Hodnotiť:
 

To fakt?
Odpovedať Známka: 3.3 Hodnotiť:
 

Zopar chyb v opensource som uz opravil a boli zaradene do oficialnych verzii. Nie som nejaky husty hacker ani nic podobne, proste som pri pouzivani softu narazil na to ze nieco nechodi tak ako by malo, chvilu som cital dokumentaciu, chvilu zdrojaky, v mailinglistoch som sa poradil so skusenesimi, napisal fix, odskusal na sebe, par dalsich ludi ho pozrelo a odobrilo, a slo to do sveta. Pri opensource som mal svoj problem vyrieseny za chvilu (skompilovane a odskusane) a do sveta vsetkym ostatnym to islo za par dni. Pri closedsource by toto nebolo mozne ani nahodou, tam si sam nepomozem a neopravim. A to je ten rozdiel, ze ci si clovek moze v kritickej chvili pomoct sam, alebo nie.
Odpovedať Známka: 7.8 Hodnotiť:
 

Ked si uz taky boss ako sa tvaris, co ti brani pustit nejaky disassm a opravovat na tvrdo? Ked som si parkrat zrusil licenciu a pytanie kodov... a to nemam ani it vzdelanie.
Odpovedať Známka: -8.6 Hodnotiť:
 

snivaj dalej...

bug, vdaka ktoremu ma linux/kde problem skopirovat vacsie mnozstvo suborov na externe medium, nie je ani po 8 rokoch opraveny.
asi linuxaci asi nikdy nepotrebovali kopirovat veci na usb kluce/disky :)
Odpovedať Známka: -6.2 Hodnotiť:
 

Kopirujem pomerne casto na externe media ( externe disky USB, E-SATA kluce) bezne aj 10 ci stovky GB naraz a nikdy som nemal v poslednych 8 rokoch na Linuxe ziadny problem.

Tak neviem ako si na nieco podobne prisiel.
Odpovedať Známka: 8.8 Hodnotiť:
 

Pred casom tu niekto hodil link na bugreport v KDE, kde sa chlapik zavzdusnoval, ze mu Dolphin straca subory.

No a kedze to bolo no-repro, tak sa rozprudila diskusia, ze co s takymi bugreportami.
Odpovedať Známka: -3.3 Hodnotiť:
 

pamatam, tie chyby ale hlasilo viac ludi, ktori nemali ziaden problem ten bug zreprodukovat.
Odpovedať Známka: -6.7 Hodnotiť:
 

Tak ho zreprodukujte pred vyvojarmi a riesenie sa najde. Bez reprodukcie chyby je to asi ako ist k lekarovi, ze som zdravy, ale nejaki moji znami parkrat zakaslali, pomozte im s tym..
Odpovedať Známka: 5.0 Hodnotiť:
 

navodov na reprodukciu je kopa.
kedze su vyvojari lenivi, tak im ani reprodukcia priamo pred ksichtom nepomoze.
Odpovedať Známka: -5.0 Hodnotiť:
 

Zaujimave pouzivam prave Dolphin(openSUSE) a rozhodne niesom sam, KDE s Dolphinom ma v ponuke aj plateny RHEL a SUSE a tiez nikde ziadny problem hlaseny.

Takze je otazka na akej distribucii to roby problem (verziou KDE to zrovna nebude) a obratit sa na autorov distribucie alebo ju nepouzivat.
Odpovedať Známka: 3.3 Hodnotiť:
 

tu sa to rozoberalo:
http://dsl.sk/article.php?article=17275

linky na chybu:
https://bugs.kde.org/show_bug.cgi?id=162211
https://bugs.kde.org/show_bug.cgi?id=324606
https://bugs.kde.org/show_bug.cgi?id=320890
resp. moze suvisiet este toto:
https://bugs.kde.org/show_bug.cgi?id=333436
Odpovedať Hodnotiť:
 

Asi mas slabé logicke myslenie, nebudeme dlho čakať od objavenia chyby. V rýchlosti opráv je opensource naozaj lepší ako uzavreté systémy.
Odpovedať Známka: 7.1 Hodnotiť:
 

ako nič v zlom ale chybu objavil samsung a jeho povestne ssd hdd , tak si aspon spojte jedno z druhým a vynde vám tretie . nie je zase chyba na ssd diskoch
Odpovedať Hodnotiť:
 

install arch
Odpovedať Známka: 2.7 Hodnotiť:
 

I have seen that coming!
Odpovedať Známka: 2.4 Hodnotiť:
 

install arch a ste v poho, novy kernel je tu o chvilu.
Odpovedať Známka: 1.3 Hodnotiť:
 

preto mam radsej manjaro ako arch, lebo pri manjare to aspon zopar tyzdnov testuju, nez to daju do beznej prevadzky...
Odpovedať Známka: -5.6 Hodnotiť:
 

ako keby arch netestoval baliky pred tym, nez sa usadia v repe... samozrejme, netreba pouzivat [testing] repo a system je stabilny uz roky...
Odpovedať Známka: 7.1 Hodnotiť:
 

A manjaro pouziva kernel akej verzie? Tipnem si, ze je vyssia ako 3.2 a teda aj v nom je ta chyba.
Odpovedať Známka: 5.0 Hodnotiť:
 

Posielam Windows 10
Odpovedať Známka: 0.5 Hodnotiť:
 

Chcel si povedať: posielam heslá Micro$oftu
Odpovedať Známka: 5.4 Hodnotiť:
 

a kluce k nsa.zaroven importujem kluc ..
Odpovedať Známka: 10.0 Hodnotiť:
 

diky, super.

eeeee, pls. ako namontujem ntfs s discard? A aby mi to nedefragmentovalo.
Odpovedať Známka: -2.0 Hodnotiť:
 

To su len povery, nic zle sa nedeje a hlavne nic nehrozi. :)
Odpovedať Známka: 0.0 Hodnotiť:
 

Oprava uz bola uvolnena dnes pre 4.2, v priebhu par dni bude aj pre vsetky LTS kerneli.

Pochybujem, ze je to moc vazne za tolko rokov s tim nemal nikto problem, zrejme to chce samsung SSD so spravnym fw a spravnu konstelaciu hviezd aby sa to prejavilo.
Odpovedať Známka: 7.3 Hodnotiť:
 

Presne tak, aj samotny samsung mal problem tento bug zreprodukovat, pricom sa neprejavoval nikde inde. Inak ich SSD stale obsahuje druhy bug ktory doteraz neopravili a suvisi tiez s queued TRIM. Tento sa ale prejavuje aj bez RAID.
Odpovedať Známka: 10.0 Hodnotiť:
 

samsung ssd su cisty clusterfuck.
Odpovedať Známka: 10.0 Hodnotiť:
 

A teraz sa pozrieme, čo presne nám hovorí manuálová stránka mount o discard voľbe pre ext4:

discard/nodiscard
Controls whether ext4 should issue discard/TRIM commands to the underlying block device when blocks are freed. This is useful for SSD devices and sparse/thinly-provisioned LUNs, but it is
off by default until sufficient testing has been done.

Čo zjavne znamená, že nie je otestovaná a že by sa v reálnom nasadení nemala používať.

To, že neotestované a nepodporované konfigurácie ničia SW alebo dáta je normálne. Je to úplne rovnaké ak použijete nejakú nedokomentovanú vec z Windowsu a ono vám to zoserie niečo...

Ľudia naučte sa čítať s porozumením a predídete problémov ľavou zadnou.
Odpovedať Známka: 8.3 Hodnotiť:
 

Vsetky distribucie by default volaju fstrim z cronu a nie je to neotestovanym discardom.

Je to tym, ze volat trim po kazdom zmazanom subore je pomale, tak to radsej nabatchuju a volaju raz za cas. Kazdy, kto chce nazornu ukazku, nech vyskusa zmazat kernel-headers so zapnutym discardom a rychlo pochopi ;)
Odpovedať Známka: 1.4 Hodnotiť:
 

v discarde neni problem. ja mam zapnuty discard a nemaze mi to data. a vobec, fstrim nerobi nist ine. ale fstrim, alebo discard pouzit cez LVM je problem, lebo LVM je dalsi layer, kery sa tvari, ako keby bol disk. to znamena, ze tie volne bloky, kere announcuje filesystem, skrz LVM nemosia byt tie iste na disku. preto su tam problemy. oni sice spravili nejaky sposob, kerym to mappuju dole, ale tento evidnentne nefunguje tak, ako by mal.

ako hovorim, ext4 je v pohode, ked ho nemas na LVM. ak potrebujes LVM, tak bys mal pouzivat BTRFS, kery ma LVM v sebe.
Odpovedať Hodnotiť:
 

Vsak ja nehovorim ze discard ma mazat data. Ja hovorim, ze je pomaly :) Mozes urobit presne ten isty test, co som pisal vyssie, uvidis sam. Okrem toho trim raz za cas je efektivnejsi, uvolnuje naraz ovela viac blokov, tak sa disku lahsie pocita wear leveling ;)

No a ext4 mam na LVM, ale na rotacnych diskoch, takze tiez ziadny problem. Na Btrfs treba zatial tiez dobru odvahu.

Odpovedať Hodnotiť:
 

mne funguje BTRFS velmo dobre. zatial zaden problem, aj ked vela ludi na to nadava, pre mna to funguje dobre.
Odpovedať Hodnotiť:
 

discard je pomaly, no ked sa fstrim pusti v nevhodnom case, dokaze byt riadne annoying... na tanieroch mam tiez LVM, hoci som si ho dal aj na SSD, zo zvyku, ale snad sa dokopem k tomu ze ho vyhodim, kedze pouzivam GPT a F2FS... a rovno si uz nahodim aj LUKS... ach ta lenivost...
Odpovedať Hodnotiť:
 

Oni tu vedia len "tvrde i" opravovat! Pretoze ich zaujima len forma a nie obsah!
Študuj vedu! Nie ASTROLÓGIU!
goo.gl/mKPydf
goo.gl/UcuFjx
Odpovedať Známka: 5.0 Hodnotiť:
 

Veď si ispsilón zruš sám bez petície, píš bez ňeho. Alebo na to potrebuješ povoleňje pána veľkomožného?
Odpovedať Hodnotiť:
 

Zober loptu, nie drogy!
Odpovedať Známka: 10.0 Hodnotiť:
 

Zober detom loptu, nie drogy!
Odpovedať Hodnotiť:
 

Zober loptu, zober drogy.
Odpovedať Hodnotiť:
 

hlavne ze je vsade napisane, ze trimovat skrz LVM je zly napad.
a ludie sa nepoucia a nepouciaa..

nech si kazdy, do to potrebuje tam hodi BTRFS a hotovo, ten funguje a zaden problem. stare LVM2 aj tak uz nikdo by nemal pouzivat.
Odpovedať Známka: 2.0 Hodnotiť:
 

Riesenie: Install Win
Odpovedať Známka: -5.8 Hodnotiť:
 

v NSA z teba majú radosť
Odpovedať Známka: 9.0 Hodnotiť:
 

Neviete niekto ako nainstalovat arch?
Odpovedať Známka: 10.0 Hodnotiť:
 

installarch.msi, enter :-)
Odpovedať Známka: 6.0 Hodnotiť:
 

no neni to az take tazke , :) mne sa to podarilo na treti krat nainstalovat . lenze mam uz stary hw cca 3rocny :) s atomom a nvidia ion , ...
Odpovedať Hodnotiť:
 

nekukal som to sice cele ale ja som si to zjednodusil trosku , na naformatovanie , particii som neprofesionalne pouzil gparted live cd, hardisk v mojom pripade 500GB , rozdelenie /root 100GB ext4 , /swap 8GB , /home 392GB ext4 , tym som preskocil cely cfdisk a podobne ako je na videu , potom som nabootoval arch linux , tam je potrebne hlavne zapnut wifi-menu a prihlasit sa k wifi sieti po reštarte ak sa k tomu kroku znovu dostanes a po prihlaseni zase nezabudni pouzit wifi-menu , potom sa pouzie lsblk /dev/sda tam sa nam zobrazi poradie rozdeleneho hdd . ( poprosim mimo zapis :) www.youtube.com/watch?v=1CukveONnek treba si kuknut toto video potom by to malo byt jasne
Odpovedať Hodnotiť:
 

http://dopice.sk/egm
Odpovedať Hodnotiť:
 

ked treba nastudovat zdrojaky kernelu (do coho sa evidentne nikomu nechce) OS, opravit, prekompilovat a potom sa uvidi ci to pojde/lepsie. som myslel, ze ked je tolko ludi, co vychvaluju moznost studovat zdrojaky, ze sa taka chyba vyskytnut ani nemoze. v takej firme, kde to maju nasadene, to je robota koho, studovat zdrojaky od kernelu? to robia spravcovia, ci si najmu partiu studakov, aby im to vo volnom case opravili? jasne, kamenujte, RAID-0 nepouziva ziadna firma, iba par blbcov na home pc...
Odpovedať Hodnotiť:
 

V prvoram rade naco by niekto potreboval stuodvat zdrojaky kernelu je to nezmysel co tu pises s pohladu nasadenia vo firme.

A chyba sa prejavuje len pri pouziti funkcie, ktora este nieje finalna a defaultne povolena.

Inak povedane, ked si das RAID 0 s SSD tak to pojde bez problemov tebe ako aj vsetkym co to tak uz davno maju.
Odpovedať Hodnotiť:
 

aha, takze treba prestudovat kernel, aby clovek vedel, ci funkciu moze zapnut?
Odpovedať Známka: -3.3 Hodnotiť:
 

nie
Odpovedať Hodnotiť:
 

neklam!
Odpovedať Hodnotiť:

Pridať komentár