Linux
May 27, 2020

Освобождение пяти процентов раздела ext4, зарезервированного под нужды root

Вот, что называется, «век живи — век учись!»… Сколько времени уже пользуюсь Линуксом, а об одной особенности файловой системы ext4 (ext3) узнал только пару дней назад…

Оказывается, системой при разбивке диска резервируется под нужды root-пользователя пять процентов раздела… Если диск невелик, то толку от этих нескольких десятков мегабайт не особо много, а если у вас большой HDD, тогда зарезервированное место может вылиться в несколько гигабайт (а то и в несколько десятков гигабайт)…

Если при установке Linux вы не особо задумывались над разбитием диска на несколько разделов, то дальше можно не читать, ибо «ликвидировать» скрытое от юзерских глаз зарезервированное для рута пространство на корневом разделе крайне не рекомендуется — «если звезды зажигают, то ведь это кому-нибудь нужно». 🙂 Учитывая, что во все разделы, кроме /home то и дело что-то пишет суперпользователь, освобождаться от резерва имеет смысл только на разделе, выделенном отдельно для /home или на тех, что выделены под файлохранилища — root туда писать вряд ли что-то будет, а гигабайты на этих дисках лишними не бывают…

Для чего вообще зарезервировано это пространство? Объясняю. Если ваш диск заполняется на все 100%, то система может просто впасть в состояние ступора, ведь демоны или другие системные приложения начинают судорожно искать участок диска, куда бы записывать свои журналы и файлы состояний, а места на диске нет. В такой ситуации система может просто напросто «упасть». Вот тут-то и включаются эти зарезервированные пять процентов — система начинает писать необходимые файлы туда до того момента. пока не освободится место на основном разделе…

Однако, разработчиками предусмотрена возможность отказаться от этого резервирования — как я уже говорил, смысл это имеет лишь в случае с отдельными разделами, выделенными под /home или файлопомойку. Ну а для системных разделов, если они у вас довольно объемные, можно эту величину (5%) сократить, например, до двух-трех…

Делается это так:

sudo tune2fs -m 2 /dev/sda1

где /dev/sda1 — раздел с системными файлами (например, корень системы или папка /var и т.п.), а tune2fs -m 2 — команда, позволяющая сократить «бронь для рута» до двух процентов (за это отвечает цифра «2»…

Ну а для раздела с /home или файлового хранилища используем ноль:

sudo tune2fs -m 0 /dev/sda3

Эта команда позволила мне получить дополнительно около 15 Гб свободного места без ущерба для системы 🙂 Чего и вам желаю!