Админские блоги Юрца

Простое лимитирование дискового пространства Linux

Задача интересная и актуальная, дело в том, что допустим есть в офисе файло-помойка по самбе - в ней папки с ФИО юзеров, каждый в ней что-то хранит, но в скором времени место на винте начнет заканчиваться, кто-то видяшки кидает, кто-то документы по работе, кто-то музыку хранит, опять же все это бэкапить - смерти подобно. По этому можно выделить каждому юзеру определенный размер дискового пространства - чтобы он его берег и хранил только нужное. Можно это делать спомощью квот в линукс, но можно и не много проще - создать образ жесткого диска нужного объема и смонтировать в папку юзера.

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

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

И так начнем - определимся, где будем хранить файлы образов и запилим туда образ жесткого диска нужного объема:

dd if=/dev/zero of=/home/yurec/disk/galya.fs bs=1G count=2

Данная команда создает образ объемом 2 гигабайта

Далее создаем файловую систему:

mkfs.ext4 /home/yurec/disk/galya.fs

И наконец монтируем образ в папку пользователя:

mount -t ext4 -o loop /home/yurec/disk/galya.fs /home/yurec/documents/Галина

Разумеется не забываем дать права на изменение файла образа и папки юзера, иначе пользователь туда ни чего не запишет.

Так же последнюю команду рекомендую добавить в файл /etc/rc.local для того, чтобы при перезагрузке сервера - оно монтировалось автоматически.