Быстрое объединение нескольких файлов в Linux

Я использую многопроцессорность Python для создания временного файла вывода для каждого процесса. Они могут быть размером в несколько гигабайт, и я делаю их несколько десятков. Эти временные файлы необходимо объединить, чтобы сформировать желаемый результат, и этот шаг оказывается узким местом (и убийцей параллелизма). Существует ли инструмент Linux, который будет создавать объединенный файл, изменяя метаданные файловой системы, а не копировать содержимое? Пока он работает в любой системе Linux, которая мне подходит. Но решение, специфичное для файловой системы, не сильно поможет.

Я не обучен ОС или CS, но теоретически кажется, что можно создать новый индексный дескриптор и скопировать структуру указателя индекса из индексного дескриптора файлов. Я хочу скопировать, а затем отключить эти inodes. Есть какая-нибудь утилита, которая это сделает? Учитывая избыток хорошо продуманных утилит unix, я полностью ожидал, что это будет, но ничего не нашел. Отсюда мой вопрос о SO. Файловая система находится на блочном устройстве, фактически на жестком диске, если эта информация имеет значение. Я не уверен, что могу написать это самостоятельно, поскольку я никогда раньше не занимался программированием системного уровня, поэтому любые указатели (на фрагменты кода C / Python) будут очень полезны.

12
задан san 5 May 2011 в 07:25
поделиться