Зарезервированное пространство для корня в файловой системе - почему?

Можно извлечь просто текст к стандартному выводу с -p опция:

unzip -p myarchive.zip path/to/zipped/file.txt >file.txt

Это не извлечет метаданные (дата, полномочия, …), только содержание файла. Это - цена для оплаты за удобство не необходимости переместить файл впоследствии.

С другой стороны, смонтируйте архив как каталог и просто скопируйте файл. С AVFS:

mountavfs
cp -p ~/.avfs"$PWD/myarchive.zip#"/path/to/zipped/file.txt .

Или с zip предохранителя:

mkdir myarchive.d
fuse-zip myarchive.zip myarchive.d
cp -p myarchive.d/path/to/zipped/file.txt .
fusermount -u myarchive.d; rmdir myarchive.d

108
02.08.2014, 23:57
4 ответа

Оставление свободного места для важных корневых процессов (и возможные спасательные действия) является одной причиной.

Но существует другой. Ext3 довольно хорош в предотвращении фрагментации файловой системы, но после того как Вы добираетесь выше полных приблизительно 95%, то поведение падает с утеса, и внезапно производительность файловой системы становится путаницей. Так отъезд зарезервированных 5% дает Вам буфер против этого.

Ext4 должен быть лучше в этом, как объяснил разработчик/гуру файловой системы Linux Theodore Ts'o:

Если Вы обнулите зарезервированное количество блока, то оно не будет влиять на производительность очень кроме того, если Вы будете работать в течение долгих промежутков времени (с большим количеством файла, создает и удаляет), в то время как файловая система почти полна (т.е. скажите выше 95%), в которой точке Вы подвергнетесь проблемам фрагментации. Средство выделения мультиблока Ext4 является намного большим количеством стойкой фрагментации, потому что это пытается намного тяжелее найти непрерывные блоки, поэтому даже если Вы не активируете другие ext4 опции, то Вы будете видеть лучшие результаты, просто монтирующие ext3 файловую систему с помощью ext4, прежде чем файловая система станет абсолютно полной.

Если Вы будете просто использовать файловую систему для долгосрочного архива, где файлы не изменяются очень часто (т.е. огромный mp3 или видеомагазин), это, очевидно, не будет иметь значения.

105
27.01.2020, 19:29
  • 1
    Как отмечено по superuser.com/a/1257550/38062, эти "90%-е" и "95%-е" числа возникают в измерениях против Беркли FFS, сделанный в 1980-х. В десятилетия с тех пор, другие люди бросили вызов этой часто повторенной полученной мудрости. –  JdeBP 08.11.2017, 14:43

Если Вы позволяете другим входить в свою систему, через ssh, например, резервирование эти 5% блоков гарантирует, что внешние пользователи не могут заполнить диск. Даже если Вы не позволяете другим входить в свою систему, зарезервированные блоки предотвращает программы, не работающие как корень от заполнения Вашего диска.

45
27.01.2020, 19:29
  • 1
    спасибо за это, действительно боролся, с которым ответом отметить как корректный - отвечают на upvoted, поскольку это было первым и точечным на, mattdm's, отмеченный как корректное из-за дополнительного фона и детали, которая помогла мне понять "Почему" больше. –  suitedupgeek 24.02.2011, 18:35

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

Это также дает Вам некоторое пространство для работы с тем, когда пользователи жалуются, что диск полон, или сервисы начинают перестать работать, потому что файловая система полна. Например, Вы могли заархивировать некоторые файлы прочь в архивы zip/gz/7zip прежде, чем удалить их (хотя, если файловая система была абсолютно полна, возможности - Вы, имеют некоторую другую файловую систему, доступную, в котором Вы могли создать архивный файл вместо этого).

5% были значением по умолчанию в течение долгого времени от спины, когда диски были намного меньшими (десятки мегабайтов скорее затем сотни гигабайтов), таким образом, 5% не были всем так очень. К счастью это может легко быть настроено вниз на меньший процент, как Вы говорите или устанавливаете на определенное количество блоков, если Вы используете tune2fs -r опция вместо -m. В обоих случаях можно дать параметр 0 для выключения резервирования полностью - я не сделал бы этого для /, /tmp, /var и т.д, но Вы могли бы хотеть для файловой системы, которая только действует как пользовательское устройство хранения данных (скажите, что глобальная доля файла) или та, которая просто содержит файлы фиксированного размера (как фиксированный измерил VMs), который только вырастет, когда Вы создадите новый.

22
27.01.2020, 19:29

Значение по умолчанию 5% предназначено для системных разделов. Например, если Ваше дисковое пространство заполняется, системные журналы (/var/log) и почтовый ящик корня (/var/mail/root) может все еще получить важную информацию. Для a /home или общий раздел хранения данных, нет никакой потребности оставить любое пространство для корня. Для особых потребностей можно изменить пользователя, который получает чрезвычайное пространство (tune2fs -u 1234).

Существует другая причина не позволить расширению [234] файловая система становиться полным, который является фрагментацией.

22
27.01.2020, 19:29

Теги

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