RSS

Quota dyskowa dla użytkowników

28 Czer

Od kiedy mój serwer stał się serwerem ogólnodostępnym dla klientów zaczęło brakować miejsca na dysku. Prośby o usuwanie starych danych na nic się mają i dochodzi do sytuacji że zaczyna brakować miejsca. Jak wiadomo, nie ważne ile damy zasobów do wykorzystania, użytkownicy zawsze wykorzystają do końca te zasoby. W takiej sytuacji z pomocą przychodzi narzędzie który nazywa się quota.

Limity dyskowe (ang. Disk Quotas) to mechanizmy obecne w nowoczesnych systemach operacyjnych, pozwalając zarządzać wykorzystaniem przez użytkowników zasobów dyskowych.

Systemy operacyjne Linux udostępniają tę funkcję od wersji jądra 2.2. Quoty są funkcją jądra (kernela) systemu Linux więc koniecznym jest do korzystania z kwot posiadanie wkompilowanej w jądro ich obsługi oraz korzystanie ze współczesnych systemów plików. Dodatkowo niezbędnym jest odpowiednie oprogramowanie. Funkcja ta pozwala na przydzielanie użytkownikom jak i grupom pewnych ilości jednostek alokacji i i-węzłów, z których mogą korzystać. Quota wraz z innymi funkcjami systemu pozwala automatycznie reagować na możliwość przekroczenia przydzielonych limitów przez użytkowników lub grupy.

Źródło Wikipedia

Instalacja i konfiguracja pod Ubuntu:
# apt-get update
# apt-get install quota

Kolejnym krokiem będzie wybranie partycji na której mają być nałożone ograniczenia. W tym celu edytujemy plik /etc/fstab i odnajdujemy interesującą nas partycję. Wszystkie kroki jakie przeprowadzam na potrzeby tego wpisu są robione na maszynie wirtualnej i w moim przypadku partycją na jakiej zdecydowałem się założyć ograniczenia jest /dev/sda1. Plik /etc/fstab otwieramy ulubionym edytorem tekstu i dodajmy wpis usrquota. Dla partycji /dev/sda1 wygląda to tak:
proc /proc proc defaults 0 0
UUID=9d8c07e0-b800-4134-a944-d26fa9535abb / ext3 relatime,usrquota,errors=remount-ro 0 1
UUID=27ebf60e-8f98-481f-83e2-fddebf0cfd29 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Po dopisaniu odpowiednich wpisów do fstab musimy przemontować partycje na których dokonaliśmy zmian lub zrestartować komputer. Jeżeli chcemy żeby qouty ładowały się za każdym razem kiedy będzie uruchamiany system musimy dodać odpowiedni wpis do /etc/rc.local , jest nim polecenie które aktywuje quoty :
quotaon -avp

Należy zwrócić uwagę, że w tej chwili każdy z naszych użytkowników dysponuje własną, indywidualnie przydzielaną przez nas quotą dyskową. Quotę dla użytkownika lub grupy ustalamy poprzez polecenie edquota. Jeżeli nie ustawimy im quot to dysponują taką przestrzenią na jaką dana partycja pozwala.
Ustalamy przestrzeń dyskową dla użytkownika qwe o wielkości 5MB, w tym celu wydajemy polecenie
edquota -u qwe

Limity dyskowe user qwe (uid 1001):
System plików bloki miękki twardy i-węzły miękki twardy
/dev/sda1 20 10 5000 5 0 0

* bloki – obecna przestrzeń dyskowa użyta przez usera
* miękki – „miękki” limit zajętych bloków z wyłączeniem tzw. grace time, czyli czasu pobłażliwości
* twardy – ostateczny limit zajętości bloków, grace time nie liczy się.

A teraz test na przykładzie próby ściągnięcia pliku o wielkości 50MB przez tego usera :
Free Image Hosting at www.ImageShack.us

I możemy spać spokojnie że nikt nam nie zapcha dysku na serwerze ;]

Reklamy
 
Dodaj komentarz

Opublikował/a w dniu Czerwiec 28, 2009 w linuks, Linux, ubuntu

 

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: