Высвобождение резервных блоков






В файловых системах ext2/¾ по умолчанию определённое количество блоков резервируется для того, чтобы в случае полного заполнения ФС суперпользователь смог войти в систему и вы полнить очистку диска. Идея отличная, только проблема в том, что количество резервируемых блоков вычисляется в процентах, то есть чем больше размер создаваемой ФС, тем больше места будет отхвачено в резерв. На заре создания файловой системы ext2 жесткие диски обладали небольшим объёмом, но сейчас, когда 1 терабайт уже — «норма жизни», просто так отдать 5% пространства «на всякий случай» — не очень экономное решение. В сегодняшней небольшой заметке речь пойдёт о том, как умерить аппетиты системы и освободить из резерва десяток-другой гигабайт.


Несомненно, системе резервные блоки нужны, ведь всякое бывает. Другой вопрос в том где и сколько. Под «где» имеется ввиду тот момент, что например, для отдельно монтируемого /home быть может и вовсе смысла нет резервировать сколько бы то ни было. В любом случае, прежде чем что-либо менять, необходимо выяснить текущее состояние файловой системы и определить количество зарезервированного пространства. В моих примерах я буду работать с разделом ext3, расположенном на устройстве /dev/sda3 и смонтированном к /home. Сперва при помощи утилиты tune2fs выясним текущее положение дел:

Итак, видим что зарезервировано 3687408 блоков. Теперь узнаем, каков размер блока в ФС:

Итого получается: 3687408 * 4096 = 15103623168 байт = 14404 мегабайта. Неслабо, правда? Посмотрим сколько сейчас доступно на ФС по версии df, чтобы позже сравнить:

Теперь можно приступать к «умериванию аппетитов». ФС можно не размонтировать и все операции проводить «на лету». Количество резервных блоков можно задать в процентах, либо в непосредственно в блоках, кому как удобнее. Для задания количества в процентах используется ключ '-m'. Сократим часть  резервных блоков до одного процента:

Посмотрим теперь вывод df:

12 гигабайт — получите, распишитесь! Вообще, оставлять хоть сколько места в резерве в /home лично я смысла не вижу и поэтому сокращаю количество резервных блоков до нуля. При помощи опции '-r' вы можете указать утилите tune2fs точное число блоков, которые хотите оставить в резерве. Ноль — очень хорошее число в данной ситуации :)

И снова проверим вывод df:

Ещё плюс три гигабайта, которые, как известно, лишними не бывают.

Конечно же, я не советую поступать подобным образом с ФС, на которых располагаются /root и /tmp, особенно на серверах. Никто ни от чего не застрахован и у вас всегда должна быть возможность войти в систему суперпользователем. Даже если свободного места на диске — ноль.




Высвобождение резервных блоков: 2 комментария

  1. после переустановки системы эти настройки сохранятся для отдельного раздела /home или заново их применять?

  2. Miroslav, количество резервных блоков хранится в метаданных ФС, поэтому если вы ваш /home не создавали заново, а оставили, то конечно же ничего заново делать не нужно.

Комментарии запрещены.