Tmpfs: различия между версиями

Материал из ALT Linux Wiki
м (→‎Проблемы: ссылка)
м (→‎Использование: link pam_mktemp)
Строка 26: Строка 26:
   prefix=~:/tmp/.private
   prefix=~:/tmp/.private


что даёт возможность помимо домашнего использовать и конфигурируемый автоматически при использовании <tt>pam_mktemp</tt> частный каталог <tt>$TMP</tt> (<tt>/tmp/.private/$USER</tt>).
что даёт возможность помимо домашнего использовать и конфигурируемый автоматически при использовании <tt>[[pam_mktemp]]</tt> частный каталог <tt>$TMP</tt> (<tt>/tmp/.private/$USER</tt>).


== Проблемы ==
== Проблемы ==
Известны [http://lists.altlinux.org/pipermail/devel/2006-April/125129.html проблемы со стабильностью] даже той условной сохранности данных, которая декларируется tmpfs; так, при существенной нагрузке на VM во времена 2.6.18 могли наблюдаться невоспроизводимые (случайные) пропадания файлов и сбой сборки по этой причине. К выходу Server 4.0 часть таких проблем была исправлена, но при странностях следует попробовать воспроизвести сборку на реальной ФС (или выполнить несколько прогонов на tmpfs и оценить воспроизводимость места сбоя).
Известны [http://lists.altlinux.org/pipermail/devel/2006-April/125129.html проблемы со стабильностью] даже той условной сохранности данных, которая декларируется tmpfs; так, при существенной нагрузке на VM во времена 2.6.18 могли наблюдаться невоспроизводимые (случайные) пропадания файлов и сбой сборки по этой причине. К выходу Server 4.0 часть таких проблем была исправлена, но при странностях следует попробовать воспроизвести сборку на реальной ФС (или выполнить несколько прогонов на tmpfs и оценить воспроизводимость места сбоя).

Версия от 16:35, 23 февраля 2009


Что это и зачем?

tmpfs — файловая система, предназначенная для быстрого и ненадёжного хранения временных данных. Организовывается в виртуальной памяти (RAM+swap), поэтому при отмонтировании, перезагрузке или выключении теряет содержимое полностью. Не озадачивается долетанием данных до пластин в случае использования свопа на дисках, поэтому работает быстрее настоящих ФС даже в случае активного использования диска.

Подходит, например, для /tmp и сборок ПО.

Создание

Предполагает наличие достаточного объёма виртуальной памяти (для активного использования рекомендуется RAM, а своп — желательно на отдельном диске).

Без опции size файловая система конфигурируется на объём, равный половине RAM (при этом эта часть не резервируется, а используется по мере надобности, так что дефолт вполне разумный).

В дистрибутивах ALT Linux 4.0 и выше /tmp по умолчанию размещается на tmpfs, поэтому может быть достаточно создать при установке (или добавить позже) своп необходимого[1] объёма, указать в /etc/fstab желаемый размер tmpfs:

 tmpfs /tmp tmpfs size=3g,nosuid 0 0

и перемонтировать ФС:

 mount -o remount /tmp

Использование

Использование tmpfs для сборки предполагается hasher-priv из 4.0/branch и выше — /etc/hasher-priv/system «из коробки» содержит следующую настройку допустимых префиксов рабочего каталога:

 prefix=~:/tmp/.private

что даёт возможность помимо домашнего использовать и конфигурируемый автоматически при использовании pam_mktemp частный каталог $TMP (/tmp/.private/$USER).

Проблемы

Известны проблемы со стабильностью даже той условной сохранности данных, которая декларируется tmpfs; так, при существенной нагрузке на VM во времена 2.6.18 могли наблюдаться невоспроизводимые (случайные) пропадания файлов и сбой сборки по этой причине. К выходу Server 4.0 часть таких проблем была исправлена, но при странностях следует попробовать воспроизвести сборку на реальной ФС (или выполнить несколько прогонов на tmpfs и оценить воспроизводимость места сбоя).

  1. Для личного hasher может быть достаточно одного-двух гигабайт; для создания DVD при помощи mkimage — восемь-десять; для многопользовательского случая соответственно умножаем.