Почему существует разница в размерах между HFS + и ext4?

Недавно я установил NFS-сервер на своем сервере Ubuntu, и в настоящее время я в процессе переноса моих файлов с жестких дисков HFS + на ext4. Однако я столкнулся с проблемой, когда на принимающем диске (в формате ext4) не хватает места до завершения передачи. Оба диска являются внешними USB-накопителями емкостью 2 ТБ, а принимающий диск был недавно отформатирован, поэтому на нем ничего не должно быть.

Мне известно, что размер блока по умолчанию для ext4 равен 4 КБ, и, как и ожидалось, сравнение

du /media/[Receiving Drive]/*
du --apparent-size /media/[Receiving Drive]/*

показывает, что большинство (если не все) файлы используют дополнительные 4 КБ на диске. На диске HFS +, который я, к сожалению, уже отформатировал в ext4, поэтому я не смогу получить какую-либо информацию, было чуть более 12 ГБ свободного места, однако, исходя из текущего использования диска ext4 и количества файлов, которые я я уже перенесен, мне не хватает более 200 ГБ места!

Я абсолютно не знаю, откуда возникает это несоответствие, поскольку самое большее добавление 4K к каждому отдельному файлу будет значительно меньше 1 ГБ, намного меньше 200.

Оба диска теперь отформатированы как ext4 с таблицей разделов GUID, и дисковая утилита показывает, что между ними существует разница в ~ 700 МБ (еще одна загадка).

Достаточно сказать, что я застрял. Есть предложения?

2
задан 14 February 2014 в 20:46

1 ответ

При настройках по умолчанию ext4 выделяет один инод на 16 386 байт, а инод равен 256 байт, поэтому на диске 2 ТБ, который использует ~ 32 ГБ для таблиц инодов. Вы можете уменьшить это, когда форматируете с помощью опции -T largefile, заданной для mkfs.ext4, но если у вас много маленьких файлов, у вас может не хватить inode, и вы больше не сможете создавать, даже если есть свободное место. Если большинство ваших файлов меньше половины мегабайта, это не должно быть проблемой.

Другое дело, что по умолчанию 5% пространства зарезервировано и не может быть захвачено обычными пользователями. На вашем диске 2 ТБ, что составляет 100 ГБ. Вы можете отключить это с помощью sudo tune2fs /dev/sdXX -m 0 (где / dev / sdXX - рассматриваемый диск / раздел), но, как правило, не рекомендуется заполнять диск выше 95%, так как это может привести к фрагментации.

0
ответ дан 14 February 2014 в 20:46
  • 1
    Я очень отказывался попробовать это, из-за предыдущего опыта с собственными драйверами, но он действительно работал. Вы могли добавить, ссылка туда, где кто-то видит, какой драйвер для который адаптер? – Bruni 9 September 2015 в 12:51

Другие вопросы по тегам:

Похожие вопросы: