Siteuri partenere

Pentru a va inscrie pe Ubuntu One puteti da click aici (referal) și câștigăm amândoi câțiva MB spațiu de stocare.

luni, 1 iulie 2013

(De)fragmentarea în GNU/Linux/Ubuntu

Orice utilizator nou de Linux/Ubuntu va aduce cu el și automatismele sau obiceiurile din Windows. Printre ele se găsește și întrebarea: „Cum se defragmentează HDD-ul în Linux?” O întrebare simplă cu un răspuns simplu: nu se defragmentează. Sau, mai bine zis, se defragmentează singur, datorită felului în care este proiectat sistemul de fișiere. Și o să explic de ce, nu înainte de a avertiza cititorii că cele ce urmează nu sunt literă de lege, sunt rezultatul căutărilor mele în „domeniul” ăsta de când am trecut și eu la Ubuntu. A, și astea nu se aplică doar la Ubuntu, ci la orice distribuție Linux care utilizează ext4.

În primul rând, ce este ext4? Este un sistem de fișiere specific Linux. 
Ce este un sistem de fișiere? În mare, un sistem de fișiere este o metodă de stocare și organizare a fișierelor pe un mediu de stocare - hard disk, stick USB, etc. De obicei, un sistem de operare funcționează pe un anumit tip de sistem de fișiere, sau pe anumite tipuri de sisteme de fișiere: Windows '98 mergea pe FAT, Windows XP și următoarele pe NTFS, Linux-ul merge pe ext2/ext3/ext4 (ultimul de cel mai recent) ș.a.m.d.

Acum, înapoi la (de)fragmentare. Fragmentarea este cauzată de faptul că fișierele nu sunt scrise la un loc pe disc, ci sunt împrăștiate pe suprafața discului. Ca să înțelegeți mai bine, imaginați-vă cum aveți hainele puse în dulap în casă: tricourile într-o parte, chiloții în alta, șosetele în alta etc. Dacă vreți să vă îmbrăcați, trebuie să luați la rând dulapurile ca să vă găsiți toate hainele, apoi vă îmbrăcați cu ce ați ales. La fel e și pe HDD: vreți să vă îmbrăcați/accesați un fișier. Capul de citire-scriere al HDD-ului caută hainele/bucățile de fișier împrăștiate prin dulapuri/pe platanele HDD-ului și le adună la un loc pentru a fi îmbrăcate/accesate
Dacă mai cumpărați haine/mărimea fișierului crește, va trebui să re-aranjați hainele în dulap/fișierele pe HDD pentru a le găsi/accesa mai ușor. Și aici intervine defragmentarea, un proces care încearcă să adune la un loc cât mai multe bucăți posibile din fișierul împrăștiat pe HDD. 

Spuneam mai sus că Windows-ul folosește FAT sau NTFS ca sistem de fișiere (FAT pentru versiunile mai vechi de Windows, NTFS pentru cele mai noi). Cum apare fragmentarea la ele? 

Păi FAT-ul este astfel conceput încât încearcă să scrie fișierele cât mai aproape de începutul HDD-ului. Și tot scrie, și scrie, până termină ce are de scris. Asta n-ar fi o problemă, dar dacă fișierele alea își măresc dimensiunea, nu mai este loc lângă ele pentru a se mai scrie și datele noi, așa că bucăți din fișiere sunt scrise unde este loc - fișierele se fragmentează. 

NTFS-ul a încercat să elimine neajunsul ăsta prin alocarea unui spațiu liber lângă fiecare fișier unde să se poată scrie datele în cazul în care fișierul ăla va „crește”. Dar de multe ori fișierul ăla crește prea tare și tot se va fragmenta la un moment dat. De asta și apare necesitatea fragmentării HDD-ului.

ATENȚIE! AICI VORBESC DOAR DE DISCURILE CLASICE, CU PLATANE MAGNETICE, NU DE SSD-URI! ALEA NU SE DEFRAGMENTEAZĂ CĂ LI SE SCURTEAZĂ VIAȚA CONSIDERABIL (CEL PUȚIN AȘA AM AUZIT)!!

Sistemul ext4 de pe Linux, în schimb, este mai șmecher. El scrie fișierele peste tot pe HDD, lăsând mult spațiu liber în jurul lor, astfel încât atunci când apare necesitatea de a „completa” fișierul cu date noi, acestea vor fi scrise la un loc cu cele vechi, eliminându-se astfel fragmentarea excesivă. Observați că am spus fragmentare excesivă. Deci și pe ext4 apare fragmentarea, dar mai rar, mai ales când spațiul liber pe HDD scade sub 10%. Unii spun și că sistemul de fișiere va încerca să adune toate bucățile de fișiere la un loc în timpul utilizării normale, de aia nici nu este nevoie de utilitare de defragmentare (sincer, eu nu știu niciun utilitar de defragmentare pentru Linux/Ubuntu).
Cam asta e treaba cu fragmentarea și defragmentarea în Linux/Ubuntu... 

Dacă vreți neapărat să vedeți cât de fragmentat este sistemul de fișiere de pe Ubuntu, va trebui să rulați comanda fsck de pe un Live CD sau să utilizați Disk utility din Ubuntu. Dar despre asta data viitoare. Spor!

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More