Це ext4 дорожче, ніж ntfs?


11

Я щойно перетворив розділ NTFS в ext4, однак загальний простір здається зменшеним з 421G до 415G. Куди пішов 6G? І зарезервований простір вирощується до 199 М у ext4, що значно більше порівняно з 78 М у NTFS, чому?

Розділ використовується в основному для фільмів / музики, тому більшість файлів дуже великі (> 10 млн кожен). Я хочу використовувати файлову систему ext4, чи є якісь пропозиції?

mkfs.ntfs:
    /dev/sdb4             421G   78M  421G   1% /mnt/mmedia

mkfs.ext4:
    /dev/sdb4             415G  199M  393G   1% /mnt/mmedia
                       (415G - 199M == 393G ?)

Також дивно, що розмір ext4 - 393G, чи не 415G чи 414G? Що сталося з зниклим 22G? Порівняно з NTFS, ext4 спожив 6,6% загального простору, це справді велика справа.

Питання:

  1. Для чого в основному використовується 6G для журналу, надмірності чи індексації?
  2. Чому залишився простір 393G не 415G? Є 22G отвір, який досить великий.
  3. Які параметри ви б порадили, якщо цей розділ ext4 використовується для зберігання відеофайлів / музичних файлів? Кажуть, що ext4 працює краще, ніж ext3 для великих розділів, це правда? Я не повернуся до ext2, який не є журналом.

Відповіді:


8

Для чого в основному використовується 6G для журналу, надмірності чи індексації?

(Ще невідомо.)

Чому залишився простір 393G не 415G? Є 22G отвір, який досить великий.

Це 5% зарезервованих блоків для суперпользователя, який використовується для уникнення фрагментації. Ви можете налаштувати його до 1% на mkfs.ext4 -m 1.

Які параметри ви б порадили, якщо цей розділ ext4 використовується для зберігання відеофайлів / музичних файлів?

Ви можете вказати параметр використання для mkfs.ext4, наприклад, mkfs.ext4 -T large_fileце дозволить mkfs.ext4 визначати параметри для розділів, що містять великі файли.


1
6G буде для списків inode.
Сірекс

1
Зарезервовані блоки також обмежують вплив атаки Denial Of Service, коли постійні користувачі заповнюють диск до того моменту, коли файли журналів більше не можуть записуватися. Зарезервований простір принаймні дасть кореневі журнали, достатні для того, щоб зловити порушника.
MSalters

Мій /etc/mke2fs.conf говорить про параметри "bigfile" та "bigfile4" для -T, а не "big_file".
user1338062

4
  1. 6 Гб - це введення. значення за замовчуванням ext4 до 1/64 (1,56%) для входів, кожен 256B; тому можна заповнити 16 КБ файлів
  2. Наявний простір df виключає простір, зарезервований для root, 5% за замовчуванням, використовуйте tune2fs -m
  3. mkfs.ext4 -m 0 -N 4000000 / dev / будь-який # переформатування, 0 зарезервовано, 4 мільйони входів використовує 1 Гб
  4. ext4 fsck набагато швидше, ніж ext3; крім цього ви не помітите жодної різниці

Кожному файлу / dir потрібно 1 inode. Ви не можете змінити кількість входів після створення файлової системи ext. Навіть 1000000 inode було б достатньо для цього розділу, якщо ви будете використовувати його лише для фільмів та музики.

Таблиця головних файлів NTFS (MFT) трохи гнучкіша, тому NTFS за замовчуванням може переповнювати більше даних.

Єдина вагома причина використовувати NTFS в Linux - це обмін файлами з Windows. Він буде працювати нормально для медіа, але не має різних функцій UNIX, тому не підходить для загальних цілей в Linux. Не збирайте на ньому!


Each inode 256B, so can fill with 16KB filesВи маєте на увазі, що в кожному inode є 16K-256 = 16128 вільних байт?
Xiè Jìléi

1
Я маю на увазі, якщо ви використовуєте 1/64 пристрою для таблиць inode, а кожен inode - 256B, то ви отримуєте один inode на 16KB пристрою ... насправді це 1 inode на 15,75KB решти пристрою, але досить близько. Отже, у вас достатньо вкладень, щоб заповнити весь диск на 16 КБ файлів. Якщо ви очікуєте, що файли мають набагато більший розмір, наприклад, відео, ви можете зробити менше вкладень і заощадити на пристрої можливо кілька Гб.
Сем Уоткінс

3

