Создают ли очень большие файлы проблемы в современных файловых системах? - PullRequest
1 голос
/ 28 мая 2020

Я разрабатываю приложение, которое использует несколько больших двоичных файлов - в диапазоне от 1 ГБ до 25 ГБ. Приложение будет работать в основном на серверах и, возможно, на мощном / современном настольном ПК P C. Я мог бы (а) разделить эти большие файлы, чтобы они всегда были меньше 4 ГБ, или (б) просто хранить вместе в одном файле.

Файловые системы FAT32 допускают размер файлов только до 4 ГБ . Если я не разделю файлы, их нельзя будет использовать в системах FAT32.

Нужно ли мне беспокоиться о разделении этих файлов ?

Это приложение всегда будет работать на достаточно современном оборудовании. Существуют ли современные серверы, которые могут использовать FAT32? Существуют ли какие-либо другие облачные файловые системы, которые имеют значительные ограничения на размер файлов? (например, файловая система AWS Elasti c вполне подойдет, поскольку позволяет использовать отдельные файлы размером до 47 ТБ ).

Ответы [ 5 ]

4 голосов
/ 04 июня 2020

Вы можете хранить файлы любого размера, но есть один большой вопрос. Вам нужно переместить или скопировать эти файлы?

Если нет, то я не вижу проблемы. Огромные файлы базы данных, файлы подкачки и файлы образов виртуальных машин работают нормально. Если файлы нужно копировать, перемещать и выгружать, я бы разделил их.

Первое копирование, перемещение, выгрузка, загрузка и резервное копирование обычно основаны на файлах. Есть некоторые инструменты, которые могут разбивать файлы на части и восстанавливать файлы по частям, но вам придется искать их. Выгрузка и выгрузка могут быть c проблематичными, так как передача иногда прерывается, а большинство инструментов просто не поддерживают возобновление.

0 голосов
/ 10 июня 2020

Хранение 4-25 ГБ не должно быть проблемой даже на относительно старом оборудовании, файловые системы, такие как ntfs и ext2, которые существуют с 90-х годов, не имеют проблем при работе с файлами такого размера, на самом деле это довольно нормально для видеопроизводства. компании для хранения сырых видеофайлов размером до нескольких 100 ГБ в файловых системах ext4 / ntfs. (если я правильно помню, теоретический предел для современных файловых систем превышает 1 ТБ)

При этом, если вы не собираетесь очень часто читать из файлов, вы можете разбить свои файлы на несколько частей, чтобы облегчить их хранение и перемещение. Копирование больших файлов может быть проблемой.

Единственный реальный вариант использования fat32, с которым вы, вероятно, столкнетесь, - это USB-диски fla sh.

0 голосов
/ 10 июня 2020

Если ваша файловая система находится в SAN с репликацией и / или моментальным снимком, распределенные изменения в разных областях вашего файла могут создать нагрузку на хранилище.

В любой современной файловой системе файлы размером> 100 ГБ не являются редкостью . Даже копирование файла такого размера по сети не является проблемой c, пока сеть стабильна и работает быстро.

Хуже, если у вас много маленьких файлов в каталоге. Различные FS обрабатывают огромное количество файлов по-разному, и всегда есть выбор инструментов для доступа к каталогу с таким количеством файлов.

0 голосов
/ 10 июня 2020

FAT32 - это файловая система, разработанная в 1977 .

Чтобы ответить на ваш вопрос, следует ли поддерживать FAT32, взгляните на эти похожие вопросы:

  • Должна ли моя домашняя страница поддерживать Inte rnet Explorer 1.0?
  • Почему Windows 10 не поддерживает программы DOS?
  • Будет ли последняя версия Firefox работать на Windows 98?

Итак, ответ прост: не поддерживайте FAT32. Если вы обнаружите файловую систему FAT32, попросите пользователя изменить ее.


Давайте посмотрим на современную файловую систему, например ext4 или NTFS .

Поддерживают огромные файлы. Так что нет необходимости в разделении.


Вы также можете рассмотреть возможность использования файловой системы вообще.

Вы можете использовать раздел фиксированного размера или весь диск.

Это даст вам лучшую производительность, потому что ваши данные не фрагментированы.

Но размер вашего «файла» фиксирован.

0 голосов
/ 04 июня 2020

По моему опыту, не рекомендуется использовать FAT32, если вы имеете дело с файлами размером более 4 ГБ. Fat32 хранит 32-битный размер, поэтому ограничение составляет

2^32-1 ~= 4.29e9. 2^32-1 bytes = 4GB - 1 byte

Я рекомендую использовать exFat, если вы предпочитаете толстую файловую систему.

см .: Технические характеристики, функции и требования файловой системы exFAT включают: ограничение размера файла в 16 эксбибайт (264-1 байта, или около 1019 байтов, что в противном случае ограничено максимальным размером тома 128 ПиБ или 257-1 байтов), увеличенное с 4 ГиБ (232-1 байта) в стандартная файловая система FAT32

Так что, если вы не хотите ограничиваться FAT32, я рекомендую использовать exFat.

Или, если вы собираетесь делать это с помощью облачных вычислений, это хорошо для использования выделенного экземпляра AWS EC2 или Lambda для использования по запросу.

...