Автор Тема: Дефрагментация на "ext4" filesystem  (Прочетена 2677 пъти)

semprom

  • Напреднали
  • *****
  • Публикации: 23
  • Distribution: Linux Ubuntu 12.04 LTS
  • Window Manager: Gnome
    • Профил
Искам да попитам дали файловата система на линукс има нужда от дефрагментация както тази на windows?
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3473
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: Дефрагментация на "ext4" filesystem
« Отговор #1 -: Feb 11, 2012, 22:53 »
провери я с:
Код:
fsck.ext4 -f /dev/sdaX
и сам реши. Кaто успееш да я фрагментираш свирни... ;D
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Дефрагментация на "ext4" filesystem
« Отговор #2 -: Feb 11, 2012, 23:01 »
провери я с:
Код:
fsck.ext4 -f /dev/sdaX
и сам реши. Кaто успееш да я фрагментираш свирни... ;D
Всяка файлова система се фрагментира, въпросът е дали има нужда от дефрагментиране!
И горната команда е мнооого опасна, когато се изпълнява срещу маунтната файлова система
Активен

0x2B|~0x2B

semprom

  • Напреднали
  • *****
  • Публикации: 23
  • Distribution: Linux Ubuntu 12.04 LTS
  • Window Manager: Gnome
    • Профил
Re: Дефрагментация на "ext4" filesystem
« Отговор #3 -: Feb 12, 2012, 00:08 »
Е, в крайна сметка ex4 има ли нужда от дефрагментиране ?
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Дефрагментация на "ext4" filesystem
« Отговор #4 -: Feb 12, 2012, 00:09 »
Е, в крайна сметка ex4 има ли нужда от дефрагментиране ?
]

Не.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

semprom

  • Напреднали
  • *****
  • Публикации: 23
  • Distribution: Linux Ubuntu 12.04 LTS
  • Window Manager: Gnome
    • Профил
Re: Дефрагментация на "ext4" filesystem
« Отговор #5 -: Feb 12, 2012, 00:19 »
Това исках да разбера  [_]3
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Дефрагментация на "ext4" filesystem
« Отговор #6 -: Feb 12, 2012, 00:53 »
Всяка файлова система може да бъде фрагментирана. Но при ext4 (а и въобще в съвременните файловите системи, използвани от UNIX базирани системи) се работи доста по минимизиране на този процес. Основният метод, чрез който се постига това минимизиране, е запазване последователността (или, при невъзможност, приблизителна последователност) на блоковете, които съдържат записите за един и същи файл. Четенето и писането на разхвърлян по твърдия диск файл са най-големите проблеми при фрагментиране (реално те са почти цялото забавяне, което се наблюдава при фрагментирана файлова система), така че, когато това разхвърляне по диска е минимизирано, притесненията с фрагментирането в почти всички случаи могат да отпаднат. Тъй като групи от файлове, участващи в общи системни операции (например някоя програма), обикновено се записват последователно (от примера с програмата, това записване е инсталирането), се постига и някаква цялостна последователност на блоковете, нужни за операцията, която се извършва (а в комбинация със запазващата се последователност на блоковете на отделните дялове, се постига и запазване на общата последователност на файловете), така че и при работа с повече от един файл се минимизират излишните разходки по диска.
Няколко неща от характеристиките на ext4 относно целите за минимизиране на фрагментацията:
1. Обхвати (extents): В ext3 се използва традиционната схема на блоково разпределение, като всеки блок си има определен размер и данните се записват в колкото блока са им нужни (с по-горните опити за последователност). В ext4 тази схема е заменена от така наречените обхвати, които са диапазон от последователни физически блокове, като в един такъв обхват при ext4 могат да се поберат до 128МБ последователни данни при 4КБ размер на блока. В inode-а могат да се поберат 4 обхвата, като, ако не са достатъчни за данните, останалите данни се записват в друг(и) обхват(и), като разположението на данните се записва в Htree индекса (дървовидна структура на папките, характерна за ext* файловите системи), и като отново се гони последователност. Освен като мярка против фрагментиране, това спомага и за по-висока производителност при големи файлове;
2. Забавено разпределяне (delayed allocation): Някои файлови системи определят кои ще са блоковете, в които ще се пише при следващата операция за запис, още преди да бъдат зададени данните за запис. Ext4 определя това непосредствено преди записването на данните (т.е., след задаването на данните за запис), с което се постига по-добро определяне в кои блокове да бъдат записани данните в зависимост от размера им, което отново помага за по-добра консистентност;
3. Едновременно разпределение на повече от един блок (multiblock allocator): Като допълнение към забавеното разпределение, благодарение на буфериране на големи количества от данни, ext4 разпределя по няколко блока наведнъж (вместо един по един), което отново помага за по-добра преценка кой файл в кой блок да отиде, за да се запази последователността.

И все пак, ext4 също може да се фрагментира значително при определени рядко срещани сценарии на запис. Навремето имаше един инструмент e2defrag, който се ползваше в случай на фрагментиране на ext2. За ext3 така и не се появи нативен инструмент за целта, като може да се ползва e2defrag (като първо ext3 се конвертира към ext2; не си е работа, защото, както и се очаква, ext2 не съдържа много от функциите, които има ext3, и може да се счупят данните), Shake (взема всички данни накуп и им търси цяло последователно пространство, в което да ги сложи; не върши работа, ако няма такова място на диска) или defrag (презаписва файловете върху самите себе си, с което цели да събере частите им в последователни блокове). В git хранилищата на e2fsprogs има тестова версия на e4defrag (нативен инструмент за дефрагментиране на ext4, подобно на e2defrag за ext2), та ако някой иска да го тества, може да го направи и преди официалното му излизане (само първо стабилно трябва да си поиграе, за да фрагментира някой ext4 дял).

В заключение: Ext4 е трудна за фрагментиране файлова система. Ако става дума за десктоп система, най-вероятно дялът ще бъде форматиран много преди да се стигне до съществено фрагментиране. Ако става дума за сървърна система, то или ще се случи, както при десктоп системата, или (ако все пак след дълга и непрестанна динамична употреба се стигне до значително фрагментиране) може да се даде например 1 час почивка на системата (с гръмко съобщение, че тече процедура по поддръжка), файловете да се копират някъде и после пак да се върнат на диска (ако е нужно, може и с изображение, но не dd) - много по-бърз, по-безопасен, а в някои случаи и по-ефективен начин за дефрагментиране, отколкото online дефрагментиране с разни инструменти ;)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
"Filesystem panic" с Линукс 2.6.0
Хардуерни и софтуерни проблеми
pink 7 2795 Последна публикация Jan 08, 2004, 02:29
от alabal
HDD ext3 recover, "Stellar Phoenix Linux" ??
Настройка на хардуер
help40 3 6514 Последна публикация Sep 20, 2012, 21:51
от Acho
"paskal case" / "camel case"
Общ форум
Apache 3 7915 Последна публикация Aug 11, 2006, 10:01
от ivak
Проблем с "struct cdev" и "struct semaphore"
Общ форум
halturata 22 13337 Последна публикация Aug 14, 2007, 17:31
от tarator
Проблем с "reboot", "halt" и т.н.
Настройка на програми
turboshark 5 7722 Последна публикация Sep 22, 2007, 00:13
от turboshark