# tune2fs -m 3 /dev/mapper/rootили
# tune2fs -m 3 /dev/sda3Вместо 5% в резерв оставляем 3%, а высвободившееся место остаётся доступным для использования. На больших разделах 5% может быть существенным объёмом. Очень хочется этот резерв сразу поставить в 0 и использовать весь доступный объём. Сделать это можно так:
# tune2fs -m 0 /dev/sda3Сам так не делаю никогда и вам не рекомендую. Хотя бы 1% я всегда оставляю. Но чаще всего именно 3%, если уж совсем место поджимает. Меня не раз и не два выручал этот резерв.
Вторым приёмом для защиты от переполнения диска может быть использование файла подкачки в виде обычного файла в файловой системе, а не отдельного раздела. Я уже не раз упоминал, что сам всегда использую подкачку в виде обычного файла в корне, так как это позволяет гибко им управлять, как увеличивая в размере, так и ужимая, когда не хватает места.
Создаём swap размером в гигабайт и подключаем:
# dd if=/dev/zero of=/swap bs=1024 count=1000000# mkswap /swap# chmod 0600 /swap# swapon /swapЕсли вдруг решите, что своп вам больше не нужен, отключить его так же просто, как и подключить:
# swapoff -a# rm /swapТретьим вариантом страховки в случае отсутствия свободного места на разделе является заранее создание пустого файла большого объёма.
# fallocate -l 10G /big_fileПри его удалении, высвобождается место, которое позволит временно вернуть работоспособность системе и выполнить необходимые действия.
Может показаться, что это какие-то умозрительные примеры. Но на деле я много раз сталкивался с тем, что кончается место на сервере по той или иной причине, и службы на нём встают. А надо, чтобы работали. Пока разберёшься, что там случилось, уходит время. Я сначала добавляю свободное место из имеющихся возможностей (swap или резерв ext4), а потом начинаю разбираться. Это даёт возможность сразу вернуть работоспособность упавшим службам, а тебе несколько минут, чтобы разобраться, в чём тут проблема. Обычно это стремительно растущие логи каких-то служб.
#linux