Так, це акуратна маленька тема. Кожна файлова система по-різному реалізує свої структури даних. Щось акуратне ви можете спробувати - це форматування розділу з різними файловими системами та порівняння. «Вільний» простір буде відрізнятися. Крім того, коли ви заповнюєте їх, різниця в накладних обсягах зберігання, і в певному сенсі, скільки місця потрібно для зберігання одного і того ж файлу, МОЖЕ різнитися залежно від файлової системи. Зазвичай, коли ви форматуєте файлову систему, ви також можете вибрати деякі параметри того, як вона буде впорядкована - це також має вплив.

Відповідь на ваше запитання - одна з таких відповідей "це залежить" . Я думаю, що загалом 6/400 ГБ не є жахливою дисперсією, але, справді, це помітно. Все-таки простір для зберігання стає все дешевшим і дешевшим. Але я думаю, що файлові системи, напевно, стають важчішими, оскільки ми хочемо в них більше фантазійних функцій. Я підозрюю, що ext2 є досить білим, ніж ext4. Мені було б цікаво побачити деякі реальні номери на цьому. Звичайно, ця "ефективність" виходить за ціною (найбільша з них - це те, що вона не зафіксована і тим самим швидша І легше псується).

Що стосується того, чому ext4 займає більше місця в цьому випадку, я вважаю, що ваші сховища пам’яті на NTFS були встановлені для адреси вашого простору набагато більших блоків, ніж ваші параметри ext4, для яких вимагається. Якщо це правда, тоді ви повинні отримати більш ефективне використання пам’яті, якщо у вас є багато відносно невеликих файлів.

Досить сказати, вся тема продовжується і продовжується. Якщо ви хочете отримати додаткову інформацію, я б запропонував переглянути різні сторінки вікіпедій, де порівнюються файлові системи там. А також переглянути підручні сторінки для кожного FS, який вас цікавить.

Сподіваюсь, ви вважаєте це корисним.


1

Зарезервовані суперблоки - це одне, але зовсім не та сума, про яку йдеться. Зміна зарезервованих суперблоків не відображається в "загальному доступному просторі" .. це не змінюється. Це кількість вкладень x їх розмір. На ext4 за замовчуванням очікуйте щось на зразок 256 байтів на індез та 400 Гб , Я здогадуюсь, mkfs.ext4, можливо, зробить ~ 25-30 мільйонів. Використовуйте dumpe2fs -h, щоб побачити фактичне число. Це складає 6 Гб, яких вам не вистачає, а не зарезервовані блоки, на яких хтось працює. (Наприклад, inode- підрахунок x розмір inode b / 1024 ^ 3) ГБ.

Підозрюваний df -h, який я підозрюю, може мати певну кульгавість; p Спробуйте це зробити ще раз і вкажіть половину своїх i-вузлів (Ви можете сміливо робити це, і навіть більше, якщо ви сміливі), але майте на увазі, що багато каталогів можуть змушує вас не вистачати вкладки перед простором.

Напр. ext4 резервує декілька 93-4?) індексів у каталозі, припускаючи, що ви маєте намір зберігати більше ніж один або два файли, і, таким чином, роблячи його більш ефективним. Якщо у вас є 1 мільйон папок з 1 мільйоном файлів у них, у вас буде не вистачати вкладів на цій макеті waaay, перш ніж у вас фактично не вистачить місця. Зазвичай вставки використовуються лише в межах декількох відсотків місця, але вони можуть досягати 35%, тому поділ на два досить безпечний для користувачів настільних ПК, але не робити більше, щоб бути захищеним.

Ось приклад:

415 Гб RAW (dev / sdb1 скажіть) mkfs.ext4 -m0 -Ndefault # / 2 -Lext4-1 -O obseg, dir_index, large_file, sparse_super, uninit_bg / dev / sdb1

параметри допоможуть для великих файлів / розділів із засобами масової інформації. uninit_bg призначений для останніх ядер. Це розміщено навіть у тому випадку, якщо воно старе для майбутніх читачів.

Маліна Саліна


0

У мене була (повна) файлова система ntfs, що містила близько 1000 ГБ даних із лише кількома сотнями мегабайт безкоштовно. Навіть якщо форматована ємність ext4 була набагато меншою, ніж ntfs, я пам’ятаю, що коли я копіював все, у мене все-таки було близько 70 Гб безкоштовно на ext4, навіть якщо форматована ємність була меншою. (Пам'ятайте, що ntfs було повно). Я не можу пообіцяти, що це станеться з вами, але принаймні для файлів, у яких я був ext4, було справжньою економією простору! :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.